WordPress」カテゴリーアーカイブ

Open Source World 2009

?Open Source World 20097/1,2 と開催された OpenSource World 2009 に行ってきました。

いくつかセッションを受講して、パビリオンをまわって、最後は .org パビリオンで開催されたCMSパネルディスカッション「CMS最新事情〜ここ1年で大きく変わったCMS模様!」にめ組さんと一緒に WordPress コミュニティとして適当にパネラーとして参加してきました。
digitalcube め組さんと WordPress 日本語ローカルチームの tai さん、色々とお世話になりました。
でまぁ、適当な所感など。
続きを読む

WordPress の更新情報を JSONP 形式で出力

さて、昨日のエントリの続き。
「Googlle AJAX Feed API なんて外部のサービスに依存したくないんじゃ!」という人のために、昨日と同様のことを自前で行うための方法。

WordPress の更新情報を JavaScript で取得して表示するには AJAX と呼ばれる技術を使います。
しかし、http を通してデータを読み込むための XMLHttpRequest では、制限として別ドメインのデータを読み込むことができません
これを回避する方法が JSONP です。
hiromasa さんが、昨日のエントリにトラックバックしてくれた静的 HTML に WordPress を埋め込む方法を用いて JSONP 形式で、WordPress の最新記事を取得してみましょう。
続きを読む

WordPress Related Post for Japanese で全文検索を行う

hiromasaさんが作成したWordPress用の関連投稿表示プラグインWordPress Related Post for Japanese(wp-jrelated)を利用して、各記事に過去記事から関連する記事を自動で表示しています。

この wp-jrelated が関連記事を検索する仕組みですが、おおよそ以下のとおりです。

  • Yahoo! 日本語形態素解析でコンテンツを解析し、名詞を抽出
  • 抽出された名詞を頻出順でカンマ区切りでDBに格納
  • 抽出された名詞の中から頻出する名詞トップn個を抜き出し、それを使って過去記事を like 検索
  • 関連度合いは、元記事の頻出単語が幾つ関連記事に含まれるかを計算
    その際、上位頻出単語の方が重みを持つようにランク付け
    ※このランク付け方法が中々良くできてます、ソースを読むことをオススメ

これだけで、かなりの精度を出せているので大したモノです。
しかし、単語のMD5ハッシュを取ってデータを格納しているため「WordPress」と「wordpress」、「ついった」と「ツイッタ」を別単語として扱ってしまいます。
また、今は大丈夫ですが、単語を like の or で検索しているため記事数が膨大になった時のパフォーマンスも気になります。

てなわけで、MySQL の全文検索機能を使って、さらに精度アップ&検索速度アップを狙ってみました。
続きを読む

適切なフィルタフックを探す

WordPress では、アクションまたはフィルタをフックして、WordPress 本体の処理結果や方法をプラグインで変更することができます。
( see. プラグイン API – WordPress Codex 日本語版 )

自動で何かをする系のプラグインを開発する際は、まずどのアクションフック or フィルタフックが使えるのかを調査することから始めます。
codex のプラグイン API/アクションフック一覧, フィルターフック一覧から探すのが一般的だと思いますが、私の場合は WordPress のソースから使えそうなアクションフック・フィルタフックを探します。
この辺のノウハウってあまり文章化されていないようなので、私のやり方を簡単にまとめておきます。
続きを読む

各種フィード用テンプレートの変更

なんでwpにfeedのテンプレートがないんだぜ?だるまんさんが、Twitter 上で「なんでwpにfeedのテンプレートがないんだぜ?」とつぶやいていました。
確かに WordPress では、テーマ変更で見栄えがガラッと変わるのに feed は色気の無い画一的なものばかり。
feedburner 導入で表示されるフィードのようにちょっと一工夫したカッコイイフィードを表示すると自己満足度が急速に上がりそうです。
他にも P2 テーマ用にエントリ本文+コメントを含んだフィードを配信するとか、私的にはあまり嬉しくないですがフィードに AdSense 等の広告を含んだりとか、色々と応用範囲が広がりますね。
そんなわけで、各種フィード用テンプレートをデフォルト以外のものに変更する方法を調べてみました。
結論から言うと、アクションフックの remove, add で、簡単にできます。

WordPress では、各種フィードを要求された場合 do_feed_rss, do_feed_rss2, というアクション(フィルタ)をフックして、それぞれ do_feed_rss(), do_feed_rss2(), という関数内でテンプレートをロードしています。
なので、これらのアクションフックを remove 後、新たにテーマフォルダ内のテンプレートをロードするようなアクションフックを add すれば、お好きなテンプレートをロードできるようになるのです。
続きを読む

Re: 日本での WordPress コミュニティ

Ktai Style 作者のゆりこさんが、日本での WordPress コミュニティーをまとめてくださっています。
このうち、私は WordPress Plugins/JSeriesWordBench に参加させてもらっています。
実は、もうひとつ Twitter 上で運営されているコミュニュティがあります。
一応、私が管理しているので、簡単にご紹介。

WordPress Fan (wordpress_fan) on Twitter

ついっこを使って運営されているため、@wordpress_fan 宛に@リプライすると、Twitter で @wordpress_fan をフォローしている人の TL につぶやきが届きます。
Twitter を使っているので、まったりとしか情報は流れませんが、広く薄く情報を集める ( or 広める) には、それなりに使えると思います。
Twitter 利用している WPer な人は、フォローしてガンガンと @wordpress_fan 宛につぶやいてやってください。

また、wordpress_fan では、いくつかのRSSフィードを定期的に監視して投稿しています。
wordpress_fan から流れるRSSフィードは、以下のとおりです。

Twitter では、他にぼのさんが管理されている fun WordCamp Japan と言うコミュニュティもあります。
こちらも WordCamp 前後には盛り上がってました。
# 今は沈静化?

P2 / Faster Blogging 日本語リソース

P2 Screenshot先日行われた WordCamp Tokyo 2009 でも話題になっていたらしいWordPressの新テーマ「P2 Ver.1.0.1」用の日本語リソースを作りました。
まだまだ、訳がおかしなところもあると思いますが、とりあえず公開します。
添削は大歓迎なので、お気づきの点があれば、ご指摘お願いします。

昨晩はカイ士伝さんのP2サイトで色々と遊ばせてもらったのですが、これが面白い。
新規投稿や、新規コメントがあった時に Auto Reload するところや、キーボードショートカットを用意してあるところなど、非常に使いやすいテーマです。
とりあえず、私もテストサイトに入れてみました。

P2テーマの詳細は、カイ士伝さんのエントリ "WordPressがTwitterみたいになるテーマ「P2」導入" 辺りを参考にしてみてください。

ダウンロード

WordPress Plugins/JSeries » P2 日本語版

Commenters Info

commentars-info スクリーンショットTwicon のバージョンアップ時に、コメント投稿者の Twitter ID 等の情報を一覧表示できる機能を追加しました。
この機能が気に入ってしまい、ちょっと強化して分離独立させた新たな WordPress 用プラグインを作ってみました。まだ、まだ、試作段階です。
機能要件が固まって実装できたら JSeries でリリースしますが、とりあえずこちらに置いておきます。
よろしければ、試して意見などいただけるとありがたい。

ダウンロード

WordPress > Commenters Info « WordPress Plugins
続きを読む

Twitter API の仕様変更

なんか、ついこんで知らない人のアイコンが出てる。。エイプリル・フールも明けた平和な朝、Twitter の TL に流れた @iddzこの発言で、異変に気づきました。
なんと、ついこんが次々と @show のアイコンに変わっていくのです!
しかも、ウチのサイトだけでなく、他の Twicon for WordPress を導入してくださってるサイトすべてがです!
昨日のバージョンアップでしくったか?と焦りましたが、どうやら Twitter API で仕様変更があったようです。
続きを読む

Head Cleaner と WP Super Cache を同時に動作させる際の問題点

拙作のプラグイン Head Cleaner と、WP Super Cache を同時に有効化している場合、多少問題があります。
Head Cleaner では、JS、CSS のキャッシュを wp-content/cache/head-cleaner フォルダに作成するのですが、WP Super Cache でキャッシュファイルを削除すると、このフォルダも削除されてしまいます。
# これは Twiconwp-kougabu でも発生する問題です。

で、これに対処するには、今のところ wp-super-cache/wp-cache-phase2.php の 368 行目を以下のように修正するしかありません。

	$protected_directories = array( $cache_path . '.htaccess', $cache_path . 'meta', $cache_path . 'supercache', $cache_path . 'head-cleaner' );

ちなみに、Twicon、wp-kougabu も導入している場合は、以下のように修正すればおっけです。

	$protected_directories = array( $cache_path . '.htaccess', $cache_path . 'meta', $cache_path . 'supercache', $cache_path . 'head-cleaner', $cache_path . 'twicon', $cache_path . 'wp-kougabu' );

この辺 WP Super Cache が、wp-content/cache 内のフォルダ・ファイルを問答無用で削除するという凶悪仕様のため、Head Cleaner (Twicon) 側では対処の使用がありません。
WP Super Cache が、自分が作ったフォルダ以外は削除しないようになるか、せめて $protected_directories を他のプラグインから指定できるようにしてくれれば、対処のしようがあるんですが