• l_640_480_8B976D34-AB0B-4E5F-AFC1-0BF76112F075.jpeg
  • l_2048_1536_C98B6B3B-F780-409C-9728-EC68AB7F392F.jpeg
  • 090528-0331.png
  • l_2048_1536_65CBFEE1-71B5-44DB-BC65-40049AB11037.jpeg
  • l_640_480_6F649207-DF56-4D89-8E35-DB2E65675A6F.jpeg
  • d41d8cd98f00b204e9800998ecf8427e_4.jpg
  • l_640_480_762AFF1F-4E19-4A2C-9ADA-C775E5C6F767.jpeg
  • l_2048_1536_A8465D21-FA39-413B-AEDA-6C95A2F48747.jpeg
  • 080524-1622.png
    サイドバーにあるwidgetで表示した「最近の記事一覧」が素っ気ないので、飾りをつけることにしました。やりたいのは、タイトルの前にカテゴリのミニアイコンをつけること。MovableTypeならすぐできるんですが、WordPressだとどうやってやんのかなぁと調べながらやりました。まー、だれも気づかないでしょうけどね。僕はディティールにひと工夫したいのですよ。


    元はこれ
    080524-1617.png

    1) カテゴリイメージの表示

    カテゴリイメージはcategory_imageプラグインを使います。導入および、設定の基本はしばた工務店さんを参考にしました。Nuestyleでも、メインの記事のタイトル部に使ってます。このcategory_image機能をサイドバー部分でつかうわけです。※アイコン画像は適当に作りました。

    2) ウィジェットの編集

    最初は「テキスト」widget(ウィジェット)にphpコードを書いてみましたが動かず(runPHPではwidgetのPHPは動作しません。execPHPプラグインなら動作しそうでしたが、他の不具合がでるのでやめました。)。wp2.2に初期インストールされる「最近の投稿」widgetのコードに直接手を加えることにしました。

    調べてみると、/wp/wp-includes/widgets.phpにそれぞれのwidgetの挙動が記述されています。(プラグインでwidget追加したときもここに追記されるのかな?

    で、「最近の投稿」widgetの投稿データ取得&出力はこのあたり。

    function wp_widget_recent_entries($args) {
    ~中略~
    <?php while ($r->have_posts()) : $r->the_post(); ?>
    <li><a href="<?php the_permalink() ?>"><?php if ( get_the_title() ) the_title(); else the_ID(); ?> </a></li>
    <?php endwhile; ?>

    </ul>
    <?php echo $after_widget; ?>
    }

    後半の<?php~>のところでウィジェットのphp出力をしていることがわかったので、ここにカテゴリーイメージのタグをサクッと挿入しました。

    <?php while ($r->have_posts()) : $r->the_post(); ?>
    <li><?php c2c_the_category_image(' ', ' ', 'gif', '/images/category_s/'); ?> <a href="<?php the_permalink() ?>"><?php if ( get_the_title() ) the_title(); else the_ID(); ?> </a></li>
    <?php endwhile; ?>

    はい、できあがりー。

    関連する投稿


    One Comment to “サイドバーの「最近の記事一覧」にアイコンをつける”

    1. あぬらた | 5月 29th, 2008 at 8:05:34

      こういうウィジェットを追加するプラグインがあればいいんよね縲怐B更新が落ち着いたら考えてみよう。

    コメントをのこす