カテゴリー: WORDPRESS

WORDPRESS MUで、各ブログの新着エントリーをカテゴリーごとに数件ずつ表示するMUプラグイン

[ENGLISH ]

WORDPRESS MUで、マルチブログの各ブログについて(同じMU・DBで運用しているブログについて)、

  • 各サブブログから、
  • 指定したカテゴリーに属するエントリーで、
  • 公開されており、かつ、
  • エントリーの種類が「投稿=post」
  • エントリー後▲日以内の記事を
  • それぞれ○○件、最大●●件

抽出して、表示させるMU-プラグイン。

【概要】

サブブログ内のスパム・削除フラグなどが掛かっていない公開エントリーをメインブログのトップページなどに指定数だけ表示させる。

例えば、各サブブログにそれぞれNEWSカテゴリーがあり、NEWSカテゴリーの投稿を、サブブログごとに3件、3つのブログから合計9件、メインブログのトップページに表示させたい、といったときに使用する。

エントリーの抽出はカテゴリー単位で行うので、ブロック単位で、ニュースから2件ずつ、テーマから2件ずつ、という指定が可能。

bton_recent_posts()内のそれぞれの変数が表示の指定パラメータとなっている。

 bton_recent_posts($how_many, $how_long, $cate, $limit, $titleOnly, $begin_wrap, $end_wrap)

  1. $how_many: 全体でいくつのエントリーを表示させるか
  2. $how_long: ▲日以内の投稿
  3. $cate: 抽出するカテゴリーのID
  4. $limit: 各ブログから抽出するそれぞれのエントリーの数
  5. $titleOnly: trueならタイトル、投稿日、出典ブログ名、内容の一部抜粋なども表示する /falseなら、タイトルとエントリーへのリンクのみ表示
  6. $begin_wrap: リストを挟むHTMLタグ(開始タグ)
  7. $end_wrap: リストを挟むHTMLタグ(終了タグ)

表示の指定は、表示させたいテンプレート内(例えば、page.phpやindex.phpなど)で

<ul><?php bton_recent_posts(8, 30, 5, 2, true, ‘<li class=”pageposts_list”>’, ‘</li>’); ?></ul>

というように記述する。
この例では、全体で8つのエントリー、30日以内に投稿されたもので、かつ、カテゴリーIDが5のものを各2件、エントリーのタイトルだけではなく、出典ブログ名や投稿日時、投稿内容の一部も、<ul><li class=”pageposts_list”></li></ul>タグを使って表示させる、という指定になる。

複数のカテゴリーを表示するときは、下記のようにカテゴリーIDを変えて、コードを呼び出せば、別のブロック位置であってもそれぞれエントリーが表示されるので、ポータル的な表示が可能。プラグインのカスタマイズで、色々とバリエーションが作れる。

<ul><?php bton_recent_posts(8, 30, 5, 2, true, ‘<li class=”pageposts_list”>’, ‘</li>’); ?></ul>
<ul><?php bton_recent_posts(8, 30, 1, 2, true, ‘<li class=”pageposts_list”>’, ‘</li>’); ?></ul>

【使い方ソースをダウンロードし、FTPで、/wp_content/mu-plugin/ディレクトリにアップロード。(※mu-pluginディレクトリのプラグインは、管理画面のプラグインメニューで使用設定をしなくても、アップロードするだけで反映される。)

->>[ソースのダウンロード](bton_recent_posts_1.0.zip:2KB)

動作確認は一応していますが、ノーサポートです。もしものトラブル責任も負いません。ご自身のリスクの範囲内で自己責任で使用してください。

*コメント*0221/次のバージョンとの整合性を取るため、ちょっと変数名を変更しました。動作には変更ありません。 VER.2をリリースしました。

WORDPRESSのプラグイン:カスタムフィールドを使いやすくカスタマイズ!

カスタムフィールドのGUIを使いやすくして、CMSとしても利用しやすくするプラグイン2つ。

ベースのプラグインは同じものから、独自仕様を追加したりカスタマイズしたものなので、使いやすい♪

それぞれに特徴があって、1つは、共通フィールドと投稿ごとのフィールドをそれぞれ追加できる「Custom Field GUI Utility」(※2009/2/6時点の最新アップデート版はこちら。)

もうひとつは、ページテンプレートとして、いくつかのパターンを追加でき、また、プラグインの設定画面から一括設定が可能な「Custom Field Template」。こちらは、よりCMSっぽいことができる。

【WORDPRESS】MTのマルチブログっぽいことをする

WordPress MUは、マルチユーザーマルチブログなんだけども、1つMTと大きく違うのが、MTのMULTIBLOGでできる、子ブログの記事のインポートができないってこと。これができるのとできないのとでは、CMS化して使用するためには、大違い。

そこで、登場するのが、feedwordpress。このプラグインを使うと、自分のブログだけでなく、他のものでもRSSフィードからエントリーデータを取得して自分のブログ内に表示ができる。

って、これ。取り込んだデータは自分のグログで自分の記事として公開できてしまうのよ。。。
自分のブログじゃなくて人のブログから記事を取り込んで自分のブログの中に公開しちゃったら、コンテンツドロボーじゃんか。。。

まあ、とりあえず、ワタシの目的は、自分の子ブログのデータが読み込めればいいので、とりあえず、人様のことはよしとする。

  1. 上のサイトからZIPとかのデータをダウンロード。
  2. 解凍して、wp-contentsのpluginフォルダにアップロード。WPの左ナビゲーション内のプラグインメニューからfeedwordpressを「使用する」リンクをクリック。
  3. そうすると左ナビと(ついでに言うと設定メニューの中にも)ヘッダーの右上にSyndicationというメニューが出てくるので、そこの設定で読み込んだ記事のカテゴリーとか、読み込んだ記事をブログ内のコンテンツに取り込むのか元のサイトへのリンクで処理するのか、記事の投稿者は誰にするのかとか色々初期設定しておく。
  4. あとは、Syndicationのほうのメニューページで、取り込むサイトのURLを入力すればOKなんす。

これだけ。悪いことに使っちゃダメだよ~。自己責任だよ~。

今回やったこと。

  • WORPRESS MUをダウンロードしてきてサブドメインを使ってマルチユーザー・マルチブログのWPサイトを構築。
  • MUは英語ベースなので、こちらから日本語ソースをもらってきて、wp-contents-languageフォルダを作成して日本語ファイルをインストール。(アップロードしてからサイト管理-設定の言語設定をjapaneseに変更。wp-config.phpのWPLANGも変更してdefine (‘WPLANG’, ‘ja’);とする。詳しくは、上記日本語ソース配布サイトに書いてる。今は、ver.2.7作成中となっていたが、そのうちできるでしょ。2.6.2用でも一部英語が残るだけで別に問題なし。)
  • 2つ目のブログを作って、そのブログに、ktai_entryプラグインを入れて投稿設定。
  • その記事を、feedwordpressでメインのブログのニュースカテゴリに読み込む。(ニュースを子ブログで作る想定ね)
  • ついでなんで、携帯電話でも見られるように、ktai_styleも入れてみた。携帯でメール投稿した後、内容確認したくなるときもあるだろうしね。(作者のyurikoさんってすごいなぁ。。。なんでもできちゃうんだなぁ。。。)

これで、WEBサイトのニュース記事を携帯電話からメール更新で更新できて、しかも、その更新は、ニュース専用の投稿者にお願いする、ってことができちゃう。ヤッタ。

応用で、特定のカテゴリー記事だけ別部門で運用して、別々に運用しているカテゴリーのコンテンツをメインサイトにまとめるとか、そういうこともできるよねw(^^)w
別に同じブログ内で、カテゴリーだけ分けて、ニュース記事を抽出してもいいんだけど、そうすると、更新頻度の高いカテゴリーの記事に頻度の低いカテゴリーの記事が埋もれちゃったり、カテゴリーごとに編集権限が違うときとか、公開前に他の人には見せられないカテゴリーの記事があったりとか、そういうときに困ることもあるから、できると便利な一工夫ってことになりますネ。

WORDPRESS MUキター!

とか言ってみる。

実はもともとMT愛好者のワタシ。
昔は、マルチブログとカスタムフィールドを駆使して、CMSッぽいことしてたね。あの頃は、CMSといえば、エンタープライズかブログのそれっぽいのしかなかった。。。
もちろんエンタープライズなんて買えないさ~ってな低予算プロジェクトではMTでがんばってた。

ニュースは、ニュースブログで、商品は商品ブログで作って、メインブログにインクルードして、それぞれのブログで更新権限分けて、みたいなことをして何とかしのいでた。

最近、いろんなCMS、それもブログの何ちゃってCMSと呼んでみた~みたいなのではなくて、ちゃんと承認フローとかロールもついてるようなちゃんとしたやつがオープンソースで出てきたりして、使う機会は無くなってきたけど。。。

久しぶりに、グログツールで、ホラ、アレだ、ちょいと簡単にマルチブログ作ってインクルードしたい、なんてことを考えたら、やっぱWORDPRESS使いたいな~、PHPだしな~、OSCだしな~、MTは独自タグ多いしな~、とか心がぼやき始めたので、とりあえず検索。

MTOS(MTのオープンソース版)使うって手もあるけど、そうすると、商用でクライアントに提案したいときに、結局パッケージ必要になるから、どうせなら、WPで実験しとこうかと。)

WPはシングルブログだから、別のブログをインクルードしてきてもいいとしても、同じサイトに属する複数のブログを分けて管理するのは面倒・・・

WORDPRESS MUならできるかも。マルチブログだし。一部のプラグインとかは、動かないのもあるみたいだけど、B豚の使いたいのはいけそうな感じ。

さて、インストール。

ちょっとWPとちゃうけど、まあいいか。マルチブログをサブドメインで運用するかサブディレクトリで運用するか?サブドメがええわ。どっちでもいいけど、とりあえずテストやし。

んで、あれこれやって、2つ目のブログ作ろうと思って、挫折・・・あれ?これってどこのディレクトリ参照してんの?
てか、表示されんし。

どうも、WPMUをサブドメインで運用するには、ホストのDNSでAレコードにワイルドカード(*.domain.comみたいのん)が指定できないとだめらしい。しかも、うちのサーバーは、コンパネでサブドメインとかDNS設定するやつやし、ROOT権限はないし。

WPの内部で、WPのメインディレクトリへのアクセスをサブドメイン(=複数ブログ)ごとに振り分けている模様。

どうすっぺ~。どうすっぺ~。

う~ん。う~ん。

だめもとで、とりあえず、ホストのコンパネでサブドメインつくる。→サブドメの参照ディレクトリは、メインドメインと同じディレクトリにする。

お?なに?いけたわ。悩みに悩んだワタシの3時間をカエセ。

てことで、あえなく解決。

備忘録やけど、とりあえず、この悶々たる想いをだらだら書きたかったので、普通にブログになってもた。
たまにはいいよね、こういうのも?

あとは、プラグインのテストと、ブログのインクルードテンプレ作ることだね。。。
やれやれ、いつになったらできるやら。。。