お問い合わせはコチラから

アーカイブページタイトルにつくXXX:の文言を削除

サイト運営

WordPressのカテゴリページやアーカイブページで、タイトルに『カテゴリー:』とかつくやつを消すTipsは検索するとすぐに出てきます。

検索したものをそのまま使っていたら、年のアーカイブページでうまく動かず、なんでかな?と小一時間悩んだのでまとめておきます。

問題点:年ごとのアーカイブページでなぜか月が表示される

アーカイブページタイトルにつくXXX:の文言を削除するために使用したスクリプトは以下のようなものです。

function change_archive_title( $title ) {

	if (is_category()) {
		$title = single_cat_title('',false);
	} elseif (is_tag()) {
		$title = single_tag_title('',false);
	} elseif (is_tax()) {
		$title = single_term_title('',false);
	} elseif (is_post_type_archive() ){
		$title = post_type_archive_title('',false);
	} elseif (is_date()) {
		$title = get_the_time('Y年n月');
	} elseif (is_search()) {
		$title = '検索結果:'.esc_html( get_search_query(false) );
	} elseif (is_404()) {
		$title = '「404」ページが見つかりません';
	} else {

	}
	return $title;

}; 
add_filter( 'get_the_archive_title', 'change_archive_title');

問題が起きる理由

アーカイブページをis_date()で判定していますが、その時に年月と決め打ちしているので、パンくずリストなどから年アーカイブを表示すると、正しく動かなくなります。

要求されているページが、日付アーカイブページ(年別、月別、日別アーカイブページの何れか)か調べる。

is_dateの返り値がtrueの場合、is_yearis_monthis_dayの何れか1つがtrueになる。

https://elearn.jp/wpman/function/is_date.html

修正方法

is_date()とis_year()、is_month()を組み合わせて条件分けしてあげる必要があります。

function change_archive_title( $title ) {

	if (is_category()) {
		$title = single_cat_title('',false);
	} elseif (is_tag()) {
		$title = single_tag_title('',false);
	} elseif (is_tax()) {
		$title = single_term_title('',false);
	} elseif (is_post_type_archive() ){
		$title = post_type_archive_title('',false);
	} elseif (is_date() && is_month()) {
		$title = get_the_time('Y年n月');
	} elseif (is_date() && is_year()) {
		$title = get_the_time('Y年');
	} elseif (is_search()) {
		$title = '検索結果:'.esc_html( get_search_query(false) );
	} elseif (is_404()) {
		$title = '「404」ページが見つかりません';
	} else {

	}
	return $title;

}; 
add_filter( 'get_the_archive_title', 'change_archive_title');

まとめ

検索しても、金太郎あめのように同じスクリプトしか出てこないので、年単位のアーカイブページで問題が起きることを誰も気が付いていないのかもしれないです。

分かっている人にとっては当たり前の内容かもしれませんが、コピペばかりしている人には問題が起きる可能性すら考えていないので、もしなんか変だな?と思ったら今回の記事を参考にしてみてください。

この記事を書いた人
ブーン

はるばる日本よりオランダ王国へやってまいりました。
自分の経験が少しでも参考になれば嬉しいです。
お問い合わせは、『こちら』からお願い致します。

\ブーンをフォロー/
スポンサーリンク
サイト運営
\シェアお願いします!/
\ブーンをフォロー/
こんな記事も読まれています

失敗しないレンタルサーバーランキング

mixhost

不正アクセスに強くて使いやすいおススメサーバー
\本サイトで利用中/
メリット①:自動ウィルス駆除対応
メリット②:サイトの表示速度が速い!
メリット③:転送量の上限が多い!
メリット④:自由にプラン変更ができ、アクセス増にも対応できる!
メリット⑤:バックアップデータが無料で復元できる!
メリット⑥:Wordpressが簡単にインストールできる!
メリット⑦:どのプランでも初期費用が無料!
メリット⑧:10日間の無料お試し期間と30日の返金保証!

Conoha Wing

国内Wordpress最速の最強サーバー
メリット①:圧倒的な表示速度
メリット②:レンタルサーバーと独自ドメインがセットでお得◎
メリット③:プラン変更はすべてのプランで自由自在
メリット④:一か月の利用転送量の制限が緩い(9TB~)
メリット⑤:WordPresサイトの移行が簡単

エックスサーバー

国内シェアNo1の安定性と実績が魅力。ALL SSDで死角なしの万能サーバー。
メリット①:サイトの表示速度が安定して速い!
メリット②:アクセス負荷に強くて安定性が高い!
メリット③:24時間365日の充実サポートで安心!電話サポートもあり!
メリット④:転送量が多い!
メリット⑤:自動バックアップ機能付き!
メリット⑥:WordPressが簡単にインストールできる!
メリット⑦:10日の無料お試し期間がある!

タイトルとURLをコピーしました