проверьте, обновляет ли wordpress или публикует публикацию


Очень простой вопрос: Как я могу проверить, когда wp выполняет обновление или публикацию публикации? Потому что я должен проверить значение postmeta, которое может быть истинным только в том случае, если сообщение действительно публикуется, и поэтому оно не должно уже присутствовать в системе. Например, если (определено ('DOING_AUTOSAVE') &&DOING_AUTOSAVE) определено, когда wp выполняет автосохранение. Есть ли что-нибудь подобное, когда он делает обновление? Спасибо!!

Хорошо, итак

add_action('save_post', 'fields_news_save');
function fields_news_save($post_id){
$errors = false;
       if(get_check_key($_POST['checks_news'])==0){
    $errors = true;     
    update_option('custom_token', $errors);
    update_option('custom_admin_errors', $txt_err=error_text($errors, 2));

    remove_action('save_post','fields_news_save');
    wp_update_post(array('ID' => $post_id, 'post_status' => 'draft'));
    add_action('save_post', 'fields_news_save');

    return false;
}
}

"если" предложение проверяет, есть ли значения мета-сообщений, установленные как $_POST['checks_news'], и это функция, которая выполняет запрос: function get_check_key($checker){ global $wpdb; $data = array(); $wpdb->query(" SELECT * FROM $wpdb->wp_postmeta WHEREмета_значение= $checker; "); return $wpdb->num_rows; }

Теперь то, что я хотел бы сделать, это "если" в начале проверяет, равно ли количество строк 0, И wp выполняет публикацию, а не обновление.

Author: Tony, 2012-02-22

2 answers

Я избегаю этой проблемы, просто проверяя, существует ли идентификатор сообщения в базе данных.

get_post($id)==NULL

Наверное, это самый простой способ сделать то, что мне нужно.

 1
Author: Tony, 2012-02-23 17:30:16

Если вам нужно выполнить действие, когда выполняется действие "опубликовать публикацию", "сохранить публикацию" или "черновик публикации" , просто добавьте обратный вызов к соответствующему крючку действия , т. Е. publish_post, save_post, или draft_post.

Если вам необходимо выполнить действие во время перехода сообщения из одного статуса в другой , то вы можете использовать соответствующий крючок перехода статуса сообщения .

 0
Author: Chip Bennett, 2012-02-23 14:26:29