WORDPRESS MUで、各ブログの新着エントリーをカテゴリーごとに数件ずつ表示するMUプラグインver.2.0
[ENGLISH ]
速攻で失礼しますが、bton_recent_postsをバージョンアップします。
WORDPRESS MUで、マルチブログの各ブログについて(同じMU・DBで運用しているブログについて)、
- 各サブブログから、
- 指定したカテゴリーに属するエントリーで、
- 公開されており、かつ、
- エントリーの種類が「投稿=post」
- エントリー後▲日以内の記事を
- それぞれ○○件、最大●●件
- アバター表示、コメント数と投稿者の表示対応(オプションマスクでそれぞれ表示・非表示を設定できる
- XHTMLバリデート(※これについては特に書いていませんが、VER.1も同じです)
抽出して、表示させるMU-プラグイン。
こちらはver.2となっており、パラメータで色々設定できるのに対して、ver.1では、もう少しシンプルな設定です。完全にまとめてもいいのですが、カスタムフィールドなど他の要素を加えるときにマージできない場合があるかもしれないのと、そんなに複雑なものよりもう少しシンプルなほうがいい、という人もいると思いますので、両方のバージョン系列を分けました。
【概要】
サブブログ内のスパム・削除フラグなどが掛かっていない公開エントリーをメインブログのトップページなどに指定数だけ表示させる。
例えば、各サブブログにそれぞれNEWSカテゴリーがあり、NEWSカテゴリーの投稿を、サブブログごとに3件、3つのブログから合計9件、メインブログのトップページに表示させたい、といったときに使用する。
エントリーの抽出はカテゴリー単位で行うので、ブロック単位で、ニュースから2件ずつ、テーマから2件ずつ、という指定が可能。
bton_recent_posts()内のそれぞれの変数が表示の指定パラメータとなっている。(※ver.1より設定項目が増えていますのでご注意ください。)
bton_recent_posts($how_many, $how_long, $cate, $limit, $titleOnly, $optmask, $exc_size,$begin_wrap, $end_wrap)
- $how_many: 全体でいくつのエントリーを表示させるか
- $how_long: ▲日以内の投稿
- $cate: 抽出するカテゴリーのID
- $limit: 各ブログから抽出するそれぞれのエントリーの数
- $titleOnly: trueならタイトル、投稿日、出典ブログ名、内容の一部抜粋なども表示する /falseなら、タイトルとエントリーへのリンクのみ表示
- $optmask: 各項目の表示・非表示を設定する(デフォルト: 255)
DISPLAY OPTIONS BITMASK
1; // gravatar(アバターアイコン)
2; // date(日付)
4; // author name(投稿者名)
8; // comment count(コメント数)
16; // blog name (出典ブログ名)
32; // post name (投稿のタイトル)
64; // post excerpt(本文からの抽出文)
128; // excerpt capitalization(英文で、抽出文の最初の数文字を大文字で表示する場合) - $exc_size: size of excerpt in words (デフォルト: 30)
- $begin_wrap: リストを挟むHTMLタグ(開始タグ)
- $end_wrap: リストを挟むHTMLタグ(終了タグ)
表示の指定は、表示させたいテンプレート内(例えば、page.phpやindex.phpなど)で
<ul><?php bton_recent_posts(); ?></ul>
というように記述する。
それぞれの表示項目に対するオプションは、L76の対応する変数の値を編集する。
もし、このプラグインを使用して、条件の違うエントリー抽出を複数行いたい場合は、L75の「//」を削除してアクティブにし、L76行頭に「//」を追加して行をコメントアウトする。
そして、パラメータの指定は、<ul><?php bton_recent_posts(ここに順番に記述); ?></ul>内で指定すると良い。パターンを変えていくつも表示させられる。(例えば、トップページの左ナビでは、カテゴリーID5のニュースばかりを各ブログから3件ずつ表示させ、右のサイドバーには、カテゴリーID2のテーマのエントリーを1件ずつ表示させる、ということも可能。)共通のパラメータは、L75からL76にコピーして残せば、それについては、都度設定しなくとも良くなる。※パラメータ値の記述順番を間違わないように注意してください。
複数のカテゴリーを表示するときの参考コード例として、下記のようにカテゴリーIDを変えて、コードを呼び出せば、別のブロック位置であってもそれぞれエントリーが表示されるので、ポータル的な表示が可能。プラグインのカスタマイズで、色々とバリエーションが作れる。
プラグインのソース内では、
function bton_recent_posts($how_many, $how_long, $cate, $limit, $titleOnly=false, $optmask=255, $exc_size=30, $begin_wrap='<li class=”pageposts_list”>’, $end_wrap='</li>’) {「タイトル以外の項目も表示、表示オプションの指定、抽出本文は30字、リストタグでまとめる」はプラグイン内で共通設定する。
<ul><?php bton_recent_posts(8, 30, 5, 2); ?></ul>//全部で8件、30日以内のエントリーをカテゴリー5から2件ずつ表示。
<ul><?php bton_recent_posts(4, 30, 1, 1); ?></ul>>//全部で4件、30日以内のエントリーをカテゴリー1から1件ずつ表示。
この2つを個別にテンプレートファイルに記述。
【使い方】
ソースをダウンロード・解凍し、FTPで、/wp_content/mu-plugin/ディレクトリにアップロード。(※mu-pluginディレクトリのプラグインは、管理画面のプラグインメニューで使用設定をしなくても、アップロードするだけで反映される。原則としてver.1と一緒には使えません。)
->>[ソースのダウンロード](bton_recent_posts_2.0.zip:4KB)
動作確認は一応していますが、ノーサポートです。もしものトラブル責任も負いません。ご自身のリスクの範囲内で自己責任で使用してください。