wpのバックグラウンドで動くpingの仕組み(wp-cron)

2009 年 9 月 9 日

気になったので調べてみました。

まずはソースコードを追ってみました。

まず wp-includes/post.php に

wp_schedule_single_event(time(), ‘do_pings’);

という行が。
どうやらこれがスケジュールの登録をする関数のようで、wp_postmetaにmetakeyが「_pingme」の行を追加して送信待ちのpostを記録します。

この関数は wp-includes/cron.php にあって、同じファイル内の _set_cron_array という関数で wp_option.cron にスケジュール情報を格納します。

だいたいの仕組みがわかったところでググってみたら、詳しい説明が見つかりました。
http://another.maple4ever.net/archives/130/

なるほど。理解しました。

ちなみにcronのスケジュール情報はwp_options.option_name = ‘cron’ のフィールドに入ってます。
シリアライズされた情報が格納されているので、肉眼で見てもよくわかりませんが、wp-cron-dashboardというプラグインで可視化できます。
http://en.sourceforge.jp/projects/wppluginsj/releases/36895

wp-cron-dashboard

wp-cron-dashboard

Custom Field Guiの拡張したCustom Field Template

2009 年 9 月 5 日

以前このブログで、カスタムフィールドの登録・編集を支援するCustom Field Guiというプラグインを紹介しましたが、それの拡張版でCustom Field Templateというのが出てました。

Custom Field Guiは非常に便利なプラグインなんですが、設定はサーバー上のiniファイルを直接編集しなくてはいけないという欠点がありました。(そうそう編集するものでもないですが)
Custom Field Templateはそうした点が改良され、設定はすべて管理画面上ですることができます。

custom_field_template

Custom Field Templateプラグイン設定画面

custom_field_template2

Custom Field Template記事投稿画面(デフォルト)

とても便利なので、このまま使わせてもらおうと思います。

Popular Postプラグインで人気記事を表示

2009 年 9 月 2 日

Popular Postsという、人気記事リストを生成してくれるプラグインを導入しました。
右サイドバーにあるのがそれです。このブログはアクセスがほとんどないので、人気もクソもないんですが・・・

ちなみにこのプラグインはPost-Plugin Libraryというプラグインに依存しているので、先にそっちを入れておく必要があります。入れてないと警告メッセージが出ます。

プラグインを有効化すると、ウィジェットに「Popular Posts」が増えるので、任意の位置に入れれば設定完了。もしくは「<?php popular_posts(); ?>」というタグをテンプレートに埋め込みます。

ファイルアップロードスクリプトがasync-upload.phpに変わってた

2009 年 9 月 2 日

久しぶりにwpでファイルのアップロードをしようとしたら、パーミッションエラーでアップロードできなくなって困ってしまいました。
ちなみにこのブログはxreaというレンタルサーバーに置いており、php関連のパーミッション設定が少し複雑です。

原因はずばりこれでした。
http://sb.xrea.com/archive/index.php/t-12693.html

ファイルアップロードのスクリプトがupload.phpからasync-upload.phpに変わっていたようです。
というわけで、wp-admin下の.htaccessに

<Files "async-upload.php">
AddHandler application/x-httpd-phpcgi .php
</Files>

という記述を追加して解決しました。

「1ページに表示する最大投稿数」をテンプレートで取得する

2009 年 9 月 2 日

管理画面の「表示設定」のページにある項目です。

これです。
posts_per_page

get_option(‘posts_per_page’);

これでいけます。

ちなみにこのget_optionは他の項目でも使えるようです。たとえばposts_per_rssとか。
全部試したわけではありませんが、inputフィールドのnameを見てその値を引数に指定すれば使えると思います。

metaタグを自動生成するプラグイン Another Wordpress Meta Plugin

2009 年 8 月 12 日

http://wordpress.org/extend/plugins/another-wordpress-meta-plugin/

meta descriptionとmeta keywordを自動的に生成してくれるプラグイン。

pluginsディレクトリに放り込んで、プラグインONにすればとりあえず動作します。

細かい調整もできるようですが、最近はmetaタグはそれほどSEOでも重要視されていないようなので、しばらくデフォルトのまま運用してみようと思います。

同じようなプラグインでwpseoというのもあります。
http://www.wpseo.org/

こちらは多機能で上級者向けといった感じです。

関連記事リスト自動生成プラグイン WordPress Related Posts

2009 年 8 月 7 日

該当記事の関連記事を自動で生成してくれるプラグインです。

http://wordpress.org/extend/plugins/wordpress-23-related-posts-plugin/

プラグインをインストールし、記事ページに

<?php wp_related_posts(); ?>

のタグを入れるだけで使えます。管理画面では表示記事数など、いくつかの項目の設定もできます。

このブログでも導入してみました。
どういうロジックで関連性を見ているのかよくわかりませんが、とりあえずしばらく使ってみます。

WordPress2.8jaにアップグレード・・・!?

2009 年 6 月 16 日

今回も自動アップグレードで楽々アップグレード♪

ファイル更新、DB更新を終えてログインしなおすと、ダッシュボードにこんな記述が。

http://ja.wordpress.org/2009/06/13/attention-autoupgrade-28/

先日リリースしました WordPress 2.8 への自動アップグレードの際に、サーバー上のファイルが削除される現象が報告されています。報告によると、この問題が発生した場合にはサーバー上の WordPress 以外のファイルも削除されるとのことです。

そりゃないわ。
とりあえずサーバー上のファイルを確認してみましたが問題はなさそうですが、念のため前日夜にとっておいたバックアップを保管しておくことにします。

しかしこんな重大なバグを含んだままリリースするとは。。。

今後は新バージョンが出てもすぐに飛びつかず、しばらく様子を見るようにしたいと思います。

投稿のリビジョンをまとめて削除するプラグイン Delete Revision

2009 年 6 月 5 日

wpの記事をDBから直接検索・閲覧している時、投稿のリビジョンが邪魔だったので「まとめて削除できる方法はないかな~」と思って探して見つかったのがこれ。

http://wordpress.org/extend/plugins/delete-revision/

一括で削除できます。

記事内の特定文字列をリンク付文字列に変換するプラグイン「SEO Smart Links」

2009 年 6 月 5 日

http://kachibito.net/wordpress/7-traffic-up-plugin.html
こちらのページで紹介されていたのを見て、さっそく使ってみました。

http://wordpress.org/extend/plugins/seo-automatic-links/

いい感じです。
自動的にハイパーリンクを挿入する文字列は、設定画面で「文字列,URL」の形式で指定できます。こんな感じ。

yahoo,http://www.yahoo.co.jp/
google,http://www.google.co.jp/

さらに、他に記事タイトルと同じ文字列の場合も自動でリンクに変換してくれるようです。

まだインストールして数分しか経ってませんが、これはかなりよさげです。引き続き使ってみたいと思います。