WordPress:将主题标签添加到 category-slugname

WordPress: Add a hashtag to the category-slugname

我正在尝试找到 删除 的解决方案,例如http://website/drinks/,然后 在 categories-slugname 的开头添加 标签,例如#coffee.

现状:

<ul>
<li class="cat-item-1"><a href="http://website/drinks/coffee/">Coffee</a></li>
<li class="cat-item-2"><a href="http://website/drinks/tea/">Tea</a></li>
</ul>

期望的情况:

<ul>
<li class="cat-item-1"><a href="#coffee">Coffee</a></li>
<li class="cat-item-2"><a href="#tea">Tea</a></li>
</ul>


该解决方案必须编码在我的 WordPress 主题的 functions.php 中。我不是编码大师,但我找到了一种在 URL.

末尾添加哈希的方法
add_filter('wp_list_categories', 'filter_categories', 10, 2);

function filter_categories($output, $args=array()){
      return preg_replace('/(\<a\shref=\"?[^\>]+?)\"/', '#"', $output);
}

输出:

<ul>
<li class="cat-item-1"><a href="http://website/drinks/coffee/#">Coffee</a></li>
<li class="cat-item-2"><a href="http://website/drinks/tea/#">tea</a></li>
</ul>

不幸的是,这偏离了我想要的情况...有人可以帮我吗?

试试这个:

add_filter('wp_list_categories', function($html, $args) {

    $pattern = '/https?:\/\/([^\/]+)\/([^\/]+)\/?/';

    $html = preg_replace($pattern, '#', $html);

    return preg_replace('/\/["\']/', '"', $html);

}, 10, 2);