wordpressとか」カテゴリーアーカイブ

wordpressの記事公開をLINEで即時通知する(Zapier)

宗教上の理由でLINEは嫌いです。
作成したwodpressで記事を公開したことをLINEで連絡しなければならないときに、botに代行させる方法を考えました。

最終的には、
・記事公開をほぼリアルタイムに通知
・記事ごとに通知を行わない選択も可能
というものになりました。

遅延は嫌だ

初めは
RSS→IFTTT→LINE
という非常にシンプルなレシピを作りましたが、IFTTTは最大15分の遅延が発生します。
遅延回避策として、emailをトリガーに使う手があります。

記事公開時にメールを送る

トリガーを発動させるため、wordpressで記事公開時にメールを送信する設定を作ります。
プラグイン「Subscribe2」
記事公開時に登録されたアドレスへ公開通知メールを送ってくれるプラグインです。
本来はメールマガジンや読者登録のために作られたもの。
もちろん予約投稿にも対応しています。

記事作成画面にSubscribe2 Notification Overrideというボックスができるのが特徴。
チェックを入れると記事公開時にメールを送らないことができます。
これが便利でプラグイン選びました。
件名に記事タイトル、本文に記事URLを設定しました。

メールアドレスの設定

Subscribe2はこのジャンルでは著名なようでオプションも多く大変便利なのですが、一つ難点があります。
wordpressのユーザーの登録メールアドレスがサイト自体のドメインと一致していないとメールが送れません。
今回サイト自体のドメインでメールアドレスが作れない条件のため、困りました。
Subscribe2のメルマガが突然送れなくなった件 | Spray
こちらで解決。助かりました。

IFTTTを断念

Subscribe2→IFTTT→LINE
を考えました。
IFTTTは登録したメールアドレスからtrigger@ifttt.comにメールを送ることで遅延なしのトリガーを作れます。
しかし、Subscribe2の送信元は先ほど設定した通り、存在しないメールアドレス。
IFTTTで認証ができません。
Subscribe2→gmail転送→IFTTT→LINE
も考えましたが、今度はgmailでtrigger@ifttt.comの認証が取れないため断念。

Zapierに切り替え

そこで、IFTTTの類似サービス「Zapier」を使うことにしました。
Zapierは個別アドレスが付与され、そのアドレスにメールするとトリガーになるサービスです。
Subscribe2の送信先をこの個別アドレスにしてしまえば良いのですね。
ZapierはLINEに対応していないので、LINE notifyを使います。
アプリ対応していなくてもトリガーやアクションが作れるのがZapierの便利なとこです。

ZAPを作る

Subscribe2→Zapier→LINE
を作ります。
【プログラミング知識ゼロでもできる】Slackの発言をLineにzapierを使って転送する方法 – Qiita
こちらを参考にさせていただきました。
基本的には上記Qiitaの通りに設定していきます。
トリガ部分のみ変わります。
「Email」を選択。「New Inbound Email」
Set up Email by Zapier Inbound Emailで適当なアドレスを作り、Continue。
生まれたアドレスをコピーします。
wordpressに移動。Subscribe2の「Subscribers」で、先ほどコピーしたアドレスを登録します。
ここで適当な新規記事を作成し、公開。
記事が公開されると、先ほど作ったZapierのアドレスにメールがいきます。
Zapierに戻り、Continue。「view your inbound email」で、Subscribe2のアドレスが送信元になっていることが確認できます。
アクションはQiitaの通りです。
Dataをmessageにして、New Inbound Emailから「Subject」や「Body Plain」を選択して通知文章を作ります。

完成。
これでLINEを自分で使わなくても記事公開時に即通知を飛ばせるようになりました。
試行錯誤のおかげで、初期のRSS→IFTTTに比べて、通知するかどうかの選択が可能になったので良かったです。
ついでにLINE notifyでのアプリ名が[IFTTT]から自分で設定したものになり、かっこよくなりました。

wordpressプラグインjetpack人気の投稿とページウィジェットをカスタマイズ

ページデザインなど微塵も考えていないブログだが、本家のmaiyoko.comではいろいろやっています。
バックステージに装飾してる暇があったらオンステージを綺麗にしろ!

wordpressのウィジェットとしては欠かせないjetpack、ウィジェットとして使える「人気の投稿とページ」を使ってみた。
最近アクセスの多い記事をリスト表示してくれるもの。回遊率上げるには便利。
投稿内画像のサムネイル表示もしてくれるのだが、カスタマイズしたくなってくる。
サムネイルのサイズも変更できる(しかし正方形のまま)ようだが、今回はパス。
今回はサムネイルにもリンクを埋め込むことにした。
以降Jetpack2.9でのお話。

/wp-content/plugins/jetpack/modules/widgets/top-posts.php
のバックアップを取る。

改めてtop-posts.phpを開き、
class=’widgets-list-layout-blavatar’を探す。204行目あたり。
直前(201行)を見ると、foreachがあり、<li>でリスト化されていることがわかる。
つまり<li></li>内部(204,205行)をいじればいい。

<li>
	<img src="<?php echo esc_url( $post['image'] ); ?>" class='widgets-list-layout-blavatar' alt="<?php echo esc_attr( wp_kses( $post['title'], array() ) ); ?>" />
	<div class="widgets-list-layout-links"><a href="<?php echo esc_url( $post['permalink'] ); ?>" class="bump-view" data-bump-view="tp"><?php echo esc_html( wp_kses( $post['title'], array() ) ); ?></a></div>
</li>

204行がサムネイル、205行が記事タイトルになっていますね。
ここで、205行の<a href=”<?php echo esc_url( $post[‘permalink’] ); ?>” data-bump-view=”tp”>を204行の先頭に移動。

<li>
	<a href="<?php echo esc_url( $post['permalink'] ); ?>" class="bump-view" data-bump-view="tp"><img src="<?php echo esc_url( $post['image'] ); ?>" class='widgets-list-layout-blavatar' alt="<?php echo esc_attr( wp_kses( $post['title'], array() ) ); ?>" />
	<div class="widgets-list-layout-links"><?php echo esc_html( wp_kses( $post['title'], array() ) ); ?></a></div>
</li>

以上、こんだけ。

そのうちCSSとかいじりたくなりそう。

メールマガジン設定(ロリポップ×acmailer)

ロリポップには自前でメールマガジン作成があるのだが、ドメインではじかれてうまく届かないことが多い。
送信元gmailとかにすりゃ届くはず。
いろいろやりゃできるんだろうけど面倒だし機能面でももうちょっと欲しい。

で、acmailer(エーシーメーラー)
著作権表示で無料で使えるCGI。
これをロリポップサーバーで使えばできるはず。

というわけでやってみた。
正式版をダウンロード(install.cgi)。
サーバーにFTPでアクセスし、適当にディレクトリ作成。
パーミッションは755。
777じゃなくて755。ここで引っかかったから2回書く。

その中にさっきのinstall.cgiをダウンロード。
ここでも755。

あとはブラウザで確認で、指示通りにダウンロード。
設定も差出人の名前とアドレス(ここでgmail!)
終わったらinstall.cgiは消しておこう。

想像以上に簡単だった。
しっかりと、gmail (***lolipop.jp経由)で届いた。

著作権表示箇所はメールアドレス登録フォームに入れること。
フォームが非公開の場合はリンク集とかだそうな。
ライセンス表示あまり目立たないだろうからこれ無料で出すのすごいな。