WordPress 移除归档页面的“分类:”
以下代码由PHP站长网 52php.cn收集自互联网现在PHP站长网小编把它分享给大家,仅供参考 今天有朋友问了一个问题,如何移除归档页面分类或标签名称前面的“分类:”和“标签:”,如下图: 首先,我们要先了解这两个字是通过什么函数调用出来的,在比较正规的主题中,一般会用以下代码在归档页面输入标题: <?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 文件即可。 以上内容由PHP站长网【52php.cn】收集整理供大家参考研究如果以上内容对您有帮助,欢迎收藏、点赞、推荐、分享。 (编辑:李大同) 【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容! |