カスタムステータス=完了です。子供の投稿の更新ステータスが「完了」になったら自動的に設定します。両親のポストメタも変わります。
ここに私のコード:
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');
}
}
しかし、parent_postでは何も起こりません。正しい方法を教えてください。
WP 3.7からpost_typeに直接save_post
フックにフックするオプションがあります。
例えば:
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');