サポート » 使い方全般 » 最新記事にカテゴリごとのアイコンをつけたい

  • 解決済 komagoma

    (@komagoma)


    教えて頂けますか。
    フォーラムでsuさんの『最新記事一覧でカテゴリ別のアイコンをつけたい』を見つけ貼り付けてみました。

    <?php
    $cats = get_the_category();
    $cat = $cats[0];
    $img = '<img src="' . get_bloginfo('template_url'). '/img/category-'
      . $cat->category_nicename . '.gif" alt="' . $cat->cat_name . '" />';
    ?>
    <dl>
    <?php $posts = get_posts('numberposts=5&order=desc'); ?>
    	<?php foreach($posts as $post): ?>
    		<dt><?php the_time('Y年n月j日'); ?></dt>
    		<dd><?php echo $img; ?> <a href="<?php the_permalink(); ?>" title="<?php the_title(); ?>"><?php the_title(); ?></a></dd>
    <?php endforeach; ?>
    </dl>

    投稿日と記事とカテゴリ別のアイコンはでるのですが下記のようにアイコンがすべて同じで表示されてしまいます。

    2012/03/15 [カテゴリ1のアイコン] ××××××××××××
    2012/03/14 [カテゴリ1のアイコン] □□□□□□□□□□
    2012/03/13 [カテゴリ1のアイコン] ○○○○○○○○

    15日の記事はカテゴリ1、14日の記事はカテゴリ2、13日の記事はカテゴリ3とカテゴリ分けをしスラッグもきちんと設定しています。

    カテゴリごとにアイコンを表示するにはどうすればいいでしょうか。
    どうぞよろしくお願いします。

4件の返信を表示中 - 1 - 4件目 (全4件中)
  • $cat = $cats[0];なのでいつまでたっても一番最初の物しか取れないものかと・・・
    配列なので$catsをループに放り込んで$postsと一緒に可変させてやらないと
    ・・・こう?

    <dl>
    <?php $posts = get_posts('numberposts=5&order=desc'); ?>
    	<?php foreach($posts as $post): ?>
    		<?php
    			$cats = get_the_category($post->id);
    			$cat = $cats[0];
    			$img = '<img src="' . get_bloginfo('template_url'). '/img/category-'
    			  . $cat->category_nicename . '.gif" alt="' . $cat->cat_name . '" />';
    		?>
    		<dt><?php the_time('Y年n月j日'); ?></dt>
    		<dd><?php echo $img; ?> <a href="<?php the_permalink(); ?>" title="<?php the_title(); ?>"><?php the_title(); ?></a></dd>
    <?php endforeach; ?>
    </dl>

    トピック投稿者 komagoma

    (@komagoma)

    CyberCypherさん

    ありがとうございますm(_ _)m 表示できました。
    CyberCypherさんが書いて頂いてるように最初のモノしかとれなくて困りはててました。
    phpは初心者で理解できてないので本当にありがたいです。
    書き方など理解できていないので本やネットで勉強したいと思います。

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

    半ば眠いまま書いた返答で意味不明な事言ってました・・・すみません

    get_the_categoryにページIDを渡すとカテゴリ情報が取得できますが、
    なにも渡さないと現在のページのIDで取得しに行きます
    (ループはしてても現在のページが変わっていないので同じ値が取れていました)
    get_the_categoryの戻り値0番目、一番最初はカテゴリIDが入ってます
    「->」はシングルアローでIDで各々の項目を読み取りに行ってます
    get_the_categoryから返却される値はコチラを参考なさって下さい
    混乱させるようなこと言って本当ごめんなさい

    トピック投稿者 komagoma

    (@komagoma)

    CyberCypherさん

    get_the_category()にページIDを渡すというのが理解できました。
    phpの書き方が全くわかっていないのでCyberCypherさんのように自分で書けるようにがんばって勉強します。
    丁寧に教えて頂きありがとうございます。助かりましたm(_ _)m

4件の返信を表示中 - 1 - 4件目 (全4件中)
  • トピック「最新記事にカテゴリごとのアイコンをつけたい」には新たに返信することはできません。