web-dev-qa-db-fra.com

vérifier si wordpress met à jour ou publie un message

Question très simple: Comment puis-je vérifier si wp fait une mise à jour ou une publication sur un message? Parce que je dois vérifier une valeur postmeta qui ne pourrait être vraie que si la publication est en train d'être publiée et qu'elle ne doit donc pas être déjà présente dans le système. Par exemple. if (défini ('DOING_AUTOSAVE') && DOING_AUTOSAVE) est défini lorsque wp effectue une sauvegarde automatique. Y at-il quelque chose comme ça quand il fait une mise à jour? Je vous remercie!!

d'accord alors

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;
}
}

La clause "if" vérifie s'il existe des méta-post-valeurs définies comme suit: $ _POST ['checks_news'] et c'est la fonction qui effectue la requête: function get_check_key($checker){ global $wpdb; $data = array(); $wpdb->query(" SELECT * FROM $wpdb->wp_postmeta WHEREmeta_value= $checker; "); return $wpdb->num_rows; }

Maintenant, ce que je voudrais faire est le "si" au début vérifie si le nombre de lignes est 0 et wp fait une publication pas une mise à jour.

1
Tony

J'évite le problème en vérifiant simplement si l'ID de la publication existe déjà dans la base de données.

get_post($id)==NULL

C'est probablement la façon la plus simple de faire ce dont j'ai besoin.

1
Tony

Si vous devez exécuter une action lorsqu'une action "publier un message", "enregistrer un message" ou "brouillon de message" est en cours , ajoutez simplement un rappel au fichier approprié crochet d'action , c'est-à-dire publish_post, save_post ou draft_post.

Si vous devez exécuter une action lors de la transition d'une publication d'un statut à un autre , vous pouvez utiliser le point d'ancrage approprié . .

0
Chip Bennett