• 重庆福彩南分中心启动初级销售员评级考试 2019-06-01
  • 这是全国精气最为集中的地方 被称为中国丹田所在 ——凤凰网房产 2019-05-25
  • 世卫组织更新《国际疾病分类》 游戏成瘾列入精神疾病 2019-05-25
  • 国内 —频道 春城壹网 七彩云南 一网天下 2019-05-19
  • 安徽军工集团控股有限公司 2019-05-19
  • 西藏昌都:大棚温泉藏鸡蛋“一村一品”成脱贫攻坚重头戏 2019-05-14
  • 资本大佬甚至哀叹,进不了股市成了人生最大失败[木乃伊] 2019-05-12
  • 光明日报评论员:坚持推动构建人类命运共同体 2019-05-12
  • 光明地产进入怡心湖板块,十陵流拍“扶不起”? ——凤凰网房产成都 2019-04-14
  • 【両会】第13期全人代第1回会議、北京で閉幕 2019-04-07
  • 广州市第十五届人大常委会第十四次会议第一次全体会议 2019-04-07
  • 世界很多国家想拥有核弹,但迫于种种原因而没能实现。 2019-04-05
  • 【改革印记——看中国发展】记录“轨道上的京津冀”成长 2019-04-04
  • “日啖荔枝三百颗”:千万别,大量进食会引发低血糖 2019-04-04
  • 戴斌:旅游开发需更多文化自信 2019-03-18
  • 沃鹏科技
    织梦dedecms模板制作仿站(含手机)+安全防护教程

    青海有没有海:WordPress 移除归档页面的“分类:”,即自定义the_archive_title输出

    Loading
    0
    《LINUX就该这么学》运维人员必学的LINUX系统自学手册

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

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

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

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

    1
    2
    3
    4
    5
    6
    7
    
    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() 的代码:

    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
    17
    18
    19
    20
    21
    22
    23
    24
    25
    26
    27
    28
    29
    30
    31
    32
    33
    34
    35
    36
    37
    38
    39
    40
    41
    42
    43
    44
    45
    46
    47
    48
    49
    50
    51
    52
    53
    54
    55
    56
    57
    58
    59
    
    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 archive title' );
            } elseif ( is_tax( 'post_format', 'post-format-image' ) ) {
                $title = _x( 'Images', 'post format archive title' );
            } elseif ( is_tax( 'post_format', 'post-format-video' ) ) {
                $title = _x( 'Videos', 'post format archive title' );
            } elseif ( is_tax( 'post_format', 'post-format-quote' ) ) {
                $title = _x( 'Quotes', 'post format archive title' );
            } elseif ( is_tax( 'post_format', 'post-format-link' ) ) {
                $title = _x( 'Links', 'post format archive title' );
            } elseif ( is_tax( 'post_format', 'post-format-status' ) ) {
                $title = _x( 'Statuses', 'post format archive title' );
            } elseif ( is_tax( 'post_format', 'post-format-audio' ) ) {
                $title = _x( 'Audio', 'post format archive title' );
            } elseif ( is_tax( 'post_format', '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 );
    }

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

    1
    
    return apply_filters( 'get_the_archive_title', $title );

    此处应用了一个过滤钩子,也就是我们可以通过这个钩子修改?get_the_archive_title() 的内容,从而实现修改?the_archive_title() 输出的内容。

    要实现刚才我们说的去掉归档页面的?“分类:”和“标签:”,可以使用下面的代码:

    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
    17
    
    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 文件即可。

    支付宝扫码打赏 微信打赏

    如果本文对你有帮助,请打赏作者,鼓励我们继续写作!

    阿里云优惠大全

    关于 倡萌

    一个疯狂的 WordPress 爱好者,喜欢折腾 WordPress 主题,分享 WordPress 资源。如果你也喜欢 WordPress,欢迎和我一起交流!

    精彩推荐

    WordPress代码 之 获取WordPress所有分类名字和ID

    WordPress函数:wp_page_menu(页面菜单)

    1 条评论

    1. wpdx主题下,代码无效咋回事?

    发表评论

  • 重庆福彩南分中心启动初级销售员评级考试 2019-06-01
  • 这是全国精气最为集中的地方 被称为中国丹田所在 ——凤凰网房产 2019-05-25
  • 世卫组织更新《国际疾病分类》 游戏成瘾列入精神疾病 2019-05-25
  • 国内 —频道 春城壹网 七彩云南 一网天下 2019-05-19
  • 安徽军工集团控股有限公司 2019-05-19
  • 西藏昌都:大棚温泉藏鸡蛋“一村一品”成脱贫攻坚重头戏 2019-05-14
  • 资本大佬甚至哀叹,进不了股市成了人生最大失败[木乃伊] 2019-05-12
  • 光明日报评论员:坚持推动构建人类命运共同体 2019-05-12
  • 光明地产进入怡心湖板块,十陵流拍“扶不起”? ——凤凰网房产成都 2019-04-14
  • 【両会】第13期全人代第1回会議、北京で閉幕 2019-04-07
  • 广州市第十五届人大常委会第十四次会议第一次全体会议 2019-04-07
  • 世界很多国家想拥有核弹,但迫于种种原因而没能实现。 2019-04-05
  • 【改革印记——看中国发展】记录“轨道上的京津冀”成长 2019-04-04
  • “日啖荔枝三百颗”:千万别,大量进食会引发低血糖 2019-04-04
  • 戴斌:旅游开发需更多文化自信 2019-03-18