【发布时间】:2019-08-04 13:42:29
【问题描述】:
我开始期待 WooCommerce 中内置了一些“更新功能”,它只能让我暂时重命名变体 post_title。然后它又回到了钩子/WooCommerce 的决定?
我想以编程方式将“(取消)”之类的后缀添加到特定变体中。
$new_title = get_the_title( $variationid ) . ' (Cancelled)';
wp_update_post(array('ID' =>$variationid, 'post_title' => $new_title));
这只会“挂”一会儿......
我尝试禁用此挂钩,然后更改标题,但仍然被覆盖。
add_filter( 'woocommerce_product_variation_title_include_attributes', '__return_false' );
有什么方法可以让 WooCommerce 停止覆盖变体的标题?
我的解决方案基于@LoicTheAztec 的回答,使用基于我的自定义帖子状态“已取消”的逻辑。
add_filter( 'woocommerce_product_variation_title', 'filter_product_variation_title_callback', 10, 4 );
function filter_product_variation_title_callback( $variation_title, $product, $title_base, $title_suffix ) {
$id = $product->get_id();
$status = get_post_status($id);
if ($status == 'cancelled'){
return $variation_title . ' (' . __("Cancelled", "woocommerce") . ')';
} else {
return $variation_title;
}
}
【问题讨论】:
标签: php wordpress woocommerce custom-taxonomy variations