2018/04/01 ブログのテーマをcocoonに変更しました。

【WordPress】レビュー待ちの数を数えて通知する

レビュー待ちの数をカウントしてみたくなったので、作ってみましたー

作成したプログラム

以下のプログラムをfunction.phpに追加します。

なんとなくコメント付けたので、説明は省略させていただきます。

add_action('transition_post_status', 'count_user_posts_by_type', 10, 3);
function count_user_posts_by_type($new_status, $old_status, $post)
{
if (($old_status == 'auto-draft'
|| $old_status == 'draft'
|| $old_status == 'pending'
|| $old_status == 'future')
&& $new_status == 'publish' && $post->post_type == 'post') { //投稿されたら
$args = array(
'numberposts'   => -1, //全件取得
'post_type'     => "post", //記事のみ
'post_status'   => array('pending'), //pending -> レビュー待ち
'author'        => $post->post_author //記事投稿者ID
);
$count_posts = count( get_posts( $args ) ); //投稿者の残りのレビュー待ち数
$author = get_the_author_meta( 'display_name', $post->post_author ); //投稿者名
$text = "${author}の残りのレビュー待ち数は `${count_posts}` 個"; //slackに投稿する文章
post_slack($text); //slackに投稿
}
}
function post_slack($text){ //slackに通知
$slackApiKey = 'ここにslackAPI'; //上で作成したAPIキー
$text = urlencode($text); //encode
$channel = "general"; //channel名
$channel = "%23".$channel; //#をくっつける
$url = "https://slack.com/api/chat.postMessage?token=${slackApiKey}&channel=${channel}&text=${text}";
file_get_contents($url); //slackに投稿
}

使い方

今回は通知場所をSlackにしてます。(Mailなどは wp_mailを使えばいいと思います)

 

記事が投稿されたら、投稿者の残りのレビュー待ち数を通知します。

4つも溜めてるのかよ

参考

PHPでSlackに通知を送る - Qiita
# 1. APIを使うためにAPIキーを作成する - - Slack Web APIのAuthenticationにてポチッと作成 # 2. PHPでSlackに通知を送る ``...
The following two tabs change content below.

オーカワ

社畜!!いつもはTwitterにいるよ。フォローちてね♪ オーカワ専用のブログも作りました。よろしくお願いします。

コメント