ktai entryで@以前にピリオドがある場合の対処とカスタム投稿へのポスト
メールから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になりカスタム投稿とカスタム分類が普及してきましたし、このあたりを改善してもらえるとすごく助かりますね。
このままだとアップデートある度に変更しないといけないし。
こんにちは、カスタム投稿へのメール投稿でたどり着きました。。
カスタム投稿タイプが複数あった場合、それぞれへ投稿することは可能なのでしょうか。
お教え頂けましたら幸いです。
どうぞよろしくお願い申し上げます。