当前位置: 首页 > news >正文

【WordPress】发布文章时自动通过机器人推送到钉钉

在您的主题下functions.php中添加如下代码:

function wpso_dingding_publish_notify($post_ID) {// 获取文章对象$post = get_post($post_ID);// 检查是否是文章首次发布(即不是修订版)if (get_post_status($post_ID) == 'publish' && !get_post_meta($post_ID, '_wpso_dingding_sent', true)) {// 文章的标题、人工摘要和链接$title = get_the_title($post_ID);$excerpt = $post->post_excerpt;  // 获取文章的人工设置摘要if (empty($excerpt)) {// 如果没有设置摘要,使用文章内容的前20个字作为摘要$excerpt = wp_trim_words(get_post_field('post_content', $post_ID), 20);}$url = get_permalink($post_ID);// 发送的消息内容$text = get_bloginfo('name') . ' 上有新的文章发布啦!!';$desp = '文章标题:' . $title . "\n" . '文章摘要:' . $excerpt . "\n" . '文章链接:' . $url;// 钉钉机器人的 Access Token$access_token = '你的Token';// 构造发送数据$data = array('msgtype' => 'text','text' => array('content' => $text . "\n" . $desp));// 将数据编码为JSON格式$json_data = json_encode($data, JSON_UNESCAPED_UNICODE);// 配置HTTP请求$opts = array('http' => array('method'  => 'POST','header'  => 'Content-type: application/json','content' => $json_data));// 创建HTTP上下文$context = stream_context_create($opts);// 发送钉钉推送$result = file_get_contents('https://oapi.dingtalk.com/robot/send?access_token=' . $access_token, false, $context);// 标记文章已发送,避免重复发送update_post_meta($post_ID, '_wpso_dingding_sent', true);}
}
add_action('publish_post', 'wpso_dingding_publish_notify');

即可实现自动推送,推送内容包括文章标题、文章设置的人工摘要(若无则提取文章内容前20个字)、文章链接。测试效果如下:
测试案例

http://www.lryc.cn/news/542627.html

相关文章:

  • 鸿蒙开发深入浅出04(首页数据渲染、搜索、Stack样式堆叠、Grid布局、shadow阴影)
  • 管道文件(1)
  • 什么是AI agent技术,有哪些著名案例
  • Cursor结合Claude 3.7零基础开发愤怒的小鸟【深夜Claude 3.7系列发布,类似DeepSeek-R1和V3的合体?】
  • 基于 Python 的天气数据分析与可视化
  • Bybit事件技术分析
  • JavaWeb-在idea中配置Servlet项目
  • redis小记
  • 垂类大模型微调(一):认识LLaMA-Factory
  • 企业为什么要选择软件测试外包公司?湖南软件测试公司有哪些?
  • 数据保护API(DPAPI)深度剖析与安全实践
  • java23种设计模式-桥接模式
  • 3D Web轻量化引擎HOOPS Communicator如何赋能航空航天制造?
  • iOS手机App爬虫- (1) Mac安装Appium真机运行环境
  • android s下make otapackage编译失败
  • 《Elasticsearch实战:从零开始构建高效全文搜索引擎》
  • 【Linux网络】认识协议(TCP/UDP)、Mac/IP地址和端口号、网络字节序、socket套接字
  • 12、数据库、Sql单表多表
  • Spring Boot 实现图片上传并生成缩略图功能
  • 洛谷B3664[语言月赛202209] 零食售卖点
  • 贪心算法:JAVA从理论到实践的探索
  • 线程池10种常见坑
  • 鸿蒙ArkTs如何实现pdf预览功能?
  • KylinSP3 | 防火墙和麒麟安全增强设置KySec
  • 【C++】面试常问八股
  • vscode多文件编译构建(CMake)和调试C++
  • 使用Docker 部署 LNMP+Redis 环境
  • 文件上传漏洞学习笔记
  • 375_C++_cloud手机推送,添加人脸告警信息到任务队列中,UploadAlarmPush是典型的工厂模式应用,为什么使用工厂模式完成这部分代码
  • Spring Boot 中的日志管理