Woocommerce 将 # 添加到标签

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

现在在产品页面上我有这种类型的标签:

<span class="tagged_as">All tags: <span class="tagged_as">
<a href="" rel="tag">000</a>, 
<a href="" rel="tag">100</a>, 
<a href="" rel="tag">200</a>, 
<a href="" rel="tag">300</a>, 
<a href="" rel="tag">400</a>, 
<a href="" rel="tag">500</a>, 
<a href="" rel="tag">600</a>, 
<a href="" rel="tag">700</a>
</span></span>

我需要像这样添加

<span>#</span>

<span class="tagged_as">All tags: <span class="tagged_as">
<a href="" rel="tag"><span>#</span>000</a>, 
<a href="" rel="tag"><span>#</span>100</a>, 
<a href="" rel="tag"><span>#</span>200</a>, 
<a href="" rel="tag"><span>#</span>300</a>, 
<a href="" rel="tag"><span>#</span>400</a>, 
<a href="" rel="tag"><span>#</span>500</a>, 
<a href="" rel="tag"><span>#</span>600</a>, 
<a href="" rel="tag"><span>#</span>700</a>
</span></span>

我试过了,但没用

function custom_product_tag_output( $tag_list ) {
    // Если теги есть, добавляем символ "#" перед каждым тегом
    if ( $tag_list ) {
        // Используем регулярное выражение для добавления символа "#" перед каждым тегом
        $tag_list = preg_replace_callback(
            '/(<a[^>]+>)(.*?)(<\/a>)/',
            function($matches) {
                return $matches[1] . '<span>#</span>' . $matches[2] . $matches[3];
            },
            $tag_list
        );
        // Добавляем обертку div
        $tag_list = '<span class="tagged_as">' . $tag_list . '</span>';
    }

    return $tag_list;
}
add_filter( 'woocommerce_product_tag_list', 'custom_product_tag_output', 10, 1 );
php wordpress woocommerce taxonomy-terms
1个回答
0
投票

请注意,钩子

woocommerce_product_tag_list
不存在,并且单个产品页面中的产品标签列表没有可用的过滤器钩子。

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