
您现在的位置是:首页 > WordPress教程WordPress教程
WordPress自动发博客?保姆级教程来了,连小白都能看懂!
WP集市
2025-08-21
【WordPress教程】
1013人已围观
天天手动码字发博客,手都快断了吧?尤其是想做个资讯站、行业动态站,天天盯着新消息、复制粘贴,累得要死还容易忘。其实啊,WordPress早就能自动发文章了,今天就手把手教你,不管你是程序员还是纯小白,跟着做,保准解放双手!
先唠唠:为啥要搞自动博客?
你想啊,要是你想做个“每日科技资讯”博客,总不能每天早上爬起来找新闻、排版、发布吧?自动博客就是让程序替你干这些活:定时找内容、整理格式、自动发布,你躺平刷手机就行。不过话说回来,别指望完全撒手不管,内容质量还是得把关,不然发一堆垃圾,搜索引擎都嫌你烦。
开整!两种路子:插件 vs 自己写代码
WordPress这玩意儿,插件多如牛毛,自动发文章的插件也不少,比如WP Robot、Auto Post Scheduler,装了就能用,适合纯小白。但插件这东西,免费版功能砍一半,收费版又贵得肉疼,而且别人写的插件,想改个小功能都费劲。咱程序员嘛,肯定选自己写代码啊,想咋折腾咋折腾!
自己写代码?别慌,超简单!
核心思路就三步:定时任务(让程序到点干活)+ 内容获取(从哪弄文章)+ 创建文章(把内容塞进WordPress)。咱一步步来,代码都给你写好了,抄作业就行!
第一步:给WordPress设个“闹钟”——定时任务
WordPress自带个“假定时任务”叫WP Cron,不是服务器那种真·定时,得有人访问网站才触发。你想啊,要是你网站一天没人看,WP Cron就偷懒不干活了。这时候咋办?简单,去服务器面板(比如宝塔)设个真定时任务,比如Linux的crontab,每天凌晨3点用curl访问一下你网站,逼它起来干活!
代码咋写?在你主题的functions.php里加这段:
// 激活主题时,注册定时任务
function setup_auto_post_cron() {
if (!wp_next_scheduled('auto_post_event')) {
// 每天凌晨3点执行,时间格式:分 时 日 月 周
wp_schedule_event(strtotime('03:00:00'), 'daily', 'auto_post_event');
}
}
add_action('wp_loaded', 'setup_auto_post_cron');
// 定时任务要干的活
function auto_generate_post() {
// 这里放后面获取内容、创建文章的代码,先占个坑
}
add_action('auto_post_event', 'auto_generate_post');
看懂没?就是告诉WordPress:“每天3点,执行auto_generate_post这个函数”,跟你手机闹钟一个道理。
第二步:找内容!从哪弄文章?
没内容发个寂寞啊!常见的内容来源有:开放API(比如天气、新闻接口)、自己的Markdown文件库、或者……呃,爬别人网站(注意!爬别人东西小心被告,最好爬自己的或允许的)。
举个例子,调用个免费新闻API(假设接口返回JSON):
// 在auto_generate_post函数里加这段
function auto_generate_post() {
// 1. 获取内容
$api_url = 'https://api.example.com/daily-news'; // 替换成你的API地址
$response = file_get_contents($api_url); // 调接口拿数据
$news = json_decode($response, true); // 转成数组,方便操作
// 取第一条新闻当标题和内容(别问为啥取第一条,随便选的)
$post_title = $news[0]['title'];
$post_content = $news[0]['content'] . '<p>本文由系统自动发布,侵删</p>'; // 加个免责声明,稳!
// 2. 创建文章(下一步讲这个)
}
你看,几行代码就拿到内容了,是不是so easy?要是没API,也能读本地Markdown文件,比如你在服务器存了一堆.md文章,用file_get_contents读进来,再用Parsedown这种库转成HTML,一样能用。
第三步:让WordPress自动发文章
拿到标题和内容了,咋让WordPress发出去?用它自带的wp_insert_post函数,相当于手动在后台点“发布”,但用代码实现。
接着上面的代码写:
// 接上一步,在$post_content后面加
// 检查标题是否重复,避免发一样的文章
$existing_post = get_page_by_title($post_title, 'OBJECT', 'post');
if ($existing_post) {
// 标题重复,跳过
return;
}
// 创建文章数组
$post_data = array(
'post_title' => $post_title, // 标题
'post_content' => $post_content, // 内容
'post_status' => 'publish', // 状态:publish发布,draft草稿
'post_author' => 1, // 作者ID,1通常是管理员
'post_category' => array(1) // 分类ID,自己去后台看分类ID是多少
);
// 插入文章
$post_id = wp_insert_post($post_data);
if ($post_id) {
// 可选:给文章加标签
wp_set_post_tags($post_id, array('自动发布', '科技资讯'), true);
}
这里有个坑啊!post_status一定要设成publish,不然默认是draft草稿,等于白干。还有分类ID,别瞎填,去WordPress后台“文章-分类目录”,鼠标放分类上,看浏览器状态栏的链接,里面有个tag_ID=1,1就是分类ID。
避坑指南:这些细节别踩雷!
- 内容重复:刚才加了标题检查,但有时候内容一样标题不一样咋办?可以存个哈希值,对比内容摘要,重复就跳过。
- 图片问题:文章没图不好看,用media_sideload_image函数自动下载图片,比如从API里拿图片URL,下载到WordPress媒体库,再插到文章里。
- API不稳定:接口偶尔挂了咋办?加个try-catch,或者用curl超时设置,别让程序崩了。
- 别太频繁:一天发个5篇就行,发太多像垃圾站,搜索引擎会降权。
最后叨叨两句
自动博客不是让你当甩手掌柜,内容得有点价值,比如行业快讯、工具使用技巧,纯垃圾文没人看的。代码这东西,多试几次就会了,先在本地搭个WordPress测试,别直接在正式站瞎搞,搞崩了别哭鼻子啊!
行了,教程到这,赶紧去试试!有问题评论区问,我看到了就回——前提是你给我点赞啊,不然我懒得回(开玩笑的)。快去解放双手,躺着赚钱吧!
Tags:
文章版权声明:除非注明,否则均为WP集市原创文章,转载或复制请以超链接形式并注明出处。

热门文章
