【问题标题】:Display New Badge Woocommerce If In New Category如果在新类别中,则显示新徽章 Woocommerce
【发布时间】:2019-02-21 21:23:00
【问题描述】:

我需要在存档页面上为产品显示“新”徽章,但仅适用于“新”类别中的产品

add_action( 'woocommerce_after_shop_loop_item_title', 'lottie_new_badge', 40 );

function lottie_new_badge($badge) {
global $product;

if (has_term ('new')) {
    echo '<p>New</p>';
}
return $badge;
}

得到此代码但无法正常工作,将几位代码混合在一起尝试使其工作但没有运气。

【问题讨论】:

    标签: php wordpress woocommerce hook-woocommerce taxonomy-terms


    【解决方案1】:

    has_term() 函数与 Woocommerce 产品类别一起使用时缺少参数。此外,当您使用动作挂钩时,不需要$badge,也不必像在过滤器挂钩中那样返回。因此,请尝试以下方法:

    add_action( 'woocommerce_after_shop_loop_item_title', 'display_lottie_new_badge', 40 );
    function display_lottie_new_badge() {
        global $product;
    
        if ( has_term ( array('new'), 'product_cat', $product->get_id() ) ) {
            echo '<p class="new">New</p>';
        }
    }
    

    代码进入您的活动子主题(或活动主题)的 function.php 文件中。它应该可以工作。

    【讨论】:

      猜你喜欢
      • 2020-05-19
      • 2019-08-07
      • 2022-01-02
      • 1970-01-01
      • 2018-10-16
      • 2014-07-29
      • 2019-03-04
      • 2019-12-24
      • 2019-05-29
      相关资源
      最近更新 更多