特定カテゴリーをサイドバーで表示する方法

ホームページを作成するにあたっては、いくつかの段階があると思う。

  1. 既成のブログに投稿するレベル
  2. HTMLがいじれるレベル
  3. スタイルシートの設定ができるレベル
  4. PHPが組めるレベル

WordPressを使うことにより、ホームページの作成が相当楽になったが、それでも、細かいことをしようと思ったらやはり4のレベルまでなってないと難しい。

だが、あいにく私はまだ2~3のレベルであり、4も、今は実例を見ながら勉強中、といったところである。

WordPressを使っていて思ったのは、せっかくのウィジェットも、自動表示できるのは、カテゴリー、タグ、ページといった大元の組み分け自身だけであり、組み分けされた中の細かい部分、特定のカテゴリーだけタイトルを表示、といったことに対してはほとんど無力であり、もしそれを表示しようと思えば、自動表示をあきらめ、『テキスト』入力のときにHTMLを組まなければならず、まだまだ痒いところに手が届いてない、というのが現状であろう。

そこで、改めて、

『ウィジェット内で特定のカテゴリーのタイトルを表示』

ということをさせたいと思ったときに、ネットで調べてみても、どうもいい方法がなかった。

と、言うか、どれも「PHP」で組まれており、どこにどう配置してよいかわからないことばかりであった。

そして、ようやく調べに調べたところ、以下の組み合わせをすれば実現できることが確認できたので、自分自身の備忘録としての意味も込めて記録しておく。

まず、ウィジェットの『テキスト』では、「PHP」を組んでも無視されることがわかった。そこで、ウィジェット内でPHPを使えるというプラグインを探してみた。

Executable PHP widget

プラグインの名称はこのような名前だが、管理コントロールパネルの「さらにプラグインを入手」を選んで自動インストールをするときは、「PHP Code Widget」という名前で探すことになる。

現在このメッセージはWordPress2.7.1で作成されているが、問題なく動いている。

とりあえずこれをインスト―ルして、使用できるようにすると、「利用できるウィジェット」の項目の中に、「PHP Code」というのが出てくるようになる。

一見すると『テキスト』と同じように見えるが、こちらは、中身を「PHP」で書いても実行してくれる、というもので、それをウィジェットとして配置場所を決めて設置する、というものである。

本ブログの右メニューで、それぞれ「一覧」となっているところはみんなそうである。

次に、挿入する中身である。

私は

query_postsで特定のカテゴリの記事を表示する[WordPressテンプレート作成#12]

このページの内容をそのまま使わせていただいた。(PAOLOGさんありがとうございます。)

<?php if ( have_posts() ) : query_posts('cat=1'); ?>
<ul>
<?php while (have_posts()) : the_post(); ?>
<li><a href="<?php the_permalink() ?>">
<?php the_title(); ?></a></li>
<?php endwhile;?>
</ul>
<?php endif; ?>

これをそのまま先ほどの「PHP Code」の中に入れればよい。また、タイトルは自由に付けることができる。

上記で「1」とある部分がカテゴリーIDのナンバーである。

ナンバーの調べ方は、投稿のカテゴリーから一覧を作成したり、カテゴリーの編集でURLが表示されている部分に『ID=いくつ』と表示されているので、それを使う。

表示される個数については、管理コントロールパネルの「設定」の中の「表示設定」で「1 ページに表示する投稿数 xx件」というところで設定した表示数が適用される。

これが実現すると、ブログへの投稿はできるがHTML等はわからない、というレベルの人に対してでも、投稿のカテゴリー分けでメニューの作成が自動でできるので、運用が非常に楽になる。

なぜWordPressで標準機能にしなかったのかが不思議なくらいの機能だと思うが、これでWordPresの運用方法は完璧に近くなった。

カテゴリー: ワードプレス — Masamichi 17:42
  • since 19th-12-2008
  • Translator

  • 弱気な言葉と戦う剣士

  • フルみっく伝染歌プレーヤー

  • このブログへのリンクは自由です。

    どのページにどのようにリンクしていただいても構いませんし、こちらへの報告も必要ありません。(と言うか、報告の手段は閉じています)
    ただ、私のことを知っている人が読めば私が誰だかわかると思うので、私の本名だけは公開しないようお願いします。

    改めて私の名前を書くときは、「Masamichi(さん)」とでも記してもらえれば助かります。
    よろしくお願いします。
    _(._.)_