高级自定义字段 - 设置另一篇文章的发布对象

问题描述:

我一直在试图解决这个问题几天了。我希望有人能帮助我。高级自定义字段 - 设置另一篇文章的发布对象

基本上,我想要做的是:

  1. 在创建后(要约)
  2. 创建另一篇文章(回顾)
  3. 当创建审查
  4. 更新要约的评论后对象关系

我目前拥有的代码是:

add_action('transition_post_status', 'create_review', 10, 3); 
function create_review($new, $old, $post) { 

    if (($new == 'publish') && ($old == 'draft') && ($post->post_type == 'ebs_offer')) { 

     //when new offer is created 
     //create a review post 
     $review_post = array(
     'post_type' => 'ebs_review', 
     'post_title' => get_field('ebs_brand_name', $post->ID), 
     'post_content' => 'Content Goes Here', 
     'post_status' => 'publish', 
     'post_author' => 1, 
     ); 

     // Insert the post into the database 
     wp_insert_post($review_post); 


    } else { 
     return; 
    } 

     if (($new == 'publish') && ($old == 'draft') && ($post->post_type == 'ebs_review')) { 

     //when new review is created 
     //update the offer post object relationship 


    } else { 
     return; 
    } 


} 

这工作正常,我只是无法弄清楚如何更新提供的后对象关系。我曾试过大量不同的钩子和函数,然后才有人说我的代码没有显示我试图自己解决这个问题 - 我有!

我已经剥离了我的代码,以便有人可能只是能够指向正确的方向。

谢谢你们!

解决!

对于具有相同问题的人,你可以使用:

update_field($ FIELD_NAME,$后,$后你想做某些更新-ID);

要更新。

传递整个$ post数组来更新后期对象。

希望这可以帮助别人。

add_action('transition_post_status', 'create_review', 10, 3); 
function create_review($new, $old, $post) { 

    if (($new == 'publish') && ($old == 'draft') && ($post->post_type == 'ebs_offer')) { 

     //when new offer is created 
     //create a review post 

     global $offer_post_id; 
     $offer_post_id = $post->ID; 

     // Create post object 
     $review_post = array(
     'post_type' => 'ebs_review', 
     'post_title' => get_field('ebs_brand_name', $post->ID), 
     'post_content' => 'Content Goes Here', 
     'post_status' => 'publish', 
     'post_author' => 1, 
     ); 

     // Insert the post into the database 
     wp_insert_post($review_post); 


    } 

    if (($new == 'publish') && ($old == 'new') && ($post->post_type == 'ebs_review')) { 

     //when new offer is created 
     //link the review page to the offer 
     global $offer_post_id; 
     update_field('ebs_review_link', $post, $offer_post_id); 

    } else { 
     return; 
    } 


}