2017-06-28 87 views
0

我嘗試更改已保存的和絃圖項目的作者,但是這些功能似乎無法正常工作 - 我認爲是空白。當我設置恆定值的作者ID一切正常。設置已保存帖子的作者作爲其父帖子作者

$parent_post_id = wp_get_post_parent_id($post_id); 

    $post_author_id = get_post_field('post_author', $post_id); 

這裏是全功能

function func_auto_update_post_author($post_id) { 
    $post_type = get_post_type($post_id); 

if ("harmonogram" != $post_type) return; 

    //$parent_post_id = get_queried_object_id(); 
    $parent_post_id = wp_get_post_parent_id($post_id); 

    $post_author_id = get_post_field('post_author', $parent_post_id); 
     $my_post = array(
      'ID'   => $post_id, 
      'post_author' => $post_author_id, 
     ); 

     remove_action('save_post', 'func_auto_update_post_author'); 
     wp_update_post($my_post); 
     add_action('save_post', 'func_auto_update_post_author'); 
} 
add_action('save_post', 'func_auto_update_post_author'); 
+0

_「空我想」_--不要「想」 - _verify_。使用'var_dump'來查看你的變量實際包含的內容。 – CBroe

回答

0

嘗試下面的代碼:

function func_auto_update_post_author($post_id) 
{ 
    $post_type = get_post_type($post_id); 
    if ("harmonogram" != $post_type) return; 
    $parent_post_id = wp_get_post_parent_id($post_id); 
    if($parent_post_id) 
    { 
     $post_author_id = get_post_field('post_author', $parent_post_id); 
     $my_post = array(
      'ID'   => $post_id, 
      'post_author' => $post_author_id 
     ); 
     wp_update_post($my_post); 
    } 
} 
add_action('save_post', 'func_auto_update_post_author'); 

如果之後的更新中出現通過把下面的代碼在上述行動掛鉤的任何錯誤,你可以跟蹤:

$post_id = wp_update_post($my_post, true);       
if (is_wp_error($post_id)) { 
    $errors = $post_id->get_error_messages(); 
    foreach ($errors as $error) { 
     echo $error; 
    } 
} 

希望這無線幫助!

相關問題