Gerolian

Webサイト制作でのメモ等

[WP] メールの添付ファイルで画像ギャラリーを作る

2014年10月2日

WordPressのページにあるスライダー・ギャラリー画像を簡単に変更できないかということで色々調べてみた

やりたいこと

画像を添付したメールを送信するだけでWordpressの記事が追加されてさらに自動でユーザ画面に表示されるようにしたい
(WordPressの管理画面に不慣れな人、それからアプリ等を通さずに簡単に追加できるようにするためEメールを用いる)

想定フロー

①iPhoneなどでEメールを新規作成
②追加したい画像を添付する
③件名の所に画像のタイトル等を入力する
④指定のメールアドレスに送信する
⑤Wordpressに自動で記事が追加され、TOP画面のスライダーなどに画像が追加される

やってみる

WordPressにはメール投稿機能があるので、それを利用する
【設定】>【投稿設定】からメールでの投稿という箇所があるので、そこにWordpress側(受信する方)の設定情報を書いていく
[オリジナルサイズ]

ただ、この状態だとメールアドレスがばれてしまうと誰でもどんな画像でも送る事ができるようになるというかなりガバガバなセキュリティになってしまうので指定アドレスからの受信のみを受け入れるようにする

Ktai Entry(プラグイン)を使用する

最終更新が2011年なので結構古いプラグインですが、Wordpress4.0でも動作確認したので使用してみる
KtaiEntryプラグイン
(管理画面のプラグインを追加からでもOK)インストールして有効化したらプラグインの設定を開く
[オリジナルサイズ]
上みたいな感じ

設定が終わればWordpress管理メンバーとして登録されている人のメールアドレスからのメールが送られるとWordpressの記事として登録される

問題

このままだと投稿内容がaタグで囲まれていたり余分なdivが入っていたりして画像単独で使用するには少し厳しいので
あまりよくないけれどプラグインを直接カスタムしてみる

投稿内容を画像のURLのみにする

post.phpの1080行目あたりを編集

かなり乱暴だけれどこれで添付された画像のURLのみ投稿内容に反映されるのであとはWP_QueryとかでURLを出力するようにすれば良い

こんな感じで使ってみる

これでメールに添付された画像が自動でWordpressにアップされて
img#hogeのsrcに最新の投稿画像が自動的に入ったりキャプションが入ったりする
(remove_filterはpタグで囲まれてしまうのを防ぐためです)

最後に

エラー処理とか不正データが入った場合といった処理は全くしてないので、参考にするにしても自己責任で
…他に良いやり方とかあれば教えてください
Wordpress標準機能で差出人フィルタリングできたら良いんだけども・・・。

この前にはInsragramとかFlickrとかでできたら楽かなとか思ったけれど正方形トリムやらサイズ制限、日本でのApp未提供などあったので断念



コメントはお気軽にどうぞ

メールアドレスは公開されません。

内容に問題なければ、下記の「コメントを送信する」ボタンを押してください。