是否可以更改_CATEGORY()返回的任何HTML/URL

时间:2015-09-17 作者:wilsonf1

我发现这是我的一个主题文件:

<?php the_category( \' \' ) ?>
理想情况下,我希望将整个内容包装在一个函数中,并替换一些正在输出的URL,但我似乎根本无法影响输出:

<?php updateToPerfectURLs(the_category( \' \' )); ?>
最终,我想更改为我的分类页面创建的URL的wordpress ic。而且它超出了您可以使用类别基础设置所做的。。。。

1 个回复
最合适的回答,由SO网友:Pieter Goosen 整理而成

我不知道你为什么需要这个,或者你在这里的确切用例是什么,但简而言之,the_category() 只需回显get_the_category_list() 其中使用get_category_link() 其中使用get_term_link() 获取类别页面的URL。

如果需要更改链接到类别页面的URL,您应该在这里查看。在里面get_term_link(), 有一个term_link filter 可用于更改为特定术语/类别返回的URL

return apply_filters( \'term_link\', $termlink, $term, $taxonomy );
因此,如果需要更改category 分类法,您可以尝试以下代码(NOTE: 代码未经测试

add_filter( \'term_link\', function ( $termlink, $term, $taxonomy )
{
    // Check if we have the correct term and taxonomy, if not, bail early
    if (    $term->term_id != 1 // Check if current term is 1 or not
         && $taxonomy != \'category\' // Check if the current term is from the taxonomy category
    )
        return $termlink;

    // If we came to this point, we have the desired term and taxonomy, so lets alter the URL
    // Here should be the code to construct your new URL, you need to work on this
    $termlink = \'VALUE_OF_NEW_URL\'; // This will be the new URL our term to link to its term page

    return $termlink;
}, 10, 3 );

相关推荐

Div-Wrap with Functions.php in ChildTheme Using Shorcode!

我只想为一个简单样式的DIV包装器创建一个短代码。在WordPress的网站上,我想添加如下内容:[quotehead]Headline text[/quotehead] ...a normal blockquote from wordpress... 输出应为:<div class=\"block_header\">Headline text</div> 我的内部功能functions.php (在childtheme中)包含以下内容:/**