使用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 );