WordPress 移除归档页面的“分类:”

下面是编程之家 jb51.cc 通过网络收集整理的代码片段。编程之家小编现在分享给大家,也给大家做个参考。

今天有朋友问了一个问题,如何移除归档页面分类或标签名称前面的“分类:”和“标签:”,如下图:

首先,我们要先了解这两个字是通过什么函数调用出来的,在比较正规的主题中,一般会用以下代码在归档页面输入标题:

<?php the_archive_title( '<h1 class="page-title">','</h1>' ); ?>

而这个 the_archive_title() 函数的代码为:

function the_archive_title( $before = '',$after = '' ) {

$title = get_the_archive_title();

 

if ( ! empty( $title ) ) {

echo $before . $title . $after;

}

}

可以看到,调用的是 get_the_archive_title() 的内容,我们再来看看这个 get_the_archive_title() 的代码:

function get_the_archive_title() {

if ( is_category() ) {

/* translators: Category archive title. %s: Category name */

$title = sprintf( __( 'Category: %s' ),single_cat_title( '',false ) );

} elseif ( is_tag() ) {

/* translators: Tag archive title. %s: Tag name */

$title = sprintf( __( 'Tag: %s' ),single_tag_title( '',false ) );

} elseif ( is_author() ) {

/* translators: Author archive title. %s: Author name */

$title = sprintf( __( 'Author: %s' ),'<span class="vcard">' . get_the_author() . '</span>' );

} elseif ( is_year() ) {

/* translators: Yearly archive title. %s: Year */

$title = sprintf( __( 'Year: %s' ),get_the_date( _x( 'Y','yearly archives date format' ) ) );

} elseif ( is_month() ) {

/* translators: Monthly archive title. %s: Month name and year */

$title = sprintf( __( 'Month: %s' ),get_the_date( _x( 'F Y','monthly archives date format' ) ) );

} elseif ( is_day() ) {

/* translators: Daily archive title. %s: Date */

$title = sprintf( __( 'Day: %s' ),get_the_date( _x( 'F j,Y','daily archives date format' ) ) );

} elseif ( is_tax( 'post_format' ) ) {

if ( is_tax( 'post_format','post-format-aside' ) ) {

$title = _x( 'Asides','post format archive title' );

} elseif ( is_tax( 'post_format','post-format-gallery' ) ) {

$title = _x( 'Galleries','post-format-image' ) ) {

$title = _x( 'Images','post-format-video' ) ) {

$title = _x( 'Videos','post-format-quote' ) ) {

$title = _x( 'Quotes','post-format-link' ) ) {

$title = _x( 'Links','post-format-status' ) ) {

$title = _x( 'Statuses','post-format-audio' ) ) {

$title = _x( 'Audio','post-format-chat' ) ) {

$title = _x( 'Chats','post format archive title' );

}

} elseif ( is_post_type_archive() ) {

/* translators: Post type archive title. %s: Post type name */

$title = sprintf( __( 'Archives: %s' ),post_type_archive_title( '',false ) );

} elseif ( is_tax() ) {

$tax = get_taxonomy( get_queried_object()->taxonomy );

/* translators: Taxonomy term archive title. 1: Taxonomy singular name,2: Current taxonomy term */

$title = sprintf( __( '%1$s: %2$s' ),$tax->labels->singular_name,single_term_title( '',false ) );

} else {

$title = __( 'Archives' );

}

 

/**

  * Filters the archive title.

  *

  * @since 4.1.0

  *

  * @param string $title Archive title to be displayed.

  */

return apply_filters( 'get_the_archive_title',$title );

好长一段代码,注意看倒数第二行代码为:

return apply_filters( 'get_the_archive_title',$title );

此处应用了一个过滤钩子,也就是我们可以通过这个钩子修改 get_the_archive_title() 的内容,从而实现修改 the_archive_title() 输出的内容。要实现刚才我们说的去掉归档页面的 “分类:”和“标签:”,可以使用下面的代码:

function my_theme_archive_title( $title ) {

if ( is_category() ) {

$title = single_cat_title( '',false );

} elseif ( is_tag() ) {

$title = single_tag_title( '',false );

} elseif ( is_author() ) {

$title = '<span class="vcard">' . get_the_author() . '</span>';

} elseif ( is_post_type_archive() ) {

$title = post_type_archive_title( '',false );

} elseif ( is_tax() ) {

$title = single_term_title( '',false );

}

 

return $title;

}

 

add_filter( 'get_the_archive_title','my_theme_archive_title' );

将该代码添加到当前使用的主题的 functions.php 文件即可。

以上是编程之家(jb51.cc)为你收集整理的全部代码内容,希望文章能够帮你解决所遇到的程序开发问题。如果觉得编程之家网站内容还不错,欢迎将编程之家网站推荐给程序员好友。

相关文章

我想将wordpress的默认接口路由改掉,愿意是默认的带一个 wp...
wordpress自定义分类法之后,我看到链接都自动在后面添加了一...
事情是这样的,我用 get_post_type 函数创建了一个自定义分类...
最近网站莫名其妙的被顶上了,过一个多小时,就注册一个账号...
最近服务器要到期了,就想着把网站转移到另外一台服务器,本...
今天在写wordpress的接口,然后碰到个奇怪的问题,怎么访问都...