WordPressでthe_archive_titleの余計な文字列「月別: 」を消して、さらにアーカイブページの「yyyy年m月」を「yyyy年mm月」と月をいつも2桁になるよう変更してみた。

2019年09月04日 12時00分 正午の月齢:5.1  月名:六日月  潮汐:中潮 月齢:5.1[六日月] 潮汐:中潮
(最終更新日:2019年09月16日)
5年前に投稿 | WordPress | コメントはありません

3分ぐらいで読めます。

この記事は情報が古い場合があります。

以前、サイドバーのアーカイブに表示される年月表示を1~9月のときでも2桁で月が表示されるようにしたのですが、アーカイブのページ(archive.php)を表示したとき、「月別: 2016年1月」と表示されていて月が2桁になっていませんでした。それに「月別: 」の文字もいらないので消してしまいたい…

まずは「月別: 」の文字を消しましょう。

いろいろな方法があるみたいですが、アップデートしても影響を受けないようにfunctions.phpと独自テーマファイルだけで完結する方法にこだわりました。functions.phpに、

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_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;
});

を追記します。参考にしたのは

これで「月別: 」は消すことができました。

次に日付を修正します。archive.phpの

<?php the_archive_title(); ?>」の記事

という部分を、

<?php
$tit_monthnum = get_query_var('monthnum');
echo get_query_var('year').'年'. sprintf("%02d",$tit_monthnum).'月';
?>」の記事

という感じで、月の数字を取り出し、年の数字と2桁化した月の数字をつなぐようにしてyyyy年mm月を表現します。参考にしたのは、

これで1月から9月も「2016年01月」のように2桁で表示されるようになりましたー。

コメントはありません

ごめんなさい、コメントフォームは閉鎖しています。

Translate »