【Twenty Seventeenのちょこっとカスタマイズ】カテゴリーのページタイトルから「カテゴリー:」を取りたい

昨日に引き続き、Wordpressの新テーマTwenty Seventeenのカスタマイズについて。

カテゴリーのページタイトルに自動で出力される「カテゴリー:」を取りましょう。簡単です。

カテゴリーの一覧(アーカイブ)ページは、Twenty Seventeenではarchive.phpで出力されています。

問題のページタイトルの部分は

	<?php if ( have_posts() ) : ?>
		<header class="page-header">
			<?php
				the_archive_title( '<h1 class="page-title">', '</h1>' );
				the_archive_description( '<div class="taxonomy-description">', '</div>' );
			?>
		</header><!-- .page-header -->
	<?php endif; ?>

このあたり。the_archive_title()が曲者です。

アーカイブページを全部このテンプレートで表示するためには必要かも知れないけれど、今回はカテゴリー一覧ページの話なので、

/wp-content/themes/twentyseventeen/archive.php

をコピって来て、category.phpに名前を変更します。そうすると、カテゴリーページのテンプレートだけcategory.phpに振り分けられるので、該当部分を

	<?php if ( have_posts() ) : ?>
		<header class="page-header">
			<h1 class="page-title"><?php single_cat_title( '', true ); ?></h1>
			<?php the_archive_description( '<div class="taxonomy-description">', '</div>' );?>
		</header><!-- .page-header -->
	<?php endif; ?>

と書き換えればOK!

プラス解説

肝は、single_cat_titleです。

カテゴリーまたはタグアーカイブがクエリされているときに使用すると、ページタイトル(カテゴリー名またはタグ名)を表示または返します。 従って、この関数が使えるのはループの外側においてのみです。
テンプレートタグ/single cat title – WordPress Codex 日本語版

もうひとつ、single_term_titleという便利なタグも3.1から追加されていますね。こっちでも同じように表示出来ますが、カテゴリーのページだとわかっているので、上のケースではsingle_cat_titleでいいと思います。

じゃあ最初からそっち使っておいてよ!って思うかもしれません。でも例えばカテゴリーとタグの名前が被ってたりすると(そんな使い方はナンセンスですが)困るので、ベースの設計としてはthe_archive_titleは必要なものだとは思います。

でもspanタグぐらい挟んで欲しいですよねー。そうしたらCSSでぱっと消せるのになあ。

“【Twenty Seventeenのちょこっとカスタマイズ】カテゴリーのページタイトルから「カテゴリー:」を取りたい” への2件の返信

  1. 最近、Wordpressでブログ作りを始めた初心者です。きっかけは、新テーマのTwenty Seventeenが気に入ったからです。いろいろ奮闘してます。なかなか思い通りにいかない中で、このサイトに出会いました。まだ、あまり理解していませんが、痒い所に手の届く説明、ありがたく思っています。「今後とも、続けてください」の応援メールです。

  2. コメントありがとうございます!こんな拙いブログを御覧頂いて恐縮です。私はWordpressを長く使っている方だと思いますが、その中でもTwenty Seventeen、なかなか良いテーマだと思います。お目が高い。

    記事がご参考になれば幸いですが、あくまで私一個人のやり方としてお読みいただければと思います。ブログにする以上は調べて書いているつもりなのですが、やはり間違うこともあるかと思いますので・・・。
    でも応援していただけると凄く励みになります!おや?と思うところがあれば是非ツッコミなどもお待ちしております。今後共どうぞご贔屓に。

コメントを残す

メールアドレスが公開されることはありません。 * が付いている欄は必須項目です