it-swarm.com.de

Post-Meta-Parent aktualisieren, wenn post_status child geändert wird

Ich habe benutzerdefinierten Status = abgeschlossen. Ich möchte automatisch festlegen, wann der Aktualisierungsstatus des untergeordneten Beitrags "abgeschlossen" ist. Das Post-Meta ihrer Eltern ändert sich ebenfalls.

hier mein 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');

        }
    }

aber nichts passiert mit parent_post. Bitte lehre mich den richtigen Weg.

1

Ab WP 3.7 haben Sie die Möglichkeit, den Hook save_post direkt für Ihren post_type einzuhängen.

Zum Beispiel:

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