Yuriko.Net 個別記事

2008-04-21
晴れ

メール投稿プラグイン制作ちう

ゆりこ による 14:01:27 の投稿
カテゴリー: WordPressハック
タグ: , , ,

先日制作開始したメール投稿プラグインですが、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” も追加します。こっちを使った方がいいかな??

トラックバック・コメント »

コメントはありません。

上に戻る

※スパム対策プラグインの影響により、すぐにトラックバックが反映されない場合があります。お手数ですが、半日ほど待ってみてください。

コメント投稿

※発言の責任を明確にするため「名無し」「通りすがり」「匿名希望」等の匿名は不可とします。捨てハンドルでもいいので必ず名乗ってください。
XHTML (使えるタグ): <a href="" title="" ktai=""> <abbr title=""> <acronym title=""> <b> <blockquote cite=""> <cite> <code> <del datetime=""> <em> <i> <q cite=""> <strike> <strong> <img localsrc="" alt=""> .
※スパム対策プラグインの影響により、すぐにコメント内容が表示されない場合があります。お手数ですが、半日ほど待ってみてください。

上に戻る