「 Related Posts by Category Widget 」のインストール、設定、使用方法についての記事。
関連記事のリストをウィジェットに表示させるWordPressプラグイン。同じカテゴリに属する投稿記事を抽出する。カテゴリ中心に構成しているブログにはオススメだ。
ダウンロード
配布サイト:Related Posts by Category Widget
配布サイトは、英語です。
2010年10月30日現在のバージョン:Related Posts by Category Widget 1.0.1
必要なワードプレスのバージョン:2.7.1以上
対応済みワードプレス最新バージョン:WordPress 3.0.1
zipファイルを解凍すると、「related-posts-by-category-widget」というフォルダが出てくる。
インストール
「related-posts-by-category-widget」フォルダを、フォルダごと、wp-content/plugins/ フォルダにアップロード・設置。
管理パネルで、「プラグイン」をクリックし、プラグイン設定画面を開く。「 Related Posts by Category Widget 」を探し有効化。
使用方法
管理パネルの「外観」の横の▽をクリック。「ウィジェット」をクリックし、ウィジェット設定画面を表示。表示させたいウィジェットエリアへ、「Related Links by Category」をドラッグ&ドロップ。
右の画像が、「 Related Links by Category 」ウィジェット。
- Title
-
ウィジェットのタイトルを設定。
-
タイトルを付けない場合は、空白にする。
- Number of Posts to Show
-
表示する投稿記事の数を設定。
- Order By
-
何順で並べるかを設定。
- Show Category Names?
-
カテゴリ名を表示するか。
- Link Cat Name to Archive?
-
カテゴリ名に、カテゴリのアーカイブページへのリンクを付けるか。
- List Posts Multiple Times?
-
複数のカテゴリに属する投稿記事を、複数のカテゴリごとに表示するか。
出力
出力されるHTMLの例。
1 2 3 4 5 6 7 8 9 10 11 12 13 14 | <h3 class="widget-title">Related Links</h3> <ul> <li class="serif"><span class="cat-name">カテゴリ名1</span> <ul> <li class="cat-item" id="related-cat-post-投稿記事ID"><a href="パーマリンク1" title="投稿記事名1">投稿記事名1</a></li> <li class="cat-item" id="related-cat-post-投稿記事ID"><a href="パーマリンク2" title="投稿記事名2">投稿記事名2</a></li> </ul> </li> <li class="serif"><span class="cat-name">カテゴリ名2</span> <ul> <li class="cat-item" id="related-cat-post-投稿記事ID"><a href="パーマリンク1" title="投稿記事名3">投稿記事名3</a></li> </ul> </li> </ul> |
バグ
2010年10月30日現在のバージョン「Related Posts by Category Widget 1.0.1」を、WordPress 3.0.1 で使用したところ、「Number of Posts to Show」が思い通りに機能しなかった。
これは、「related-posts-by-category-widget.php」ファイル内で、「get_posts」タグを使うときに、引数で、「numberposts」パラメータが指定されておらず、初期値の「5」が適用されてしまうためである。「Number of Posts to Show」で、100を指定しようが、1000を指定しようが、カテゴリごとに読み込まれるのは、5を超えることはないわけだ。
そこで、「related-posts-by-category-widget.php」ファイルを編集。
「related-posts-by-category-widget」フォルダ内にある「related-posts-by-category-widget.php」ファイルをテキストエディタで開く。
55行目の
1 | $catposts = get_posts('category='.$category->cat_ID.'&exclude='.$exclude_string.'&'.$order_str); |
の部分に「numberposts=数字&」を追加。
1 | $catposts = get_posts('numberposts=数字&category='.$category->cat_ID.'&exclude='.$exclude_string.'&'.$order_str); |
数字の部分は、呼び込みたい投稿記事数を指定する。
筆者なら、
1 | $catposts = get_posts('category='.$category->cat_ID.'&exclude='.$exclude_string.'&'.$order_str); |
を
1 2 | $data['disp']++; $catposts = get_posts('numberposts='.$data['disp'].'&category='.$category->cat_ID.'&exclude='.$exclude_string.'&'.$order_str); |
に変更。さらに、61行目の
1 | if ($d <= $data['disp']) { |
を
1 | if ($d <= 100) { |
に変更する。
これで、カテゴリごとの関連記事数は、「Number of Posts to Show」で設定した数が、”おおよその上限”になる。複数のカテゴリに属する投稿記事は別カウントになっている(?)ようなので、”おおよその上限”なのだ。
感想
関連記事表示は、タグや、タイトルなどから抽出するプラグインが多く、カテゴリ抽出は見かけない。カテゴリから抽出するプラグインを探している人は意外に多いのではないだろうか。上記バグさえ修正できれば、カテゴリ中心に構成しているブログにはいいかも。
筆者もカテゴリ抽出の関連記事表示を探していたのだが、PHPコードを書いて、テキストウィジェットで動かすか、一層のことプラグイン化して配布しようか・・・思案中である。