先日いじってみた LINE Notify が面白かったので、今度は WordPress から何か操作した時にメッセージ通知する、ということをやってみたいと思います。
LINE Notify て何?という方は、前回のブログ記事をご覧ください。
作り方
パーソナルアクセストークンを取得
事前準備として、LINE Notify のパーソナルアクセストークンを取得しておきます。
パーソナルアクセストークンの取得方法は、下記の解説記事を参考にしてみてください。
LINE Notify通知用の関数追加
functions.php
に LINE Notify に通知する関数を追加します。
if ( ! function_exists( 'my_send_linenotify' ) ) {
function my_send_linenotify( $message, $image_thumbnail = '', $image_fullsize = '' ) {
$url = 'https://notify-api.line.me/api/notify';
$token = '[MY_ACCESS_TOKEN]';
$response = wp_remote_post( $url, array(
'method' => 'POST',
'headers' => array(
'Authorization' => 'Bearer '.$token,
),
'body' => array(
'message' => $message,
'imageThumbnail' => $image_thumbnail,
'imageFullsize' => $image_fullsize,
),
));
if ( is_wp_error( $response ) ) {
$error_message = $response->get_error_message();
echo "Error: $error_message";
}
}
}
[MY_ACCESS_TOKEN]
の部分は、取得したパーソナルアクセストークンに置き換えてください。
これで my_send_linenotify()
の引数にメッセージを渡して呼び出せば、LINE Notify に通知されるようになります。
以下、通知が求められそうなケースを例として、実際にメッセージ通知を試してみましょう。
管理画面ログイン時に通知
不正なログインが行われていないか監視するため、誰かがログインした時に通知をしてみます。
こちらのソースを functions.php
に追加します。
function my_wp_login( $user_login, $current_user ) {
$message = $user_login . 'がログインしました';
my_send_linenotify( $message );
}
add_action( 'wp_login', 'my_wp_login', 10, 2 );
こちらのソースを functions.php
に追加します。
新規投稿時に通知
次に、新規投稿が公開された時に通知が送られるようにしてみます。
こちらのソースを functions.php
に追加してみましょう。
function my_publish_post( $ID, $post ) {
$message = "新規投稿が公開されました。\n";
$message .= "タイトル:" . $post->post_title . "\n";
$message .= "URL:" . get_permalink( $ID );
my_send_linenotify( $message );
}
add_action( 'publish_post', 'my_publish_post', 10, 2 );
投稿が公開すると次のような通知が送られてきます。今回は、タイトルとURLを表示させてみました。
Contact Form 7 でメール送信時に通知
Contact Form 7 の問い合わせフォームからメール送信された時にも通知させてみます。
function my_wpcf7_mail_sent( $contact_form ) {
$message = "お問い合わせフォームが送信されました。\n";
$message .= "タイトル:" . $contact_form->title;
my_send_linenotify( $message );
}
add_action( 'wpcf7_mail_sent', 'my_wpcf7_mail_sent', 10, 1 );
通知はこんな感じになります。メールを確認しなくても分かるので、使い方次第で結構重宝しそうですね。
まとめ
こんな感じで、かなりお手軽に LINE にメッセージ通知できてしまうことがお分かりになるかと思います。
ご紹介した以外にも様々なタイミングから通知をかけることはできるので、応用次第でかなり便利な使い方ができそうです。
みなさんも色々試してみてください!