Answers:
您可以扩展我在此答案中提到的get_the_archive_title
过滤器
add_filter( 'get_the_archive_title', function ($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_tax() ) { //for custom post types
$title = sprintf( __( '%1$s' ), single_term_title( '', false ) );
}
return $title;
});
对于没有文字的CPT标题:“存档”:
如果您要为CPT构建自定义存档模板,并且只想输出CPT的标题而没有多余的单词(例如“ Archive”),请使用以下功能:
echo post_type_archive_title( '', false );
我觉得这太过简化了,但这就是我所做的...
<h1><?php echo str_replace("Archives: ", "", get_the_archive_title()); ?></h1>
假设格式始终为:Prefix: Archive Name
,我们可以使用带有PHP的substr()和strpos()函数的get_the_archive_title()来找到第一个冒号,后跟一个空格,然后才显示其内容。
<?php // Only show the portion of the string following the first ": "
echo substr(get_the_archive_title(), strpos(get_the_archive_title(), ': ') + 2);
?>
目录: wp-includes
文件: general-template.php
查找功能:get_the_archive_title()
更改:
if ( is_category() ) {
$title = sprintf( __( 'Category: %s' ), single_cat_title( '', false ) );
} elseif ( is_tag() ) {
$title = sprintf( __( 'Tag: %s' ), single_tag_title( '', false ) );
} elseif ( is_author() ) {
$title = sprintf( __( 'Autor: %s' ), '<span class="vcard">' . get_the_author() . '</span>' );
}
至:
if ( is_category() ) {
$title = sprintf( __( '%s' ), single_cat_title( '', false ) );
} elseif ( is_tag() ) {
$title = sprintf( __( '%s' ), single_tag_title( '', false ) );
} elseif ( is_author() ) {
$title = sprintf( __( '%s' ), '<span class="vcard">' . get_the_author() . '</span>' );
}//if you want to remove or just change text if you need to