WordPress 2.6などは、画像等をアップロードして、タイトル欄にテキストを入力すれば、自動的にalt属性にもtitle属性と同じテキストが適用されました。
WordPress 2.9あたりから、厳密にtitle属性とalt属性を使い分けるため、入力欄も別々になりました。それはそれでいいのですが、両方に文字を入れるの面倒だなぁ、とずっと思っていました。Another HTML-lint gatewayではalt属性を重視されます。それなのに代替テキスト欄ではなく、タイトル欄のほうが必須入力になってる…。Another HTML-lint gatewayの点数を気にする者としては、気になって仕方がありません。こうなったら、改造しかない。
title属性とalt属性の使い分けや違いについては、ここでは触れません。あくまで自分の都合のいいようにWordPressを改造することが目的です。
とはいうものの、どこをいじるべきか。これにはDEVOLEN [WordPress]サムネイル機能使用時に、サムネイル画像のaltが空になるのを直す方法が、参考になりました。WordPress 3.0のmedia.phpでは、648行目の
'alt' => trim(strip_tags( get_post_meta($attachment_id, '_wp_attachment_image_alt', true) )),
を
'alt' => trim(strip_tags( $attachment->post_title )),
にすればalt属性をtitle属性と同じにできます。しかし、この方法は画像等をアップロードした時のみ有効で、すでにアップロードが完了しているファイルには無効です。とりあえずアップロードだけ完了して、あとでテキストをいじることが多いので、この方法はボツ。またalt属性をtitle属性と同様にできるものの、別々のテキストにしようとすると逆に手間がかかります。理想はあくまでもalt属性とtitle属性の入れ替えです。さらにすでにアップロードが完了しているファイルにも適用したい!!
というわけで、探しました。media.phpの226行目を
$html = '<img src="' . esc_attr($img_src) . '" alt="' . esc_attr($alt) . '" title="' . esc_attr($title).'" '.$hwstring.'class="'.$class.'" />';
から
$html = '<img src="' . esc_attr($img_src) . '" alt="' . esc_attr($title) . '" title="' . esc_attr($alt).'" '.$hwstring.'class="'.$class.'" />';
にします。こうすることで、必須項目であるタイトル欄に入力したテキストがalt属性に、代替テキスト欄に入力したテキストがtitle属性に収まってくれます。入力欄が入れ替わっただけなので、別々のテキストを設定することも可能。うーん、理想的だっ。
この手術を施しても、過去の記事のalt属性とtitle属性は入れ替わりません。あくまでもアップロードされた画像等のファイルを操作したときに効果を発揮します。
これで睡眠時間を5分増やすことができそうです。
文中に登場する全角英数字がとても嫌いなのです。理由はなんとなく馬鹿っぽく見えるから。というわけで自分では決して使わないのですが、コメント欄に「英数字は全角しかダメ」なんて規制はかけられない。でも美しくない…
そこで、以前から行っていたことですが、WordPress 3.0でもこの小細工を仕込むことにしました。
formatting.php の95行目あたりを
と変更します。(行末のコメント「//全角英数字と半角カナを排除」は別になくてもいいです。)
これによって、文章は一旦mb_convert_kana関数のフィルターにかけられ、ブサイクな全角英数字を世に晒さずに済みます。半角カナも禁忌な香り(?)がするので、ついでに浄化してしまいましょう。
先日実験用サイトに導入したWordPress 3.0ですが、日本語版が出たので本ウェブサイトも早速アップグレードしてみました。
データベースのバックアップを取ってから、自動アップグレードするだけですが、その後いつものようにformatting.phpのカスタマイズを施します。(WordPress における文字表示(置換)のカスタマイズ。,WordPress における文字表示(置換)の再カスタマイズ。)
ということで、閲覧者から見れば今までどおりです。新機能については順次試していくことにしましょう。
WordPress 3.0 日本語版はまだ時間が掛かりそうなので、実験用サイトでWordPress 3.0にアップグレードしてみました。
まずはダッシュボードの色使いに「あ、シンプルでいいかも。」とニヤリ。
続いて新デフォルトテーマ「Twenty Ten」を試してみます。ヘッダーの写真はどれも綺麗で、背景やメニューが簡単にカスタマイズできて、なんかもうこれだけでずっとやっていけそうな感じ。…と、思ったケド、今のディスプレイ環境ではヘッダー部分だけで画面の上半分が占領されてしまっているので、実用性が少しマイナスです。スクロールすればいいだけなのですが、もう少し文字が見えたほうがいいなー。これについては画面が大きい人は気にならないと思います。
WordPress 2.9でも全然機能を使いこなしていないのがホントのところです。でも、悪くないし、日本語版が出てきたらアップグレードしましょ。
1週間ぶりに投稿しようと開いてみたら、自動アップデートの催促が来ていました。
トーマス・マッケンジー氏によって、ログインしている場合、他のユーザーによってゴミ箱に入れられた投稿を見ることができてしまうという問題が指摘されました。ブログに信用出来ないユーザーが登録されており、ゴミ箱内に公にすべきでない投稿がある場合は、2.9.2 へのアップグレードをおすすめします。
他のユーザーは作っていないし、ゴミ箱に捨てた投稿もないので、あまり関係ないのですが、なんとなくアップデートしてみました。相変わらずformatting.phpは前ヴァージョンからの使いまわしですー。