カスタム投稿を大活用:新着に含める、月別アーカイブをリスト表示、タクソノミーのタグクラウド等々・・・

ここではカスタム投稿(カスタムポストタイプ)を使って、それらしいサイトを構築します。

例えば新着記事の中にカスタム投稿を含む方法やカスタム投稿ごとによるサイドバーの振り分け、月別アーカイブのリスト表示等・・・

カスタム投稿の活用方法として実用的な手法を以下にまとめます。

カスタム投稿を月別のアーカイブとして一覧リスト表示

とりあえず画像で説明するとこんな感じです。

archive_list

カスタム投稿のアーカイブリストを表示するには、function.phpに以下を追加する必要があります。

カスタム投稿の名称を以下とします。※Custom Post Type UI等で予め追加しています

  • タイプA(custom_type_a)
  • タイプB(custom_type_b)
  • タイプC(custom_type_c)

これで下準備が出来たので、フッターやサイドバーに以下のタグを追記します。

custom_type_a~cの部分を変更すれば別のカスタム投稿に対応可能です。

投稿数が不要な場合はshow_post_count=1は不要になります。

カスタム投稿を新着記事の一覧に含める

ここで紹介するのは最も一般的なループに対応した追加方法です。

Stingerや多くのテンプレートであれば問題なく利用できます。 → WordPress Codex参照

以下のcustom_type_a~cの部分も対応するカスタム投稿の名称に変更し、function.phpに追加します。

これだけでOKです。

タクソノミークラウドをタグクラウドと同じように表示

カスタム投稿を導入した場合、タグやカテゴリーを使わずに専用のタクソノミーを利用したくなると思います。

画像で説明すると以下の通りです。

tag_taxonomies_cloud

追加したタクソノミーは以下とします。

  • 普通のタクソノミー(normal_taxonomies)
  • 嬉しいタクソノミー(happy_taxonomies)
  • 悲しいタクソノミー(sad_taxonomies)

ウィジェットにはタグやカテゴリークラウドを表示する機能が備わっていますが、タクソノミーも同様に表示する方法が以下です。

largestは一番大きく表示するタグのフォントサイズ

smallestは一番小さく表示するタグのフォントサイズ

numberは表示するタグの数

unitはフォントの単位

この手のオプションはいつも通り次のリンクを参考にします。 →WordPress Codex

表示をカスタム投稿ごとに振り分ける

カスタム投稿ごとに記事を分けても、サイドバーにあるオススメやタグがごちゃ混ぜでは解りにくいですね。

せっかく分けたのですから、カスタム投稿ごとに表示も振り分けてやります。

その1:投稿ページのデザインを【single-カスタム投稿タイプ名.php】で振り分け

通常の投稿ページはsingle.phpのテンプレートが使用されますが、【single-カスタム投稿タイプ名.php】がある場合は優先的に使用されます。

ジャンルごとにデザインを丸ごと変更ができるので、

カスタマイズ次第では全く別のサイトのようなデザインにすることも可能です。

 

その1-1:【single-カスタム投稿タイプ名.php】の中で専用サイドバーを読む

 

サイドバーを丸ごと別のものにしたい場合は

<?php get_sidebar(); ?>

を使わずに

<?php get_sidebar(‘custom_type_a’); ?>

を使います。
これにより sidebar-custom_type_a.php が使用されるため、サイドバーのみを丸ごと変更可能です。

これは、

<?php get_header(‘custom_type_a’); ?>

<?php get_footer(‘custom_type_a’); ?>

でも同様です。

 

その1-2:部分的に条件分岐しながら読み込む

各条件に合ったタクソノミークラウドやメニューを挿入してやります。メニュー等の幅も広がりますね。

その2:現在のカスタム投稿を取得して関連記事を表示

以下はずっと前に記事にした『post_typeでカスタム投稿を自動取得して関連記事を表示』と類似しているかと思います。

ただし、確認するのが面倒だったので改めて載せました。

以下は、ゲームや素材の共有サイト『フリーガ』のコードを一部端折ったものです。

その他・・・多数?

あと思いつくのはラベル付けと条件検索ぐらいかな。

条件検索については、ググれば勉強になるサイトがあるし、それだけでも本記事の数倍はボリュームが必要なので割愛します。

各カスタム投稿の一覧ページについては、必ずしも制作する必要がなくて、同じテンプレートを使いまわすことが可能だったはず。

・・・考えてると他にも色々出てきそうですね。

何か重要なことを思い出したら追加してみます。

 -

コメントを残す

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

同じ分類

【functions.phpの肥大化対策】条件分岐で読みわける

現在制作中のフリーガにてプラグイン0化計画を推進中なため(無理無理(-。-)y-゜゜゜)、やたらとfunction.〚…続き〛

管理画面のサイドバー崩れが実はバグだった件

WordPressの4.3にアップデートしたところ、管理画面のサイドバーに表示崩れが発生してしまいました。 表示崩れ〚…続き〛

wordpress(stinger5)をカスタマイズして画像サイトにする

sitnger5に対して行った変更のまとめです。 当サイトやフリーガはstinger5をベースに制作しています。 同〚…続き〛

XサーバーのPukiWikiではkakasiもchasenも使えない

有名どころのオープンソースには触っておきたいのでWikiGAというFreeGAのウィキサイトを立ててみました。 サブ〚…続き〛

KUSANAGIがPHP7に対応!!mysql_connectが邪魔な件も解決

追記———— ※この記事を書いて間もなくプライム・ストラテジーの方か〚…続き〛

G+