从前端检测新添加的产品以在 Woocommerce 中设置产品类别
Detecting a new added product from front end to set a product category in Woocommerce
我正在为 Woocommerce 使用一个名为 Booster plus 的插件,它使我能够通过前端的表单添加产品,
但我需要将此表格的每个产品作为特定类别提交
所以我必须检测新产品何时添加并更新类别(覆盖插件)
代码如下:
add_action('transition_post_status', 'new_product_add', 10, 3);
function new_product_add($new_status, $old_status, $post) {
if(
$old_status != 'publish'
&& $new_status == 'publish'
&& !empty($post->ID)
&& in_array( $post->post_type,
array( 'product')
)
) {
$term = get_term_by('name', 'فروش پیج اینستاگرام', 'product_cat');
wp_set_object_terms($product_ID, $term->term_id, 'product_cat');
}
}
第一部分运行好的,我的意思是检测何时从前端发布新产品
但是更新分类失败,它自动将分类设置为我创建的第一个分类
任何帮助将不胜感激。
问题是 $product_id
没有定义,应该用 $post->ID
代替
我正在为 Woocommerce 使用一个名为 Booster plus 的插件,它使我能够通过前端的表单添加产品, 但我需要将此表格的每个产品作为特定类别提交 所以我必须检测新产品何时添加并更新类别(覆盖插件)
代码如下:
add_action('transition_post_status', 'new_product_add', 10, 3);
function new_product_add($new_status, $old_status, $post) {
if(
$old_status != 'publish'
&& $new_status == 'publish'
&& !empty($post->ID)
&& in_array( $post->post_type,
array( 'product')
)
) {
$term = get_term_by('name', 'فروش پیج اینستاگرام', 'product_cat');
wp_set_object_terms($product_ID, $term->term_id, 'product_cat');
}
}
第一部分运行好的,我的意思是检测何时从前端发布新产品
但是更新分类失败,它自动将分类设置为我创建的第一个分类
任何帮助将不胜感激。
问题是 $product_id
没有定义,应该用 $post->ID
代替