使用WordPress 5.5,主题作者现在将能够轻松过滤存档页面标题,因此他们可以使用自己的HTML标记。
以前,现有的get_the_archive_title
挂钩仅限于过滤存档页面上使用的整个标题字符串。一些贡献者指出,此过滤器不够具体,无法满足所有主题开发人员对存档页面标题相关的需求。
此次对 get_the_archive_title()
更改中,将内部$title
变量拆分为 $title
和 $prefix
。
通过使用新的 get_the_archive_title_prefix
过滤钩子,前缀现在可以包装在自定义元素中或完全删除。
基本示例
get_the_archive_title_prefix
可用于过滤存档页面标题前缀。它仅接受一个参数$prefix
,这是一个包含标题的文本前缀的字符串。
要将存档标题前缀替换为另一文本,请使用:
function mytheme_archive_title_prefix( $prefix ){
$prefix = __( 'Currently viewing archives for:', 'my-theme' );
return $prefix;
}
add_filter( 'get_the_archive_title_prefix', 'mytheme_archive_title_prefix' );
要完全删除存档标题前缀,请使用:
add_filter( 'get_the_archive_title_prefix', '__return_empty_string' );
此更改还将标题部分包装为一个 span
元素,并将原始标题和前缀传递给现有 get_the_archive_title
过滤器,从而允许对存档标题进行进一步的自定义。
该过滤器传递以下参数:
$title
:要显示的存档标题$original_title
:无前缀的存档标题$prefix
:存档标题前缀
这是一个使用示例:
function mytheme_get_the_archive_title( $title, $original_title, $prefix ) {
$prefix = '<span class="archive-prefix">' . __( 'Currently viewing archives for:', 'my-theme' ) . '</span>';
$title = '<span class="archive-title">' . $original_title . '</span>';
return $prefix . $title;
}
add_filter( 'get_the_archive_title', 'mytheme_get_the_archive_title', 10, 3 );
有关此更改的完整说明,请参见相关的页面:#31237,#38545和#42768。
来源:
https://www.wpdaxue.com/filtering-archive-pages-headings-in-wordpress-5-5.html