Yuriko.Net 個別記事

メール投稿プラグイン制作ちう
先日制作開始したメール投稿プラグインですが、MTA からのプッシュ型 (wp-mta タイプ) では一通り動くようにはなりました。メールを POP で取りに行く方 (wp-shot スタイル) はまだテストしていません。
wp-mta はサムネール作成を自前で行なっていましたが、今回は完全に WordPress コアに任せることにしました。しかし、WordPress 2.0.x では、サムネールサイズが決め打ちで、フィルターによる変更も無理なため、WordPress コアのサムネール作成コードをコピペして取り込み、サイズ可変にしました。なお、画像の保存場所も wp-content/uploads/ ディレクトリーになります (wp-mta は独自の保存場所だった)。
で、問題は WordPress 2.5 でのメディア処理です。添付画像を XHTML として挿入するのは、新設の wp_get_attachment_link()
を使うことにしましたが、これが結構凶悪で、img 要素に alt 属性をつけないのです!! WordPress コアが wp_insert_post()
するときに alt 属性を補完してくれますが、それは空の内容になってしまいます。となると、Ktai Style による携帯電話表示では、画像が見えなくなってしまいます (画像の alt 属性が空だと画像を隠す仕様のため)。むりやり alt 属性を補完しないといけないようです……。
気になるのは、メディアライブラリーの「投稿に挿入」ボタンで作った画像 XHTML と、 wp_get_attachment_link()
をデフォルト引数で作った XHTML では微妙に内容が違うことです。前者だと、img 要素の class 属性に “wp-image-NNN” (NNN は画像の post ID) が付与されますが、wp_get_attachment_link()
を直接呼んだときにはつきません。メディアライブラリーは wp_get_attachment_link()
とは違う API を使っているのかも??
[追記] その通りで、wp-admin/includes/media.php では get_image_send_to_editor()
というのがあって、これは wp-includes/media.php の get_image_tag()
を呼んでいます。これは alt 属性対応で、”wp-image-NNN” も追加します。こっちを使った方がいいかな??