高级自定义字段 - 设置另一篇文章的发布对象
问题描述:
我一直在试图解决这个问题几天了。我希望有人能帮助我。高级自定义字段 - 设置另一篇文章的发布对象
基本上,我想要做的是:
- 在创建后(要约)
- 创建另一篇文章(回顾)
- 当创建审查
- 更新要约的评论后对象关系
我目前拥有的代码是:
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;
}
}