サポート » 使い方全般 » 「カテゴリー」と「テンプレート」を両選択して記事を投稿するには?

  • カテゴリーごとに違うテンプレートを用いたページ作成ができません。
    カテゴリーを選択するとテンプレートが選択できないし、
    逆に、テンプレートを選択するとカテゴリーが選択できません。
    どうやったらページ作成のときにカテゴリーとテンプレートの両方を選択してコンテンツを出力できるでしょうか?

    状況記載いたします。

    作る予定のカテゴリーが5つあるので、管理画面の「カテゴリー」で5つのカテゴリーを生成しました。

    5つのカテゴリーはヘッダー横並びに配置しております。

    たとえば、5つのカテゴリーの中の「製品案内」というカテゴリーページを開くと、「製品案内」のヘッダー画像リンクボタンだけがマウスオーバー状態になるようにして、ユーザーに現在地を知らせたく思います。
    その他、カテゴリーごとに少々デザインを変ねばならないので、カテゴリーごとにテンプレートを準備したのですが、自分が不慣れなせいか、どうにもうまくいきません。

    管理画面を操作していると、どうしても冒頭の意図のコンテンツが作成できないのです。

    WPはページをつくる方法が二種類ありますね。
    ひとつは「作成」の「投稿」、もうひとつは「作成」の「ページ」です。

    「管理」の「カテゴリー」でカテゴリーをつくるようになっているので、ここでまずカテゴリーをつくるのですが、ここではテンプレートが選択できるようになっていないので、そのままカテゴリー名だけを5つ生成。

    では、ページを作る際にテンプレートを選択できるのだろうと思い、「作成」の「ページ」を見ると、確かにテンプレートは選択できるようになってはいますが、その代りカテゴリー選択ができません。

    ならば、と「作成」の「投稿」を見ると、今度は逆です。「管理」の「カテゴリー」でつくったカテゴリーは選択できるが、逆に今度は各カテゴリー用につくったテンプレートが選択できません。

    いったいどうやったらうまくいくんでしょうか・・・・

6件の返信を表示中 - 1 - 6件目 (全6件中)
  • モデレーター jim912

    (@jim912)

    jiluroさん、こんにちは。

    いかようにもできます。
    親ページをカテゴリと見立ててページで作り上げることもできますし、カテゴリと投稿で作ることもできます。それぞれ一長一短はあります。

    ちなみにウチは、ページ派です。

    カテゴリと投稿を用いた場合のテンプレート選択も条件分岐タグを使ってそれに応じたテンプレートをincludeさせれば、テンプレートを選択する作業を必要とせずに実装できるのではないでしょうか。

    カテゴリーアーカイブに関しては、カテゴリーID を x とした場合 category-x.php というテンプレートを用意しておけば、自動的に読み込まれます。

    個々の投稿の場合は、in_category で条件分岐すれば OK です。

    http://wpdocs.sourceforge.jp/%E3%83%86%E3%83%B3%E3%83%97%E3%83%AC%E3%83%BC%E3%83%88%E3%82%BF%E3%82%B0/in_category

    トピック投稿者 jiluro

    (@jiluro)

    jim912さま、php-webさま、ありがとうございます。

    > カテゴリーアーカイブに関しては、カテゴリーID を x とした場合 category-x.php というテンプレートを用意しておけば、自動的に読み込まれます。

    ここはたまたま前知識があったので推測でやってみてできました。
    関連ファイルの辻褄合わせが今終わりましたが、「category」というディレクトリが必ずついてしまうんですね。返って要らないのですが削除方法も無いようですから諦めました笑

    > 個々の投稿の場合は、in_category で条件分岐すれば OK です。

    ご案内いただきましたURLを拝見しました。今はすぐ使う場面が無い感じでしたが、有用な情報でした!

    それで、もしご存知の方いらっしゃればアドバイスいただきたいのですが、
    サイドバーに表示するようにしてある「カテゴリー」リンク群があります。

    <?php wp_list_categories(‘orderby=order&title_li=’); ?>

    このソースでの。
    しかし、単に全カテゴリーを表示させたくありませんでして、一部のカテゴリーとその子、孫の選択したページタイトルだけを表示させたいです。
    入れ子型、インデントされて。

    ●「製品」というカテゴリー(ここは画像ボタン兼リンクボタンにすることで無くしても良いかも)
    ●「製品」カテゴリーの子ページのうち選んだページ
    ●「製品」カテゴリーの孫ページのうち選んだページ

    これだけを表示させたいです。

    他のカテゴリーを消してしまっては、カテゴリーリンクがなくなるからページにたどりつけないじゃないか、となりますが、そうならないように、ヘッダー横並びリンク群にも全カテゴリーを画像で表示させています。

    サイドバーに出したいのは製品カテゴリーだけ、という意味です。
    製品カテゴリーにいろんなページが出てくるのでここだけをクローズアップしたいのです。

    子、孫ページのうち、ここに表示したいページだけを表示さすには「include」ソースで各ページにそれぞれ割り振られているIDで指定すれば可能と想像しますが、それよりも何よりもまず大事なのは、子、孫を表示させることですが、これがあちこち探してもわかりません。

    もしわかりましたら宜しくお願いいたします。

    wp_list_categoriesのパラメータchild_ofで実現できると思います。

    http://wpdocs.sourceforge.jp/%E3%83%86%E3%83%B3%E3%83%97%E3%83%AC%E3%83%BC%E3%83%88%E3%82%BF%E3%82%B0/wp_list_categories

    まずは、WordPress ドキュメント
    テンプレートタグ/wp list categories
    の説明を読んでみてください。パラメータで設定可能です。

    # php-webさんと被っちゃいました。(^-^;) 子・孫カテゴリ全てじゃない場合は他のパラメータになります。

    トピック投稿者 jiluro

    (@jiluro)

    php-webさま、bonopsさま、ありがとうございます。

    child_ofはhide_empty絡みがあるので自分の場合は難しいのですが、他の方法もcategoryのCodexページには無いようですし、力技でやるかなと思っておりまする。

    色々とありがとうございます。感謝申し上げます

6件の返信を表示中 - 1 - 6件目 (全6件中)
  • トピック「「カテゴリー」と「テンプレート」を両選択して記事を投稿するには?」には新たに返信することはできません。