タグ : WordPress

WordPress 2.5 RC1 公開

WordPress 2.5 RC1

じりじりとリリース日が伸びつつある WordPress 2.5 ですが、ようやく RC1 (リリース候補) が公開されたようです。

この RC1 公開でのフィードバックを待って、数日後に正式リリース日が決定される見通しだそうな。

刷新されるファイルアップロードマネージャーはかなりよく出来ているので、「Flexible upload」とは 2.5 でお別れになりそうな感じです。YouTube へのリンクなんかもサクサクと簡単にできちゃいます。ただ、投稿画面自体が少し使いづらくなっている面(現状の右側にあるメニューが軒並みすべて下部に移されている)があるので、これをどうにかするプラグインができてくるとうれしいのですが。

ああ、さっさと最新版にしてやりたい!

WordPress 2.5 リリース延期

まだかまだかと椅子の上で正座していて待っていたのですが、進捗ページを見てみると、いつの間にか延期が決まっていました。

∧∧
ヽ(・ω・)/   ズコー
\(.\ ノ
、ハ,,、  ̄

リリース日は一週間延びて、3/17 に。

チケット開き放題の状況でリリースしなかった判断は正しいかと思いますが、かといって、これだけ開いているチケットを後一週間で処理できるのかどうか……(細かなバグは放置するとしても)。

Feed 配信がどうもおかしい。

どうも最新の投稿を各種リーダーで引っ張ってこれていない気がします。ひとつずつズレている感じ。

たとえば、つい先ほど投稿した「トリミングから帰ってきたレウさんはふわふわのもこもこ」 なんかが、この記事を書いている時点ではまったく出てきません。たぶんこの記事を投稿した後に、「ふわもこ」が最新としてポップしてくることでしょう。

実際にフィードを配信している FeedBurner のページで見てあげると、しっかりと「ふわもこ」も存在しています。はじめはフレッシュリーダーだけなのかと思っていたのですが、Google Reader で試しに購読してみても、「ふわもこ」の一つ前の記事「WordPress 2.5 リリースまであと少し」が最新として扱われてしまっている模様。

うーん、なんでだろう? FeedMedic で見ても、特に異常はないって言われてるしなあ、とあちこち見て回っていたのですが……。

ん?

ちょ。+0900 になるはずが!

どうも WordPress のフィード配信上の投稿日時は GMT になっているみたい。ソース(feed-rss2.php などなど)を見てもそうなってるようですし。

ただ、これが原因なのかはよくわかりません。これまでは特に問題なく最新記事を引っ張って来れていたような気もしますし、ひとつ記事を投稿したらところてん方式に二番目の記事が最新のものとして出てくる理由にはイマイチならない気がします。

WordPress 2.5 でも GMT 基準のまま変更されていないようなので、2.5 にするタイミングで該当部分には手を加えてみますが、もし原因・解決策等々ご存じの方がいらっしゃったら是非教えてください。

WordPress 2.5 リリースまであと少し

新しもの好きの自分としては、早々に新バージョンに乗り換えてヒイヒイ言いそうな気はするのですが、3/10(北米)に WordPress 2.5 のリリース(2.4 はスキップ)が予定されています。日本語版はローカライズ等々があるだろうから、うーん、早くて日本時間の 3/12 とかでしょうか。

この WordPress 2.5 で変更される部分としては……

  • PHP4.2 から 4.3 への底上げ。
  • 管理画面のデザイン変更(すごい変わっていて正直ついていけない)
  • Gravator に対応(get_avatar() で呼び出せるみたい。テーマ側での対応が必要)
  • プラグインのアップデートが管理画面上から行えるように(現状、プラグインが全部消えるとかいう不具合があるらしい……)
  • ビジュアルリッチエディタのアップデート (TinyMCE v3.01)
  • 動画などの投稿が簡単に!(ファイルアップローダの大幅な変更)

ぐらい。ほかにも外部へのトラックバック機能の改善やら、SQLの最適化などなど、細々とした変化が盛りだくさん。英語まみれでとてもとても読んでられませんでした。

ローカル環境には trunk (http://svn.automattic.com/wordpress/trunk/)で最新版を取ってきてあるのですが、やはり新しくなった管理画面がどうにも使いづらい気がします。慣れの問題もあるのでしょうが、特にウィジェット管理部分がレイアウトがちょっとわかりづらい感じ。

でも、開発の進捗状況を見ると、55% だかになっちゃってるんですが、本当に間に合うのかな(笑)

WP-DBManager のメール文字化けを解消する

一日安静だーといいましても、一日中寝ていることもできないものなので、ネットしたりしながらゴロゴロとしているのですが、「wp-dbmanger 文字化け メールタイトル」だなんてクエリで検索があったので、そういえば気持ち悪かったものがひとつあったと思いだし、ちょっと直してみることにしてみました。

つい先日にもご紹介した、 WordPress のデータベースを自動でバックアップ・メール送信までしてくれる素敵すぎるプラグイン「WP-DBManager」ですが、やはり海外で作られたプラグインだけあって日本語のことなんかは考慮されていないつくりになっています。Gmail などで見れば問題はないようなのですが、ぼくが自宅で使用しているメールクライアント「Becky!」でバックアップメールを受け取ると、差出人と件名が壮絶に文字化けしてしまいます。

mojibakemail.gif
↑ こんなかんじ

ファイル自体は正常なのですが、メールボックスに化けに化けた件名のメールが溜まっていくにつれて、気持ちが悪いというかイライラしてきます。

原因自体は単純で、メールヘッダの From と Subject に WordPress の get_bloginfo(‘name’) (ブログ名)が指定されているからで、日本語が含まれたタイトルで運営しているとエンコードの都合で問題が出てしまうだけです。修正の方法も簡単でした。


$mail_subject = sprintf(__(‘%s Database Backup File For %s’, ‘wp-dbmanager’), get_bloginfo(‘name’), $file_date);
$mail_header = ‘From: ‘.get_bloginfo(‘name’).’ Administrator <’.get_option(‘admin_email’).’>’;

db-manager.php の 94,95 行目と database-manage.php の78,79 行目にある上記のコードから、メールの Subject, From 部分をメールヘッダ用にきちんとエンコードするべく、以下のように置き換えてあげるだけ。

$mail_subject = sprintf(__(‘%s Database Backup File For %s’, ‘wp-dbmanager’), get_bloginfo(‘name’), $file_date);
$mail_subject = mb_encode_mimeheader($mail_subject,”UTF-8″,”B”);
$mail_header = sprintf(‘From: %s Administrator <%s>’, mb_encode_mimeheader(get_bloginfo(‘name’),”UTF-8″,”B”), get_option(‘admin_email’));

mailmojibake2.gif
なおりました。:D

これでWP-DBManager を日本語化していようがいまいが、 どちらでも正常に表示されるはずです。

あくまでぼくの借りている CORESERVER 上でしか試していないので必ず直ります!とはいえませんが、 同じ問題でお悩みの方。一度おためしください :-)

CORESERVERでWP-DBManagerを動かすために

起きたらなぜか三時だった。

二度寝しようにも目がさえて眠れないので、摩訶不思議な状態に陥いり前々から気持ち悪く思っていた問題を解決することにしてみました。

WordPress のプラグインのひとつに、データベース内のデータをバックアップ、 リストア、バックアップしたデータをメールで自動送信ができるというすばらしいプラグイン「WP-DBManager」というものがあるのですが、このサイトが動いている CORESERVER ではデフォルト状態だと設定後に手動でのバックアップはできても、肝心のメール配信機能で 0byte のファイルが送られてきてしまうという問題が発生します。

これはどうも「そんな処理できねーよ!」というサーバー側からの無言の抵抗のようで、このメール自動配信機能は cron として処理する部分である以上、CORESERVER で……というよりも XREA 系のサーバーで動かすには、PHP を CGI として動作させる必要がでてきてしまうようです。

別にそうすりゃいいじゃないというお話でもあるのですが、CORESERVER のサーバーヘルプに書かれている説明だと『モジュール版PHPに比べて、動作が遅くなる。負荷が掛かる。』とあり、重くなるんかよウゲゲーと感情的に嬉しくありません。早いほうがいいですよね!

ルートに「AddHandler application/x-httpd-phpcgi .php」と書いた .htaccess を置けば実に簡単に解決するのですが、これだと全体がそう処理されてしまうわけですから、前述の負荷云々で問題が出そうです。

かといって、CGI として動作させないことにはどうにもなりません。そこで今回、その被害(?)を最小限に食い止める方法をご紹介してみます。

方法はいたって簡単。WordPress のルートフォルダに .htaccess を設置もしくは追記してあげるだけ(たぶん mod_rewrite がらみのものがあるので、追記になるはず)!

<files wp-cron.php>
AddHandler application/x-httpd-phpcgi .php
</files>

要は WordPress の cron 部分を担当しているファイルだけを指定してやるだけです。ひとまずこれでメールの 0byte 問題は解決。負荷 pt なんかもそんなに上がらないんじゃないかなーと踏んでいます。

お困りのかたは是非どうぞ、と言いたいところですが、ぼくも今し方、書き換えたばかりのものなので他にやっぱり問題が出るかもしれないというところは、念頭に置いていてくれると助かります :-)

おっと、ちなみに CORESERVER の mysql と mysqldump のパスは


mysqldump : /usr/local/mysql/bin/mysqldump
mysql : /usr/local/mysql/bin/mysql


となります。

WordPress 2.3.3

WordPress 2.3.3 は緊急のセキュリティリリースです。とても巧妙なリクエストによって、有効なユーザー権限を持つ者なら誰でも同一ブログ上の他のユーザーの投稿の編集ができてしまうという弱点が、私たちの XML-RPC の実装に見つかりました。

WordPress | 日本語 (2008-02-06)

日本語版もさきほどダウンロードできるようになったようです。

新しいバージョン大好きセキュリティリスクがあるのを放置しておくのもなんなので、サクッと 2.3.3 にアップデート。旧バージョンをご利用のかたはご注意!

サーバーの負荷が急に上がってしまったヨ

契約しているホスティングサービス「CORESERVER」さんですが、管理ページ上からCPUなり転送量なり、どの程度の負荷があるのかをポイントとして確認することができます。

ここ数日、投稿時もサーバーエラーが出たりと割と難儀していたこともあり、久しぶりに管理画面を見てみると、これまではずっと負荷状況的に問題がなかったところ(負荷率 0 ポイント)が 2/2 以降に急上昇。

問題になった 2/2 頃に導入したプラグインといえば、

ぐらいでしょうか(結構入れてるな!)。

このどれかが悪さしているというのも考えづらく、色々と原因を探ってみたところ、プラグイン「Smart Archives」を利用して生成しているアーカイブページでのクエリ数が異常に多いことに気がつきました。他のページなら、およそ30程度なのですが、アーカイブのみ 120 を越える勢いでクエリを発行している模様。

これはなんだろう。このページに Google の bot なりがガツガツやってきた影響で CPU 負荷が上がってしまったとか、そういうオチだったりするのか、たぶんそうだろう、そうであって欲しいと「アーカイブ」ページの一覧生成に利用していたプラグイン「Smart Archives」を急ぎ撤去し、同機能(むしろこっちのが高機能)な「wp-mosquito」に入れ替えました。

今のところ、実際にこれで負荷が収まってくれるかは分からないのですが、ちょっと一ページで吐くクエリとしては異常だと思われるので、同プラグインを利用されている場合にはちょっと注意が必要、かもしれません。一応、理由をサポートに問い合わせているところでもあるので、はっきりとした原因が分かった際にはこちらでもお知らせします。

ちなみに一ページごとにどれぐらいのクエリ、処理速度がかかっているのかは、WordPress のデフォルトテーマにもある以下のコードをテーマのフッタにでも挿入しておけば、いつでも確認することができます。

カスタムテーマを使用しているかたも、そっと挿入しておいてみてはいかがでしょーか。

<!– <?php printf(__(‘%d queries. %s seconds.’, ‘kubrick’), get_num_queries(), timer_stop(0, 3)); ?> –>

「’(シングルクォーテーション)」が全角になっているので挿入時には注意してください :D

注目させたい記事を表示するプラグイン

常にトップページ上にあげておきたいといったほどではなく、記事ごとの人気度を測って表示させるほどの必要もない。

埋もれてしまう記事を救う意味でも、特別な記事をピックアップするリストを簡単お手軽に作る方法はないものかと色々なプラグインを試していたのですが、シンプルに徹したものはどうも見つけられませんでした。

まあタグを使えば一発解決なんですが、タグの管理というのがどうも苦手というか、必要なくなったときのタグの付け替えが面倒だなあと思い、勉強がてらに「テーマのウィジェットとしてさくっと配置できて、ワンクリックで設定、出力も単純なリストで」的なプラグインをひとつ作ってみることにしました。

プラグインの作り方を解説しているサイトがないものかと探してみるも、データベースエラーで閲覧できないというステキすぎる状況……。そもそも、あまりプログラムが得意な人ではない ((コピペプログラマー))のですが、なんとか単純極まる仕組みのプラグインが完成。XAMPPがなければ、出だしで諦めていたかもしれません。

できあがったプラグインはこんな感じ。エディタ上から、注目させるかさせないかのチェックボックスで設定することができ、ウィジェットとしてぽいっと設置できるような感じになりました。早速設置してみましたが、大丈夫だよね……。

fav_plugin.gif

需要もないだろうし、これを公開する勇気まではさすがにありませんが、同じようなことで悩んでいる方がいらっしゃるようなら差し上げますので、コメント欄にでもお気軽にお知らせください。:-D

# その後、需要があったようなので公開しました。(2009/5/3 追記)

My Favorite Posts 0.3
http://blog.newf.jp/etc/favorite_posts.zip

しんしんと雪が降る中の暇つぶしには最適でした。

img_0598.jpg

豪雪のなか、散歩に行きたそうなレウさん。

眠れぬ夜の WordPress 遊び

なんでか四時ぐらいに目が覚めてしまったので、今更寝直すわけにはいかんというわけで WordPress を弄って遊んでます。 昨日もこんな感じだったなあ。

WordPress を弄るといえば、それはもう多々あるプラグインをどんどん入れて、「アッー、高機能っぽくなってるヨォ!」という遊びに尽きるわけですが、ご多分に漏れず今日もそのように遊んでいます。

そこで今日導入してみたプラグインは―

WP AJAX Edit Comments

投稿されたコメントを投稿者本人が編集できるようになるプラグインです。

本ウェブログでは20分間以内なら、投稿したコメントをちょいちょいと弄くることができるようになっています。誤字脱字の訂正などにがんがん利用してやってください。

本来なら名前欄も編集できたりするのですが、ここはそう編集することはないだろうし、ちょっと邪魔だなということで、削らせてもらいました。

昨日あたりからデザインテーマを変更したりと色々と弄くりまわしてしまっているので、何かおかしな表示になってしまっていたりするところがあれば、是非ともぼくに教えてください。いちおう、Firefox, IE7, Opera で確認しているので問題ないハズなのですけれど。