WordPressで記事を投稿した瞬間に各種SNSに簡単にシェアする方法

  1. 公開日:2016/10/29
  2. 更新日:
  3. WordPress
  4. ,
  5. 0

以前、WordPressに投稿したらIFTTTとBufferを使用して自動的にTwitter、Facebookページ、Google+に投稿する方法 – OTTAN.XYZで、投稿した記事をBuffer – A Smarter Way to Share on Social Mediaの仕組みを使用して、各種SNSにシェアする方法をご紹介しました。しかし、この方法のデメリットは、IFTTTの仕組みを利用している特性上、IFTTTのトリガーが発動するまでに最大15分の遅延が発生する可能性がありました(WordPressの状態によっては15分以上の遅延が発生する可能性も)。

そのため、今回は同様にIFTTTとBufferの仕組みは使用するものの、最大15分の遅延なしに即座にトリガーを発動する方法を利用し、記事投稿後にすぐに各種SNSに拡散する方法をご紹介します。

http://ottan.xyz/wordpress-publish-mail-push-5145/

事前に、上記記事内でご紹介している、記事投稿後にメールで通知する機能を有効化しておいてください。

WordPressに投稿した記事をすぐにSNSに拡散する方法

冒頭でご紹介した記事の最大のデメリットは、記事公開からSNS拡散までにタイムラグが発生することでした。今回は、このタイムラグを無くすことを考えます。

IFTTTで遅延を発生させずにトリガーを発動する方法

IFTTTは、一般的に15分間隔でトリガーの状態を確認し、トリガーが発動したらアクションを実行するという使い方が一般的ですが、IFTTTで唯一「15分」の壁を取っ払い、遅延を無くす方法があります。それが、「Email」チャンネルを使用することです。

Email Channelにあらかじめ登録したメールアドレスから、「trigger@Applet.ifttt.com」宛にメールを送信すると、15分の遅延を待たずに即座にトリガーを発動することが可能なのです。Email Channelには、事前に送信元アドレスを登録する必要があります。メールアドレスを登録すると、そのメールアドレス宛にPINコードが送信されますので、その値を入力して登録完了です。

Email Channelを使用する上での注意点は以下の通りです。

  • Email Channelに登録できるメールアドレスは1つのみ
  • 15分間隔の遅延を発生せずに即座にトリガーが発動する
  • 1日に発動できるトリガーの回数は750回まで
  • トリガーの回数がリセットされるタイミングは12:00AM(GMT)

今回の用途に限った話をすれば、1日に750回も記事を投稿することはないでしょうから、十分な内容です。ただし、登録できるメールアドレスは1つのみであることには注意が必要です。WordPressの用途以外で既にメールアドレスを登録している場合は注意してください。Email Channelに登録したメールアドレスからIFTTTにメールを送信すると、別のレシピでEmail Channelを使用している場合も即座にトリガーが発動します。

WordPressの記事を公開したらIFTTTに通知する

【カスタマイズ】WordPressで記事を投稿した瞬間に外部にメールを送信する方法 – OTTAN.XYZでご紹介した方法を使用して、functions.phpの末尾に以下を追加してください。

add_action( 'transition_post_status', function( $new_status, $old_status, $post ) {
  if ( 'publish' == $new_status  &&  'publish' != $old_status && 'post' == $post->post_type ) {
    $header = array( 'From: from@example.com' );
    wp_mail( 'trigger@Applet.ifttt.com', $post->post_title, get_permalink( $post->ID ), $header );
  }
}, 10, 3 );

送信元(from@example.com)に、事前にEmail Channelに登録したメールアドレス、送信先に、trigger@recipe.ifttt.comを指定します。それ以外の内容は同様です。

IFTTTでレシピを作成する

では、IFTTTでレシピを作成しましょう。Create Recipe – IFTTTからレシピを作成することができます。

「this」をクリックします。

「Choose Trigger Channel」に「Email」を選択します。

「Choose a Trigger」で「Send IFTTT any email」を選択します。

「Create Trigger」をクリックします。

「that」をクリックします。

「Choose Action Channel」から「Gmail」を選択します。

「Choose an Action」から「Send an email」を選択します。

「To address」に、Bufferの固有のメールアドレスを指定します。固有のメールアドレスの指定方法については、WordPressに投稿したらIFTTTとBufferを使用して自動的にTwitter、Facebookページ、Google+に投稿する方法 – OTTAN.XYZを参照してください。

「Subject」は、{{Subject}}を指定します。「Email Channel」に送付されてきたメールの件名(今回の場合は記事のタイトル)が格納されます。必要に応じて、「ブログ更新」などわかりやすい件名をつけてください。

「Body」は、{{Body}}<br>@nowを指定します。また、<br>@nowの間に改行を挟んでください。{{Body}}には、「Email Channel」に送付されてきたメールの本文(今回の場合は記事のパーマリンク)が格納されます。指定方法の詳細については前述の記事で詳しくご紹介していますので、ご参照ください。

「Attachment URL」は空白にしてください。最後に「Create Recipe」をクリックし、レシピを作成します。

まとめ

WordPressのアクションフックの仕組み、およびIFTTTの「Email Channel」の仕組みを使用することで、記事の公開の都度、瞬時に各種SNSに拡散することができるようになりました。今後も、WordPressのカスタマイズについては随時公開していきたいと思います。

この記事が気に入ったらいいねしよう!
関連記事
ご意見ボード
匿名で管理人に送信されます。※送信専用です。返信はできません。
ご指摘・ご意見
Top