在Woocommerce中检查产品类别的产品

时间:2019-01-27 23:39:36

标签: php wordpress woocommerce product custom-taxonomy

我想在创建(或更新)WooCommerce产品发布后立即检查其类别,然后根据该类别运行更多代码。

要检查有关创建/更新的信息,我使用了save_post和类别has_categoryhas_category出问题了,它根本不返回任何内容。我尝试按照其他问题中的建议将$post_id替换为$post$post->ID,但这并没有改变。

function doFruitStuff($post_id){ // Function in functions.php
    $fruits = 'fruits';
    if(has_category($fruits, $post_id)){
    echo "<script type='text/javascript'>alert('has the category');</script>";
}else{
    echo "<script type='text/javascript'>alert('doesnt have the category');</script>";
}}
add_action('save_post', 'doFruitStuff');

我使用has_category的方式有误还是WooCommerce产品类别的工作方式不同吗?

我曾经在JavaScript警报中调试过,对此感到抱歉。 任何帮助表示赞赏。

1 个答案:

答案 0 :(得分:2)

  

您不能使用has_category()的Wordpress功能检查Woocommerce产品类别

注意:产品类别是Woocommerce使用的自定义分类法。

因此,您需要通过以下方式将has_term()与Woocommerce产品类别结合使用:

add_action('save_post', 'do_fruit_stuff');
function do_fruit_stuff( $post_id ){
    $terms = array('fruits');
    if( has_term( $terms, 'product_cat', $post_id ) ){
        echo "<script type='text/javascript'>alert('has the product category');</script>";
    }else{
        echo "<script type='text/javascript'>alert('doesnt have the product category');</script>";
    }
}

代码进入您的活动子主题(或活动主题)的function.php文件中。经过测试,可以正常工作。

注意:用于Woocommerce产品类别的自定义分类法是“ product_cat”。


相关线程: