在您的主题下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个字)、文章链接。测试效果如下:
![图片[1] - AI科研 编程 读书笔记 - 【WordPress】发布文章时自动通过机器人推送到钉钉 - AI科研 编程 读书笔记 - 小竹の笔记本](https://img.smallbamboo.cn/i/2025/02/25/67bd819b04bdf.png)
欢迎大家加入本站的钉钉推送群,以获取最新的文章更新!
© 版权声明
1. 除特殊说明外,本网站所有原创文章的版权归作者所有,未经授权,禁止以任何形式(包括但不限于转载、摘编、复制、镜像等)发布至任何平台。
2. 论文总结类文章中涉及的图表、数据等素材,版权归原出版商及论文作者所有,仅为学术交流目的引用;若相关权利人认为存在侵权,请联系本网站删除,联系方式:i@smallbamboo.cn。
3. 违反上述声明者,将依法追究其相关法律责任。
2. 论文总结类文章中涉及的图表、数据等素材,版权归原出版商及论文作者所有,仅为学术交流目的引用;若相关权利人认为存在侵权,请联系本网站删除,联系方式:i@smallbamboo.cn。
3. 违反上述声明者,将依法追究其相关法律责任。
THE END
暂无评论内容