制作会社から制作会社じゃない会社に転職が決まりました。制作会社で学んだことを残らず記事にしたいと思います。

パンDKOTORI Blogの公式キャラクター「パンD」です。
コーディングWordPressアーカイブページのタイトルを振り分けて表示する3行のコード[WordPress]

アーカイブページのタイトルを振り分けて表示する3行のコード[WordPress]

2013年12月11日WordPress 便利コード 
アーカイブページのタイトルを振り分けて表示する3行のコード[WordPress]記事のアイキャッチ画像

月別アーカイブや年別アーカイブ、カテゴリーアーカイブのタイトルを振り分けて表示するコードを紹介します。たった3行です。

まえがき

このKoToRi Blogもそうですが普通のブログサイトだと基本的なレイアウトが一緒なので全部index.phpだけで済ませたくなりますよね。
いちいちcategory.phpとか分けるのメンドクサイです。
index.phpだけでいく場合、月別アーカイブやカテゴリアーカイブのタイトルを表示するタグは条件分岐で対応することとなります。
そんな時にKoToRiが愛用しているコードを紹介します。
たった3行のコードで月別アーカイブや年別アーカイブ、カテゴリアーカイブのタイトルを振り分けることが可能です。

月別(年別)アーカイブとカテゴリーアーカイブでタイトルを振り分けるコード

アーカイブタイトルを表示したいところにこのコードを記述します。

<?php if($monthnum||$year||$cat){ ?>
<div class="archivetitle"><?php if($cat){ ?><?php single_cat_title(); ?><?php }elseif($monthnum||$year){ echo $year.'年'; ?><?php if($monthnum){ echo $monthnum.'月';} } ?></div>
<?php } ?>

このコードで
カテゴリーアーカイブ時はカテゴリ名を表示!
月別アーカイブ時は年月を表示!
年別アーカイブ時は年を表示!
となります。

アーカイブページでは現在表示されているものが変数に格納されるようになりました。自動的に。
例えばカテゴリーアーカイブページだと現在表示しているカテゴリのIDが「$cat」に自動的に格納されます。
それを利用した方法です。

ちなみにこのコードの前で「WP Query」を利用したループがある場合、そのループのendifタグの後で「wp_reset_query();」を入れてクエリをリセットしてください。

<?php
/*ループの閉じタグ*/
endwhile;endif;
wp_reset_query();
?>    

カテゴリー別月別(年別)アーカイブもありえる場合

特定カテゴリの月別アーカイブリストの表示[WordPress]で紹介した方法を使用して特定カテゴリの月別アーカイブを表示する場合、条件分岐が若干変わるのでこんな感じになるかと。

<?php if($monthnum||$year||$cat){ ?>
<div class="archivetitle"><?php if($cat){ ?><?php single_cat_title(); ?><br /><?php } ?><?php if($monthnum||$year){ echo $year.'年'; ?><?php if($monthnum){ echo $monthnum.'月';} } ?></div>
<?php } ?>

まとめ

いつからアーカイブページでは自動的にページ情報が変数に格納されるようになったんでしょう。
最初からじゃないですよね??気付いたときびっくりしました。

とりあえずループの「wp_reset_query();」忘れは気をつけてください。

シェアするみんなシェアしてね

フォローするフォローする

いつもKOTORI Blogをご覧いただきありがとうございます。Facebook、Twitterを通じて、皆様と交流していき色んな情報を共有していければな~と思ってます。お気軽に登録してください!

基本フォロー返します。

RSSを登録する

RSSはこちらから。

follow us in feedly

Feedly使ってる人はこちらから。

Buy me a Beer

動く!パンDのLINEスタンプ
好きな人にアプローチスタンプ
パンDのLINEスタンプ

関連する記事関連する記事も読んでみてね

コメント