在简短描述下方添加短代码并限制按 woocommerce 产品标签显示

问题描述 投票:0回答:1

我找到了一个代码,可以在 woocommerce 产品的简短描述下方添加短代码。但我希望它仅显示具有指定标签的产品。有什么办法可以做到这一点吗? 谢谢!

add_filter('woocommerce_short_description','ts_add_text_short_descr');
function ts_add_text_short_descr($description){
   $text = do_shortcode('[my-shortcode]');
  return $description.$text;
}

我为带有 VIP 标签的产品尝试了此代码,但它不起作用

add_filter('woocommerce_short_description', 'ts_add_text_short_descr');
function ts_add_text_short_descr($description) {
    global $product;   


    // Check if the product has a "VIP" tag
    $product_tags = wp_get_post_terms($product->get_id(), 'product_tag');
    $has_vip_tag = false;
    foreach ($product_tags as $tag) {
        if ($tag->slug === 'vip') {
            $has_vip_tag = true;
            break;
        }
    }

    // If the product has the tag "VIP", add the shortcode
    if ($has_vip_tag) {
        $text = do_shortcode('[my-shortcode]');
        return $description . $text;
    } else {
        return $description;
    }
}
woocommerce shortcode
1个回答
0
投票

您可以使用 WordPress

has_term()
条件函数来简化代码,以检查产品是否具有特定术语,例如:

add_filter('woocommerce_short_description','ts_add_text_short_descr');
function ts_add_text_short_descr($description){
    global $post;

    if ( has_term( 'vip', 'product_tag' ) ) {
        return $description . do_shortcode('[my-shortcode]');
    }
    return $description;
}

应该可以。

© www.soinside.com 2019 - 2024. All rights reserved.