现在在产品页面上我有这种类型的标签:
<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 );
请注意,钩子
woocommerce_product_tag_list
不存在,并且单个产品页面中的产品标签列表没有可用的过滤器钩子。