web-dev-qa-db-fra.com

Mise à jour de postmeta parent lorsque l'enfant post_status change

J'ai un statut personnalisé = terminé. Je souhaite définir automatiquement quand le statut de l'enfant après la mise à jour est "terminé". le postmeta de leurs parents change également.

voici mon code:

 add_action('save_post', 'update_status_parent_when_completed');
function update_status_parent_when_completed(){

        /** Ensure this is the correct Post Type*/
        if($post_type !== 'screening')
        return;

        if ($post->post_status == 'completed'){

            $parent_id = get_the_ID($post->post_parent);
            update_post_meta($parent_id, 'screening_status', 'screen');

        }
    }

mais rien ne se passe avec parent_post. S'il vous plaît enseignez-moi la bonne façon.

1
Muhammad Ibrahim

De WP 3.7, vous avez la possibilité de vous connecter directement au crochet save_post pour votre type de message.

Par exemple:

function update_post_parent_status_on_complete( $post_id ) {
    if(!isset($post))
      $post = get_post($post_id);

    // checking the status you want and also that has a parent
    if ($post->post_status == 'completed' && $post->post_parent !=0 ){
        $parent_id = $post->post_parent;
        update_post_meta($parent_id, 'screening_status', 'screen');
    }
}

add_action('save_post_screening', 'update_post_parent_status_on_complete');
0
Drupalizeme