サポート » 使い方全般 » 記事一覧をカテゴリごとに違うデザインにする

  • 最近wordpressを使い始めました。
    質問におかしな点があるやもしれませんがお許しください。

    記事一覧をカテゴリごとに違うデザインにしたいのですが(タイトルなどループする箇所)、
    loopをloop-cat1.php、loop-cat2.phpのように分けてカテゴリごとに違うループをあてることは可能でしょうか?

    もしくはcategory-cat1.php、category-cat2.phpと一覧表示用のphpをそれぞれ用意して、そのphpの中にそれぞれ直接ループを書く事は可能でしょうか?(loop.phpを使わない)

    それともやはりloop.phpの書き方を工夫するしかない、もしくはそうするのがベターでしょうか?

    よろしくお願い致します。

5件の返信を表示中 - 1 - 5件目 (全5件中)
  • カテゴリごとに、カテゴリのテンプレートを分けることができます。

    例えば、「ニュース」というカテゴリがある場合、
    カテゴリのスラッグを news としておいて、
    category-news.php
    というテンプレートを用意すれば、こちらが優先で使用されます。
    用意しない場合は、category.php が使用されます。

    テンプレートファイル、優先度、というような言葉で調べるとよいですよ。

    トピック投稿者 sss777

    (@sss777)

    初心者にやさしい丁寧なご回答ありがとうございます ^^
    優先度等はTemplate Hierarchyを見ながら制作しております。

    category-news.php、category-other.phpと分けたとして、
    通常だとそのカテゴリごとのphpにget_template_part( ‘loop’ )を記述してloop.phpを読み込んで処理すると思います。

    category-news.php、category-other.phpをそれぞれ違うループ処理をしたい場合はどうしたら良いでしょうか?

    newsカテゴリでは、タイトルの横にアイコンを付けるが、otherカテゴリでは付けないなど。
    ループの中身をそれぞれ違うものが使いたいです。1,2カ所であればループ中に条件分岐でやるのがいいのかなと思うのですが、大きくデザインを変更する場合、ループ自体を別に書いた方が後で見た時にわかりやすいのかなと思います(できるかはわからないのですが)。

    loop.phpを分散してloop-01.php、loop-02.phpと言う風にして、
    get_template_part( ‘loop-01’ )のように読み込めれば、運用しやすいすいなあとwordpressの事がよくわかってないので思うのですが、こういう事は可能でしょうか?

    もしくはloop.phpを使わずにcategory-news.php、category-other.phpに直接ループの記述をすることは可能でしょうか?

    私は、loop.phpを使わずに
    category-news.php、category-other.phpに直接ループの記述をしちゃってます

    なので可能ですよ。
    実はloop.phpに慣れてないので、どちらがベターかわかりません…

    こんにちは

    loop.phpを分散してloop-01.php、loop-02.phpと言う風にして、
    get_template_part( ‘loop-01’ )のように読み込めれば、運用しやすいすいなあとwordpressの事がよくわかってないので思うのですが、こういう事は可能でしょうか?

    get_template_partは引数が二つありますので、

    get_template_part('loop','01');

    とすれば、loop-01.phpをインクルードします。
    チャイルドテーマ、親テーマ両方しらべて、いいやつをインクルードしてくれます。

    テンプレートパートファイルが、ドンドン増えてくるので、専用のホルダにパートファイルを、整理しておきたい時には、get_template_partは使ってはいけない模様なので、

    そういう時は、
    http://ja.forums.wordpress.org/topic/11570?replies=4
    が参考になります。

    そこにも書いてありますが、ファイル名に日本語使えないので、カテゴリが日本語になる場合の、アイディアはこちらにあります。

    http://tenman.info/labo/snip/?p=1967

    newsカテゴリでは、タイトルの横にアイコンを付けるが、otherカテゴリでは付けないなど。
    ループの中身をそれぞれ違うものが使いたいです。

    このようなカスタマイズならば、style.cssにスタイルルールを記述するだけで出来ますよ。
    コンテンツをラップする要素、article等に、post_class()という関数が使われていると思いますが、カテゴリごとに特別なクラス名がついているはずなので、それにしたがって、:before等を使えば、スタイルだけで、タイトルの前に画像を表示する事が出来ます。

    トピック投稿者 sss777

    (@sss777)

    sysbirdさん、実際にそれで行っているというリアルな情報ありがとうございます ^^

    nobitaさん、こんにちわ。ご回答ありがとうございます。
    複数のloop.phpの作り方および、役立つtipsありがとうございます ^^
    やりたい事は実現できそうです。
    あとはどういうやり方が運用しやすいか探ってみます。

    お二方ありがとうございました。

5件の返信を表示中 - 1 - 5件目 (全5件中)
  • トピック「記事一覧をカテゴリごとに違うデザインにする」には新たに返信することはできません。