您没有使用正确的钩子和正确的方式…相反,当产品在销售时,可以try 以下方法,即在产品名称(和产品名称)everywhere上添加后缀,而不需要不断更新产品名称:
add_filter( 'the_title', 'change_product_title', 10, 2 );
function change_product_title( $post_title, $post_id ) {
if( get_post_type($post_id) === 'product' ) {
$product = wc_get_product($post_id);
if( is_a($product, 'WC_Product') && $product->get_sale_price() > 0 ) {
$post_title .= ' NET';
}
}
return $post_title;
}
add_filter( 'woocommerce_product_variation_get_name', 'change_product_name', 10, 2 );
add_filter( 'woocommerce_product_get_name', 'change_product_name', 10, 2 );
function change_product_name( $name, $product ) {
if ( $product->get_sale_price() > 0 ){
$name .= ' NET';
}
return $name;
}
代码位于您的子主题的unctions.php文件中(或在插件中).经过测试,效果良好.
您将需要删除"网络"从您的产品名称在管理.