WordPress 2.3からcoreのコードにタグ機能が入ったので早速使ってみる。必要最低限の機能しか実装されていないということだが、こんな感じで。
- CLICK TAGSプラグインを入れる。(タグの一覧を表示し、それをクリックしてタグ付けできる。)
- この辺の記事を参考に、今のテーマでタグを扱えるようにする。(もともとカテゴリーを使ってないので、the_categoryの代わりにthe_tagsを使う感じ。)
- Widgetにタグクラウドがあるので、タグクラウドの表示は楽チンだ。
- 昔の記事を気が向くまま、ポチポチとタグ付けしていく。(UTWは難しそうだったので、これまではtagclick.netを使っていた。UTWとかだと移行手段があるようだが、残念ながらtagclick.netはそうはいかないので、ひとつひとつ気長に。それにしてもアホなこと書いているなあ。ついでにタグも少し整理してみる。)
別にtagclick.netでかまわないんじゃないか、と思ったが、投稿作成画面でタグ付け出来るのはやっぱり便利だ。
2007/11/17追記: WordPress 2.3.1用にWP Multibyte Patchというのがあり、メールに限らずMultibyte文字関係の扱いをうまくやってくれる。このプラグインを使用した方が良いので、本記事は無効。(参考記事。)
数日前にWordPress 2.2.3でコメント通知メールの文字コードをISO-2022-JPにするパッチを書いた。WordPress 2.3でも同じことをしようとwp-includes/pluggable.phpのコードを眺めていたら、なんかやたらにapply_filtersが目立つ。パッチなんてしないでもフックでいけるんじゃなかろうか?と思って調べ始めたが、肝心なところにフックが付いていない。
ただ、文字化け実証プラグインを眺めていたら、phpmailer_initにadd_actionして、そこでガシャガシャ書き換えちゃえばいけるかも、と思えてきたので、強引なプラグイン(ダウンロードはこちらから)を作ってみた。なんとなくうまくいってる模様。
Subject、FromName、Bodyを無理矢理ISO-2022-JPにMIMEエンコードしてしまうモノ。とりあえずこれを入れれば文字化け実証プラグインも要らなくなるはず。ただしWordPress 2.2.3だと、phpmailer_initのフックを動かしてからFromNameの処理をしてphpmailerを呼ぶ格好なんで、うまく動かないような気がする。
WordPress 2.3が出た。日本語リソース入りは未だ用意が出来ていないようだが、リソースファイルがあるのでアップグレードしてみる。基本的には2.2.3に対して上書き。
- WordPress 2.3のzipファイルをダウンロードしてローカルに展開する。
- 日本語リソースファイルをダウンロードして、wp-content/languagesに入れる。
- wp-includes/widgets.phpの検索ボタンの前にある<br />を消す。(これ、みんな、邪魔くさくないのかな。)
- wp-includes/feed-rss2.phpにRSS Feedを全文配信にするカスタマイズを行う。(the_content()をthe_content_rss(”, 0, ”, 0, 3)に変更する。)
- バックアップする。
- プラグインを全部止める。
- アップロードする。
- 管理画面にアクセスしようとすると自動的にwp-admin/upgrade.phpを実行してくれる。ここでデータベースのアップグレードが行われる。
- プラグインを動かす。今回から変なパッチをやめてakismet-multibyteviewを使う。Google sitemap generatorは古いモノはダメだと聞いたので、最新版の3.0にする。
コメント通知メールの文字コードをISO-2022-JPにするのは、これからもそもそやる。
すし銚子丸の柏中央店は2007/9/30で閉店。今日は子供の誕生日ということもあり、家族で久々に行ってきた。それにしても歩いて気楽に行ける回転寿司屋がなくなるのは残念だ。
隣にあるサンスポーツ21も終了。こっちは大型競合店の相次ぐ出店で撤退、との理由らしい。
跡地はどうなるのかな?
昨日、自民党総裁選のニュースを見ていたら、福田陣営は昼飯にカツカレーを食って験を担いでいた。
カツカレーは大好物だったが、気がついてみるとそんなに拘らなくなっている。なんでだろうと考えて、ひとつ心当たりが。
学生時代に大盛カツカレーが名物の食堂に間違って入ってしまい、その大盛カツカレーを頼んでしまったことがある。なんか金属の皿に山のように盛られたベタっとしたライス、薄っぺらいカツ、さらさらのカレー…。もともと食は細い方だったので食べきれなくて、最後持て余したためか、味も不味いとしか記憶にない。こんなことがトラウマになったかも。(もしかしたら普通盛りだったのかもしれないのだが。)
そういえば、大学の学食にはメンチカレーというのがあって、良く食っていた。確か当時180円位だったんじゃなかろうか。カレーにコロッケのような形のメンチカツがのっかっている。別にたいしてうまくはないのだが、上記のカツカレーみたいに悪い思い出はない。
ちなみに大学は北大。学食の定番メニューはエルムランチとかカレッジランチとかだった。学食だからこんなもんだろう、というレベルで、それなりだと思っていたのだが、当時学会だかで東北大の学食で昼飯食ってびっくり。「ご飯がうまい!」さすが宮城、米どころ。しかし驚くのは、ほとんどの人が定食のご飯を半カレーライスにチェンジしていたこと。こんなうまい飯、カレーにする必要ないじゃん…。
自民党総裁選の昼飯だけで、こんなに昔話を思い出すなんて歳だなあ。肝心の福田陣営のカツカレーはちらっとしかTVにうつらなかったが、さすがうまそうだった。
(2007/11/11追記:ubuntu 7.10 Gutsy Gibbonではフォント描画のhinting設定をGUIで行えるようになったので、この記事の内容は無効になっている。)
「あわせて読みたい」に出てくるエントリを適当に眺めていたら、「Ubuntu Linuxでフォントが滲む問題が解消」という記事を発見。3ヶ月位前の記事だが、今頃気がついたのである。早速設定変更してみる。
/usr/share/language-selector/fontconfig/ja_JPのhintnoneをhintfullに変えるとクッキリ過ぎる気がしたので、hintmediumで様子見。
それにしてもGUIで設定しても効かないとはちょっと…だな。
昨日、会社帰りにカメの菊五郎が課の同僚と飲みにいくというので、少し遅れていつものH氏と乱入。バカ話をして飲んだり食ったり。帰りは例によってH氏と御徒町から上野乗り換え常磐線ルートだ。御徒町で22:40頃。
で上野を出て日暮里で常磐線快速が止まってしまう。松戸馬橋間で車両故障のため各駅に停車との由。すぐ復旧するかも知れないが、動いていた方が気が紛れると私が主張し、H氏とともに西日暮里から千代田線に乗り換えた。
すると今度は町屋で停車。北千住まで行ってくれればTX乗り換えが出来るのに、と思いつつ待っていると、アナウンスは松戸柏間の人身事故と告げている。ああ、かかりそうだな、どうしようと考えていると、H氏が京成に乗り換えようと提案。実はH氏は京成でもなんとか帰れるので、ここでもう少し早く決断しておけば良かったのだが、自分は京成なんて良く知らないので少しためらったのが敗因だったかもしれない。これが23:10頃の話。
結局、京成町屋でH氏と別れ、自分は秋葉原からTXを目指すことにした。京成乗換時点で段々頭が混乱し初めて、振替輸送の券のことなどすっかり失念。日暮里でJRに乗換え、携帯から駅探で検索すると、23:45秋葉原発の各停守谷行きしか野田線との接続がない。最終列車なのでだいぶ混んでるが乗るしかない。
こんな混んでるTXは初めてだな、いやむしろ混んでる電車自体最近珍しいわな、とか思いつつじっと耐える。10分強遅れで流山おおたかの森に到着。接続の野田線柏行きがちゃんと待っててくれてようやく柏に到着。0:40頃。ふう、2時間以上かかってしまった。H氏からは10分位前に家に着いたとのメールあり。
家に帰るとちょうど「タモリ倶楽部」をやっていて、電車オタクネタだった。迂回していろんな電車に乗ったので、なんだかお腹いっぱいって気分。
土曜日の夜にマミーマートで生筋子を購入。昨日の夜、カミさんが醤油漬に仕込んで、夕方まで待ちきれず今朝食べた。ちょっと醤油が多かったのか、少ししょっぱめ。
今シーズン初の自家製イクラは去年より若干遅い。
昨日の記事でWordPress2.2.3のコメント通知メールはしっかりUTF-8で送ってくるが、しばらく放置する、と書いた。ググってみるとWordPressのコメント通知メールが文字化けする、という話もちらちら出るが、どうも勘違いしている人がいるようだ。
- WordPress 2.2以降ではME版も本家版も、ブログの文字コードと同じ文字コードでコメント通知メールを送るようになっている。日本語のブログの場合はUTF-8でやることになるので、コメント通知メールもUTF-8で送ってくる。このメールはちゃんとContent-Transfer-Encoding: 8bit、Content-Type: text/plain; charset=”UTF-8″で送ってくるので、MIME的には正しいメールであり、この状態が「文字化けしている」のは、単に受け側が単にUTF-8なメールを読める環境にないだけの話。
- ただしSubjectが長くなると文字化けするバグはあるらしい。その場合本家2.2ならば文字化け実証プラグインを入れると直る。(Nippon2とかでも良いかもしれない。)
- とはいうものの、携帯なんかで見てる場合はUTF-8は辛い。やっぱりISO-2022-JPで送ってきてほしい。
というわけで、本家2.2.3でも前回やった無理矢理ISO-2022-JPにするパッチを施せばいいだろう、とゴソゴソやるがうまくいかない!
いろいろ調べてみると、前回の記事だけの修正では不十分であることがわかった。いろいろいじくった挙句だったので、class-phpmailer.phpなんかもいじったのが抜けていたようだ。
というわけで、次のようなコードでコメント通知メールが無事ISO-2022-JPで来るようになった。多分ME版でも同じような修正でいけるかな、と思うがよくわからない。ともかく手抜きであることは確かだが、自分にはこれで用が足りるので良しとする。
--- pluggable.php.bak 2007-08-31 03:13:48.000000000 +0900
+++ pluggable.php 2007-09-17 12:01:37.000000000 +0900
@@ -160,6 +160,8 @@
function wp_mail($to, $subject, $message, $headers = '') {
global $phpmailer;
+ mb_internal_encoding("UTF-8");
+
if ( !is_object( $phpmailer ) ) {
require_once(ABSPATH . WPINC . '/class-phpmailer.php');
require_once(ABSPATH . WPINC . '/class-smtp.php');
@@ -185,8 +187,10 @@
$phpmailer->FromName = "WordPress";
$phpmailer->AddAddress("$to", "");
- $phpmailer->Subject = $subject;
- $phpmailer->Body = $message;
+ $phpmailer->CharSet = "ISO-2022-JP";
+ $phpmailer->Encoding = "7bit";
+ $phpmailer->Subject = mb_encode_mimeheader($subject, "ISO-2022-JP", "B", "\n");
+ $phpmailer->Body = mb_convert_encoding($message, "ISO-2022-JP", "UTF-8");
$phpmailer->IsHTML(false);
$phpmailer->IsMail(); // set mailer to use php mail()
2007/9/22追記:トラックバックを頂いたMOMENTSさんの記事のパッチはFrom:の文字化けまで対応しているので、そちらの方が良いコードだと思います。
2007/10/6追記:WordPress 2.3なら、こっちのプラグインもお試しください。
WordPress MEのセキュリティーアップグレードである2.2.3のアナウンスがあった。思うところあり、MEから本家版にアップグレードした。基本的には上書きでOKのようで、次のような手順でうまくいった。
- バックアップする。
- 日本語リソース入りWordPress 2.2.3をこのページからダウンロードし、ローカルに展開する。
- 展開したフォルダwordpress-2.2.3-ja以下に対し、下記4〜8のようにいじってローカルで準備する。
- wp-includes/widgets.phpで検索ボタンの前の<br />を外す。
- wp-includes/feed-rss2.phpにRSS Feedを全文配信にするカスタマイズを行う。(ただしリンク先の記事と異なり、the_content_rssにする必要あり。)
- wp-content/plugins/akismet/akismet.phpにakismet de-spam view Hackを施す。
- バックアップからwp-config.phpを持ってくる。define(’WP_LANG’, ja);と変更。(前はja_UTFだった。)
- バックアップからテーマファイルやプラグインやこれまでアップロードした画像ファイルなどを持ってくる。
- プラグインを止める。
- フォルダwordpress-2.2.3-jaをアップロードして、wordpressに名称変更する。
- wp-admin/upgrade.phpを実行する。(今回は必要なかった模様。)
- プラグインを使用開始する。
- コメント通知メールでSubjectの文字化けが起こるので、文字化け防止実証プラグインを入れる。
コメント通知メールはしっかりcharset=”UTF-8″で送ってくる。携帯(WILLCOM WX-320T)ではUTF-8なメールは文字化けするので、前にやったようにコードをいじる必要があるが、面倒なのでしばらく放置しようと思う。
本家版にしたからといって何が変わったわけではない。ME版を使っているときには、海外製のテーマで問題があることがあったためにversion.phpをローカルにいじっていたが、それが必要なくなった位か?ただ、日本語リソース入りのWordPressは言語カタログファイルがあるだけでなくて、phpファイルにハードコードされている文字列まで丁寧に訳されているのは驚いた。ME版よりもちゃんと日本語になっている印象。