【问题标题】: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 文件中。它应该可以工作。