2017-06-14 13 views
0

私はこの問題を数日間は解決しようとしています。誰かが私をここで助けてくれることを願っています!高度なカスタムフィールド - 別の投稿の投稿オブジェクトを設定する

基本的に、私がやろうとしていることである:

ポストが作成され
  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; 
    } 


} 

これはうまくいきますが、オファーの投稿オブジェクトの関係を更新する方法がわかりません。誰もが自分のコードで自分自身で解決しようとしていることを示していないと言う前に、私はさまざまなフックや機能を試しました。

誰かが私を正しい方向に向けることができるように、コードを削除しました。

ありがとうございました!

答えて

0

解決済み!

同じ問題を持つ人のために、あなたが使用することができます。

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; 
    } 


} 
関連する問題