一个月前,我向大家推荐了Pushbullet Notifications for WordPress 插件,用于推送 WordPress 的各类信息到自己的移动设备,而我想包括我自己在内的很多博主都是想用这个插件来推送站点的评论信息。而这个插件本身自带的评论推送功能却无法把 WordPress 中的评论内容推送到移动设备,这也是一个遗憾。所以今天就给大家找来了一个可以实现评论内容推送的代码,适合不爱装插件的各位博主们!代码来自 Tennfy Wu,大家如果有其他的需求,也可以根据代码进行举一反三。

P.S:API Key的获取方法就是登陆Pushbullet(要翻墙),打开https://www.pushbullet.com/account,下面有一个“Access Token”那个就是API Key。现在Pushbullet的使用需要Google服务套件支持,也需要翻墙。如果平时不是长期处于翻墙状态的,不建议使用

实现效果:

use-code-to-push-the-comment-by-pushbellet

 

代码如下:

//pushbullet推送评论
function pushbullet($title,$body)
{
    $apikey='你的apikey';
    $device_iden='你的设备id';
    $req_args = array(
       'headers' => array(
            'Authorization' => 'Basic ' . base64_encode( $apikey.':')
            ),
       'timeout' => 50,
       'sslverify' =>FALSE,
       'method' => 'post',
       'body'=>array(
                    'type' => 'note',
                    'device_iden'=>$device_iden, 
                    'title' => $title,
                    'body'=>$body)
    );
    $response = wp_remote_post( 'https://api.pushbullet.com/api/pushes', $req_args );
}
function tennfy_push($comment_ID)
{
    $comment = get_comment($comment_ID);
    if (empty($comment))
        {
            return;
        }
    if ($comment->comment_approved != 'spam')
    {
        $post = get_post($comment->comment_post_ID);
        if ($comment->user_id == $post->post_author)
        {
            return;
        }
        if ('pingback' == $comment->comment_type || 'trackback' == $comment->comment_type)
        {
            return;
        }
        $title = $comment->comment_author . " 评论了 《" . get_the_title($comment->comment_post_ID) . "》";
        $body = "文章:《" . get_the_title($comment->comment_post_ID) . "》\n评论: " . trim($comment->comment_content) . "\n链接: " . get_permalink($comment->comment_post_ID) . '#comment-' . $comment_ID;
        pushbullet($title,$body);
    }
}
add_action('comment_post', 'tennfy_push', 10, 2);

API Key 获取地址:点击直达

设备id 的获取方法:打开 Pushbllet 主页并登录,选中你要推送的设备。

use-code-to-push-the-comment-by-pushbellet-01

然后复制地址栏中“device_iden=”后面那一部分的内容即可!

use-code-to-push-the-comment-by-pushbellet-02

以上,祝大家使用愉快!