今天给一客户修改主题遇到了一个问题,客户需要我将一处翻译成中文,心想直接去主题文件中改吧,找了好久才发现这块用的the_archive_title钩子。
the_archive_title这个钩子是wordpress 4.1添加的。wordpress 的归档种类有 N 多种,日期、分类、标签、文章形式等…… 而这个不起眼的函数却可以帮你节省不少归档模板上的逻辑处理。
PHP">the_archive_title( '' );
这里简单记录下如何更改,第一想到的是到wp-includes/general-template更改get_the_archive_title(),不过这样就懂了wordpress的核心文件了,考虑了下还是没有修改,于是用了第二个方法。在调用这个钩子的文件里新建一个一样的钩子如下
PHP">add_filter( 'get_the_archive_title',function ($title) {
if ( is_category() ) {
$title = single_cat_title( '<a href="/tag/zidingyi/" target="_blank" class="keywords">自定义</a><a href="/tag/mingcheng/" target="_blank" class="keywords">名称</a>或空出',false );
} elseif ( is_tag() ) {
$title = single_tag_title( '<a href="/tag/zidingyi/" target="_blank" class="keywords">自定义</a><a href="/tag/mingcheng/" target="_blank" class="keywords">名称</a>或空出',false );
} elseif ( is_author() ) {
$title = '<span class="vcard">' . get_the_author() . '</span>' ;
}
return $title;
});
这时调用的就是你增加的钩子了。完美解决。。。
还有一种方法就是换其他的钩子
PHP">single_term_title()