Facebook にシェア
[`evernote` not found]
LINEで送る

メールからWordpressに投稿したいとのことでKtai entryを導入したのですがどうも上手く動作しません。
おかしいなとメールを調べてみるとメールアドレスが aaa..bb@cc.jp なのに “aaa.bb”@cc.jpで受け取っているのが原因のようです。
これはWordpressではなくメールサーバーの仕様らしいですが、@以前にドットが二個連続で続くか、@の直前にある場合は@以前を””で囲んで表示されるそうです。
そもそもそんなメールアドレス登録できるのか?と思ったのですがどうも携帯だとできるようですね。
そういうわけで受信メールアドレスは”aaa..bb”@cc.jpで、ユーザーとして登録されているのはaaa..bb@cc.jpだったためにユーザー不一致で登録できなかったようです。
というわけでktai entryの一部を変更。ついでにメール投稿だと投稿にしか投稿できなかったのでカスタム投稿に投稿できるようにも変更しました。

ktai_entry\post.php の490行前後に

private function validate_address($address) {
     $user_id = 0;

//ここを追加
if(preg_match('/"(.+)"@/',$address)){$address = preg_replace('/"/','',$address);}
//”を取り除く

とついかして、メールアドレスに”があった場合削除してます。
また、カスタム投稿に投稿するために344行目あたりを

$post_data = compact('post_title', 'post_name', 'post_date', 'post_date_gmt', 'post_author', 'post_category', 'tags_input', 'post_status', 'comment_status', 'ping_status', 'post_content');

//ここを追加
$post_data['post_type'] = 'mail_to_post';

のようにへんこうしました。これでmail_to_postという投稿タイプにポストされます。
post_typeの方は近くにフィルターがあったのですが、残念ですがpost_dataの新規追加には使えなそうでした。
3.0になりカスタム投稿とカスタム分類が普及してきましたし、このあたりを改善してもらえるとすごく助かりますね。
このままだとアップデートある度に変更しないといけないし。