Categories: WordPress

Ktai Entry で投稿した画像をサムネイルに設定する

※以下の内容は結局関係ありませんでした。

こちらに解決策を書きました。→ Auto Post Thumbnail でjpeg画像が対応しない

 

 

携帯電話(ガラケー)でも利用できる、メール投稿を所望されることが未だにあって、「Ktai entry」と「Auto Post thumbnail」の組み合わせが便利なわけです。

以前は問題なかったよう思うのだけれど、サムネイルに画像が設定されない事例があって、調べてみることに。

原因は2つ合って、一つは、Auto Post thumbnailでは、投稿された本文の中に通常設定される画像のimgタグのclassに「wp-image-xxx」が設定されているひつようがあって、このxxxを利用してサムネイルにする画像をメディアIDとして取得しているのですが、「Ktai Entry」では「wp-image-xxx」を添加してくれません。

もう一つは、「Ktai Entry」では、メールを受信して投稿する際に、publish_phoneという命令を使っているのですが、「Auto Post thumbnail」は、publish_phone をフックしていません。

なぜ、以前は問題なかったのに、今はだめなのかはわかりませんが、WordPressのアップデートに関連して、「Auto Post thumbnail」がアップデートしたりして、対応できなくなったのかもれません。

以上の問題を解決するために、以下をfunction.phpなどに追加します。

//ktai entry のimgにclass wp-image- を追加する
add_filter('ktai_image_link', 'ktai_image_link_add_class', 10, 3);
function ktai_image_link_add_class($html, $id, $size){
    return preg_replace('/()/', '$1 wp-image-' . $id . '$2', $html);
}
//ktai entry で、publish_phone が実行されたときに、auto post thumbnail を起動する
if ( function_exists ( 'apt_publish_post' )) {
    add_action('publish_phone', 'apt_publish_post', 10, 1);
}

これで、メールに添付した画像がサムネイルに設定できるようになりました。

なお、これ以外の解決策として、「JetPack」を使う方法や、「Postie」というプラグインもあります。「Ktai Entry」は古いプラグインで更新もされておらず、使いたくない場合もあるのですが、「Ktai Entry」をどうしても継続して使いたい場合、使わざるをえない場合はこれで。

nakaike