私のテーマのarchive.phpには以下のコードがあります。
<?php the_archive_title( '<h1 class="page-title">', '</h1>' ); ?>
これにより、 "カテゴリ:ロシア"、 "タグ:アメリカ"、 "作者:ジョン"などのタイトルが表示されます。
"Category:"、 "Tag:"、 "Author:"の部分を削除して、カテゴリ名、タグ名、作者名を表示するだけです。
誰もがこれを達成する方法を知っていますか?
ありがとうございました。
この回答 で説明した get_the_archive_title
filter を拡張できます
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>' ;
}
return $title;
});
関数single_term_title()
を使う
CPTタイトルの場合Wordなし:「アーカイブ」:
CPT用のカスタムアーカイブテンプレートを作成していて、「Archive」のような追加のWordなしでCPTのタイトルだけを出力したい場合は、代わりに次の関数を使用してください。
echo post_type_archive_title( '', false );
私はこれが物事を単純化し過ぎているように感じますが、これは私がしたことです...
<h1><?php echo str_replace("Archives: ", "", get_the_archive_title()); ?></h1>
テーマの分類外のtaxonomy-category.php内のecho '<h1 class="page-title">' . single_cat_title( '', false ) . '</h1>';
。
私はフィルタを使用してファイルfunctions.phpにそれを置くでしょう
add_filter( 'get_the_archive_title', 'replaceCategoryName');
function replaceCategoryName ($title) {
$title = single_cat_title( '', false );
return $title;
}