自由自在!WordPress上級

同じグループのカテゴリーの一覧を表示する

全333コースを10日間無料で

ぜひご覧ください。

無料で視聴する すべての加入プランを見る
または
同じ親を持つカテゴリーページで共通のメニューを表示するための方法を解説します。
講師:
11:16

字幕

このレッスンでは 同じグループの カテゴリーの一覧を表示する方法を 学習します ニュースの 一覧ページを開くと この様に ニュースの中にあるカテゴリーを 表示するようになっています プレスリリースをクリックすると プレスリリースの中にある カテゴリーを表示します 更にその中にある 子カテゴリーを表示しても 同じように ニュースというカテゴリーのリストだけを 表示するようになっています この仕組みを作っていきたいと思います それでは 制作用のテーマに切り替えて 制作を 進めていきたいと思います サイトに移動します 今はこの様にニュースのページは 何も表示されていない状態です それではエディターに移動します まずサイドバーの方を 用意しておきましょう ニュースのカテゴリーを表示する sidebar-news と プレスリリースのカテゴリーを表示する sidebar-press というのを 作成しておきます それでは それぞれ記述をしていきます サイドバーの記述はとても簡単です あるカテゴリーのリストを表示するための テンプレートタグは wp_list_categories です categories wp_list_categories には child_of という パラメータを指定する事ができます この child_of で どのカテゴリーの 子カテゴリーのリストを表示するかを 選択する事ができます 今ここでは 2 という風に入れました 管理画面に一度移動して カテゴリーの ID を確認しておきます カテゴリーのリストページに それぞれの調べたいカテゴリーを クリックするとですね ここに tag_ID=2 と出てきます この tag_ID というのが そのカテゴリーの ID になります ここだと 3 ですね ですので今ここに 2 という風に入れました もうこれだけで完成です プレスリリースのサイドバーも 同じように wp_list_categories を使って child_of=3 という風にします hide_empty という パラメータは 0 を指定すると 記事が入っていないカテゴリー名も 表示するという風になります 何も指定しないと 記事が一件も登録されていないカテゴリーは リストには表示されません 書けたので アップロードして閉じておきます そして実際に カテゴリーの一覧ページは category.php で 作成する事ができますので category.php を編集します category.php には 基本的な構造だけを 今 書いてありますので ここに追加していきたいと思います この category.php で この side という所で 先ほど作成した sidebar-news という PHP と sidebar-press という PHP を 取得したいんですが どのようにするのが良いでしょうか まず二種類あります ニュースというページにいる場合は 自分がニュースというページにいますので ニュースという名前を そのまま使う事ができそうです しかしニュースの子カテゴリーにいる場合 ニュースの子カテゴリーの一覧ページを 表示している場合は 自分の親がニュースなので 自分の親のカテゴリー名を調べて ニュースであれば ニュース PHP を プレスリリースであれば プレスリリースの PHP を 読み込むように しなければいけません つまり 親のカテゴリーにいるか 子のカテゴリーのページを 表示しているかによって 必要な処理が変わってきそうです 今 表示しているカテゴリーの情報は get_category で 変数にこの cat という風に 入れる事によって カテゴリーの一覧ページでは 取得する事ができます この get_category について 説明ページで 確認をしてみます get_category は パラメータに カテゴリーの ID を指定します カテゴリーの一覧ページでは カテゴリー ID は この cat という変数で 取得する事ができます そして 戻り値ですが 戻り値は オブジェクト型のデータとして 戻ってきます 様々なその ID を指定した カテゴリーに関する情報を 取得する事ができます カテゴリーの ID ですとか名前 それからスラッグ そしてカテゴリーの親カテゴリーは この category_parent もしくは parent で 取得する事ができます ですので このカテゴリー情報を 取得して これを cat_info という変数に入れて この cat_info の category_parent を調べます もしここに ID が入っていれば それは子カテゴリーという事になります そして ID が入っていなければ それは親カテゴリーという事になります という風に二つの処理を かき分けていきます まず子カテゴリーの場合ですが 今度は親カテゴリーの カテゴリー情報を取得します 親カテゴリーの カテゴリー情報は category_parent を指定すれば その ID を取得できますので これで取得ができます そして今欲しいのは カテゴリースラッグになりますので このカテゴリー情報の中にある スラッグを取得します ここですね カテゴリースラッグを取得します 今度は自分が 親カテゴリーだった場合ですね この場合は単純に cat_info からスラッグを 取得すれば良さそうです この様にする事で 表示したいカテゴリーの スラッグが取得できました スラッグが取得できれば あとは get_sidebar を使って パラメータに そのスラッグ名を指示すれば良さそうです こうですね 今スラッグを使って 作っているんですけれども この sidebar-news という news という部分と press という部分 この部分が 丁度カテゴリーの スッラグと同じ名前にしているので get_sidebar の中に スラッグを指定して sidebar-news.php と sidebar-press.php を 取得できるようにしています この様にスッラグとファイル名などを 上手く組み合わせていくと 効率よくコーディングができると思います 後はですね普通に メッセージループを使って 一件一件の記事を 表示する部分を記述していきます 本文を表示します それから 抜けていましたがタイトルと パーマリンクも表示させましょう はいできました これを閉じて そして忘れないように 必ずメッセージループを終了させて これで完成です アップロードができたら 画面を確認してみたいと思います すみません ちょっと間違っていましたね while(have_post) の中の ここですね posts ですね have_post よく間違えやすいので 気を付けましょう はい表示されました ニュースのカテゴリーが出ています 特定のカテゴリーを選んでも同じように 自分の親がニュースであるので ニュース PHP を 読み込むようになっています プレスの方も ちゃんと動いていますね このレッスンでは 同じグループのカテゴリーの一覧を 表示する方法について学習しました

自由自在!WordPress上級

このコースではWordPressを利用したさまざまな種類のサイトを構築しながら、より実践的なテクニックを解説します。コースの前半はカスタムフィールド機能などについて説明しながら、後半では自由度の高いサイト構築が可能になるマルチサイトについても学習します。

3時間17分 (26 ビデオ)
現在、カスタマーレビューはありません…
 
ソフトウェア・トピック
カテゴリー
ウェブデザイン
CMS
価格: 2,990
発売日:2014年03月05日

このコースは、「オンデマンド」でご利用可能であり、ダウンロードすることもオンラインで見ることもできます。

ダウンロードすると、オフラインでコースを使用し、豊富なインターフェースをフルに活用できます。複数のデバイスを使用したり、 一度に全コースをダウンロードしたくない場合は、アカントにログインして、ストリーミング・ビデオとしてコースのレッスンを視聴してください。

ビデオトレーニングをお楽しみいただけますように! お問い合わせは、cs-jp@lynda.com宛までご連絡ください。