在创建Woocommerce属性后更新ACF字段



我有一组依赖于日历的产品(课程)。

日历由post类型date生成,该post类型具有ACF字段date_startassociated_product

逻辑是;用户创建一个post类型Date,该Date向关联产品的属性pa_dates添加一个属性项。

我已经钩住了save_post,到目前为止一切顺利,属性被写入到产品中。

然后我需要将日期字段复制到创建的术语$term_set,这部分没有产生任何东西。(我需要这个日期来订购我产品中的条款)

部分问题是我无法询问变量,因为这一切都发生在一个无法打印输出的钩子中。(我试过fwrite,但没有结果)

// Add terms on Date save.
function add_terms_to_date($post_ID)  {
if ('date' !== get_post_type() ) {
return;
} else {
$product_id = get_field('associated_product',$post_ID);
$term_name = get_the_title($post_ID); 
$taxonomy = 'pa_dates';
$term_set = wp_set_post_terms( $product_id, $term_name, $taxonomy, true );
// up to here, works fine.
// now need to identify that term ($term_set)
// Then I need to write copy the date field to its ACF field in my Date attribute
$selector = "term_date_start"; // the ACF field in the term
$date_start = get_field('date_start', $post_ID); // the date field to be copied
$value = $date_start; 
// This next line caused the issue leading to the question so is commented out
// update_field($selector, $value, $term_set); 
// and this line is correct
update_field($selector, $value, $taxonomy."_".$term_set); 
}
}
add_action('save_post', 'add_terms_to_date');

所以,复杂的问题,简单的答案。

最后一行应为;

update_field($selector, $value, $taxonomy."_".$term_set); 
为了避免与post id (RTFM)混淆,ACF有一个不同的系统来标识术语。($taxonomy来自前一行,是pa_dates)

我已经编辑了上面的帖子,希望它能对某人有所帮助。

相关内容

  • 没有找到相关文章

最新更新