在WordPress 5.5+中如何过滤存档页面标题

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

微信公众号
手机浏览(小程序)
0
分享到:
没有账号? 忘记密码?