昨日、ブログツール「WordPress」2.5.1がリリースされた模様です。
私も昨晩、眠い目をこすって、ここと「週刊 e217.net」の2カ所のブログに、「WordPress」2.5.1を適用致しました。
今回はセキュリティ関連等々、多くの修正がなされている模様です。WordPress 2.5 をお使いの方は、更新したほうが良さそうです。
- 関連記事
- WordPress 2.5.1 @ WordPress | 日本語
- WordPress 2.5.1 @ WordPress(上記の日本語文書の原文)
で、私が「WordPress 2.5」を導入した当初、ファイル(主に画像)を巧く記事に添付できずに困っておりました。少し前にパッチが公開され(URL失念)、何とか事なきを得たのですが、今回ちゃんと添付できるようになっているのかということが、個人的には最大の関心事だったりしました。
とりあえず、添付自体はうまくいったようで何よりです。[註1]
ちなみに、ここ「Telmina」だけの現象かどうかはわかりませんが、何故かここでは、これまで画像添付で重宝しておりましたプラグイン「Flexible upload」がまともに動いてくれません。アップロードのボタンをポチッと押すと100%固まります…。[註2]
あきらめて標準の「Add media」機能使えということ?
それならばせめて、元画像へのリンクに「rel="lightbox"」という記述を追加できるオプションください(ぉぃ)。














7個のコメント
image_send_to_editor フィルターを使えば、画像挿入時の XHTML をいじれるので、そのときに rel 属性を追加することが可能です。以下のようなコードをテーマの functions.php に入れてみるとよいかもしれません (未テストなので適当に料理してくらはい)。
function add_rel_lightbox($html, $id, $alt, $title, $align, $url, $size) {if (preg_match('/rel="', $html)) {
$html = str_replace('rel="', 'rel="lightbox ', $html);
} elseif (preg_match('/rel=/', $html)) {
$html = str_replace('<img ', '<img rel="lightbox" ', $html);
return $html;
}
add_filter('image_send_to_editor', 'add_rel_lightbox '10, 7);
# rel 属性って、取れる値は既定のものしかダメと思っていたのですが、XHTML 1.0 ではいいんでしたっけ??
返信が遅くなってしまい申し訳ありませんが、実はまだいただいたコードを検証していません。
本日日中には試してみます。本当にすみません。
ちなみに、rel属性の中身って制限されていましたっけ?
とりあえず、W3CのチェッカーでNG出さなければオッケーと思っております(ぉぃ)。このところloghtbox対応記事を書けていませんが、以前検証したときは別にW3Cのチェッカーでは問題視されていなかったような。
少なくとも HTML 4.01 では決められています (仕様書)。なので、よくある「rel=”external” をつけたら別ウインドウでリンクを開くようにする JavaScript」は、実はあまりよくありません。
XHTML の場合、追加のプロファイルを作れば、rel 属性の LinkTypes を自前で定義できるので、「これしか使ってはいけない」というものはありません。でも、Flexible Upload プラグインがそこまで定義しているかどうかは分かりません。
Ktai Style も、プロファイルを定義して a 要素に rel=”ktai” をつけたら「携帯対応サイトのリンク」とすることを検討しましたが、プロファイルを作るのは面倒なので、ひよって class=”ktai” でお茶を濁しました。
あ、「決められている」ことはわかっておりましたが、「それ以外の関係ねぇものを使うのは許さねぇ」という規定でもないように読めます。
あ、これは「Flexible Upload」の役割ではなく、「Lightbox 2」側の役割でしょうね(そしてそちらではそのような記述をするような指示は一切ありません)。
しかし、「
head」要素で定義しろと言うのが極悪ですな。そりゃ面倒です。あ、まだコード見ていません! すみませんすみません!
例のコードですが、単に入れるだけではダメなようですね。
適用したとたん、ブログで何らかのアクションを起こすと、エラーすら吐かずにブラウザの画面が真っ白になるようになってしまいました。
あんまりフィルタのあたりは意識していませんでしたが、自分でも調べてみたほうが良さそうですね(といいつつ私の頭でどれほど理解できるのやら)。
決められたものを “may use” できると書いてあるので、それ以外を使ってはいけないかどうかは未定義ですね。使うのは好ましくないという解釈はできそうですが。HTML 4.01 でも、プロファイルを作って追加することは可能なので、そういう記述になっていると思います。
コードですが、最終行にあきらかな誤記があったため parse error になってしまいます。申し訳ありません。たぶんそちらで直せる程度のミスだと思いますので、適当に修正して頂けると幸いです。
本筋とは関係なくなってしまいますが、W3Cに批判的な人々の気持ち、何となくわかりますね。
こんな曖昧な仕様では「完璧な実装」なんて絶対無理だって!
ボク、PHP初心者だからわかんな~い!
…というのは冗談ですが、これは見落としていた私が悪かったです(苦笑)。何故「そこ」に気づかないんだろ、俺。
もう一度チャレンジしてみてからまた報告させていただきます。何度も申し訳ありません。
コメントを書く