B2Pro主题用微信接收用户购买、充值等消息

文本是《这个设计了不起(共4篇)》专题的第 4 篇。阅读本文前,建议先阅读前面的文章:

之前介绍过免Server酱通过微信接收WordPress用户评论/回复的文章,这个方法适用于所有wordpress主题,本站用的B2Pro主题是个功能强大的主题,可玩性很高哦。

想不想在网站有新的订单时及时接收评论和订单等消息呢?

与此功能相似的Server酱现在割韭菜有点严重,付费才无限使用,免费用户限制太大;今天就把自己子主题用的代码分享给大家,使用企业微信推送网站订单、消息,可实现大部分消息动作推送哦

老生常谈,先配置企业微信

  1. 注册企业微信,目前个人也可以注册
  2. 注册后,登陆企业微信,完善基本信息
  3. 点击应用管理->自建->创建应用
  4. 创建成功后,简单修改下自己的资料
  5. 获取企业ID和应用的AgentId和Secret

添加核心文件

主题目录下新建一个目录push_weixin,创建文件index.php和bing.php

编辑index.php,添加以下内容:

<?php
$url = $_POST['url'];
$title = $_POST['title'];
$description = $_POST['description'];
// 声明页面header
header("Content-type:text/html;charset=utf-8");

// 获取access_token
function getToken(){
 
   // 定义id和secret
    $corpid='你的企业微信企业ID';
    $corpsecret='你的应用的secret';
    // 读取access_token
    include './access_token.php';
    // 判断是否过期
    if (time() > $access_token['expires']){
        // 如果已经过期就得重新获取并缓存
        $access_token = array();
        $access_token['access_token'] = getNewToken($corpid,$corpsecret);
        $access_token['expires']=time()+7000;
        // 将数组写入php文件
        $arr = '<?php'.PHP_EOL.'$access_token = '.var_export($access_token,true).';'.PHP_EOL.'?>';
        $arrfile = fopen("./access_token.php","w");
        fwrite($arrfile,$arr);
        fclose($arrfile);

        // 返回当前的access_token
        return $access_token['access_token'];

    }else{

        // 如果没有过期就直接读取缓存文件
        return $access_token['access_token'];
    }
}

// 获取新的access_token
function getNewToken($corpid,$corpsecret){
    $url = "https://qyapi.weixin.qq.com/cgi-bin/gettoken?corpid={$corpid}&corpsecret={$corpsecret}";
    $access_token_Arr =  https_request($url);
    return $access_token_Arr['access_token'];
}

// curl请求函数
function https_request ($url){
    $ch = curl_init();
    curl_setopt($ch, CURLOPT_URL, $url);
    curl_setopt($ch,CURLOPT_RETURNTRANSFER,1);
    curl_setopt($ch, CURLOPT_SSL_VERIFYPEER, false);
    $out = curl_exec($ch);
    curl_close($ch);
    return  json_decode($out,true);
}
// 发送应用消息函数
function send($data){
    $ch = curl_init();
    curl_setopt($ch, CURLOPT_URL, 'https://qyapi.weixin.qq.com/cgi-bin/message/send?access_token='.getToken());
    curl_setopt($ch, CURLOPT_POST, true);
    curl_setopt($ch, CURLOPT_POSTFIELDS, $data);
    curl_setopt($ch, CURLOPT_SSL_VERIFYPEER, 0);
    curl_setopt($ch, CURLOPT_SSL_VERIFYHOST, 2);
    curl_setopt($ch, CURLOPT_RETURNTRANSFER, true);
    return curl_exec($ch);
}

// 文本卡片消息体
$postdata = array(
    'touser' => '@all',
    'msgtype' => 'textcard',
    'agentid' => '应用的AgentId',
    'textcard' => array(
        'title' => $title,
        'description' => $description,
        'url' => $url,
        'btntxt' => '阅读全文',
    ),
    'enable_id_trans' => 0,
    'enable_duplicate_check' => 0,
    'duplicate_check_interval' => 1800
);

// 调用发送函数
echo send(json_encode($postdata));
?>

这个文件会在该文件夹自动生成access_token.php文件

根据企业微信API请求流程可知,要想调用企业微信API,先获得access_token并缓存,因为每天的调用次数有限,access_token有效期为2小时,所以要进行缓存。然后再调用业务API,完成请求的接口。这里用单页面实现整个过程(获取access_token,缓存access_token,发送推送)

文本卡片消息体是发送文本卡片的数据,通过JSON格式数据进行发送给企业微信API,具体的参数说明请看开发文档:https://work.weixin.qq.com/api/doc/90000/90135/90236

touser为@all就是向所有人推送消息,msgtype就是当前发送的类型,agentid就是当前应用的id,textcard就是一些参数(标题、跳转的链接等)。除了上面的消息类型,还有文本消息、图片消息、语音消息、视频消息、图文卡片消息等,具体可以查看开发文档,配置发送的消息体。

编辑bing.php,添加以下内容:

<?php
$date = mt_rand(0, 15); //支持返回15天内得图片
$json_content = file_get_contents('https://cn.bing.com/HPImageArchive.aspx?format=js&idx=' . $date . '&n=1&mkt=zh-CN'); //读取必应api,获得相应数据
$json_content = json_decode($json_content, true);
$imgurl = 'https://cn.bing.com' . $json_content['images'][0]['url']; //组合图片url
header("Location: $imgurl");
?>

添加WordPress功能函数

WordPress主题的functions.php添加以下内容

由于我们的代码是放在主题目录下的,所以需要绝对地址

完成以上步骤只能在企业微信内收到通知,想要在你的微信收到通知需要关注这个应用;上面的代码只实现了评论通知,订单通知需要针对主题添加相应的WordPress功能函数;B2主题的订单通知功能已经集成到了MG-B2子主题

B2Pro主题用微信接收用户购买、充值等消息-权戈网络
B2Pro主题用微信接收用户购买、充值等消息-权戈网络

MG B2 Child[出售]

食用请注意文件路径,不然会出错的

    下载权限

    查看
    • 免费下载
      评论并刷新后下载
      登录后下载

    查看演示

    • {{attr.name}}:
    您当前的等级为
    登录后免费下载登录 小黑屋反思中,不准下载! 评论后刷新页面下载评论 支付以后下载 请先登录 您今天的下载次数(次)用完了,请明天再来 支付积分以后下载立即支付 支付以后下载立即支付 您当前的用户组不允许下载升级会员
    您已获得下载权限 您可以每天下载资源次,今日剩余

    给TA打赏
    共{{data.count}}人
    人已打赏
    WP教程WP源码

    免Server酱通过微信接收WordPress用户评论/回复

    2022-3-8 14:17:18

    WP教程

    B2主题添加特效插件aos.js

    2022-4-6 2:20:08

    0 条回复 A文章作者 M管理员
      暂无讨论,说说你的看法吧
    个人中心
    购物车
    优惠劵
    今日签到
    有新私信 私信列表
    搜索
    目录
    • 1065 用户总数
    • 316 文章总数
    • 1172990 浏览总数
    • 0 今日发布
    • 2088 稳定运行

    『权戈网络』欢迎您!😊