使用PushBear将博客文章推送给微信订阅用户

PushBear是方糖科技提供的一对多消息送达服务,无需申请微信公众号,直接使用PushBear 提供的API即可实现向微信订阅者群发消息,比如用来推送博客文章。下面将以Wordpres博客为例,只需要添加简单的代码便可自动推送博客文章。注册PushBear并设置通道 注册地址:https:/ 阅读全文

PushBear是方糖科技提供的一对多消息送达服务,无需申请微信公众号,直接使用PushBear 提供的API即可实现向微信订阅者群发消息,比如用来推送博客文章。

下面将以Wordpres博客为例,只需要添加简单的代码便可自动推送博客文章。

注册PushBear并设置通道

  • 注册地址:https://pushbear.ftqq.com/

消息必须通过通道才能发送,不同的通道可以发送给不同的人群(通过二维码绑定),接下来创建一个新的通道。

通道创建成功后会生成一个唯一的二维码,微信用户只需要扫描即可订阅,这样就可以向订阅者群发消息了。

添加代码

PushBear虽然提供了测试工具可以直接群发消息,但是这样很不方便,可以将PushBear的API再次封装一下实现自动发送消息。将下面的代码保存到站点根目录,命名为sendwx.php

<?php
/*
作者:xiaoz.me
更新时间:2018-03-27
*/
header("Content-Type: text/html; charset=UTF-8");
error_reporting(E_ALL^E_NOTICE^E_WARNING^E_DEPRECATED);
$title = $_POST['title'];
$content = $_POST['content'];
$imgurl = $_POST['imgurl'];
$url = $_POST['url'];
$data = array(
"title"     =>  $title,
"content"   =>  $content,
"imgurl"    =>  $imgurl,
"url"       =>  $url
);
//设置密码
$password = "xiaoz.me";
//初始化
$pw = $_GET['pw'];
//设置COOKIE初始化
if((isset($pw)) && ($pw == $password)) {
echo '初始化成功!';
setcookie("wxrss",$pw, time()+3600*24*30,"/");
}
//如果不存在cookie
if(!isset($_COOKIE['wxrss'])){
$redata = array("code" => "-1","data" => "推送失败,请先初始化!");
echo json_encode($redata);
exit;
}
else {
$wxrss = $_COOKIE['wxrss'];
//如果cookie存在并且是对的,就发送消息
if($wxrss == $password) {
$send = new Send;
$send->key = '填写PushBear SendKey';
$send->wxrss($data);
}
else{
$redata = array("code" => "-1","data" => "推送失败,请先初始化!");
echo json_encode($redata);
exit;
}
}
class Send{
var $key;
function wxrss($data) {
$url = $data['url'];
$imgurl = $data['imgurl'];
$key = $this->key;
$text = urlencode($data['title']);
$content = $data['content']."\n";
//$content = urlencode($content)."\n";
$content = $content."![]($imgurl) \n";
$content = $content."阅读全文:"."[$url]($url)";
$content = urlencode($content);
$re = file_get_contents("https://pushbear.ftqq.com/sub?sendkey=".$key."&text=".$text."&desp=".$content);
echo $re;
}
}
?>

上面的代码中请填写自己的密码和正确的PushBear SendKey,然后访问http://domain.com/sendwx.php?pw=password进行初始化。(正常情况会看到如下截图)

继续将下面的js代码添加到woredpres主题合适位置,一般是footer.php

<script>
$(document).keydown(function(event){
  if(event.keyCode == 77){
sendwx();
}
  });
function sendwx(){
var title = document.title;
var url = window.location.href;
var content = $("#content p:first").text();
var imgurl = $("#content img")[0].src;
var apiurl = window.location.protocol + "//" + window.location.host + "/sendwx.php";
//alert(url);
$.post(apiurl,{title:title,url:url,content:content,imgurl:imgurl},function(data,status){
var obj = eval('(' + data + ')');
//如果成功
if(obj.code == 0) {
alert("推送成功!");
}
else{
alert(obj.data);
}
});
}
</script>

其中content修改为自己文章内容的div id,可通过F12工具查看到。

如果设置不出问题的情况下,在wordpress文章页面输入快捷键Ctrl + M会自动将当前页面文章的第一段内容、第一张图片自动群发给微信订阅用户,效果如下。

注意:如果文章内容没有图片将无法发送,sendwx.php初始化之后COOKIES将保存30天,超过30天或COOKIES丢失请重新访问sendwx.php进行初始化。如果添加代码后无法正常推送,请用F12开发者工具分析。

 

人已赞赏
wordpress教程文章教程

WordPress官方编辑器插件Gutenberg发布

2020-10-16 17:30:47

wordpress教程文章教程

WordPress联系表单插件:WPForms

2020-10-16 17:30:49

0 条回复 A文章作者 M管理员
    暂无讨论,说说你的看法吧
个人中心
购物车
优惠劵
今日签到
有新私信 私信列表
搜索