WordPress 定时发布文章失败的解决
为什么要定时发布文章?
WordPress 定时发布文章,对于用户体验和SEO都有比较大的好处。
写博客大都不太有规律的,有兴致的时候,一连发好几篇文章,没兴致的时候,N旧也不发一篇。
你换位思考一下,如果你喜欢并订阅了某个博客,但是对方发文章很没有规律,你会不会比较反感?
通常建议的方法是:按时按量发布文章,比如你一个月大概写10篇文章,那就尽量3天发布一篇,而且定在当天的固定时段,
比如,米扑博客一般固定在早上5-7点间,不仅访客比较容易找到你的规律,就连搜索引擎的蜘蛛也一样会比较按规律办事的。
如何定时发布文章?
在发布文章的界面右边的【发布】选项,点击一下[立即发布]右边的“编辑”,就会出现下图所示的界面,可以选择发布日期和时间,设定后,确定即可:
如果你使用 Windows Live Writer 发布文章,只需要勾选日期,然后修改时间即可:
注意:
1、如果你的服务器是在国外,要先在“设置”-“常规”中将时间格式设置一下,中国的时间是UTC+8,时区选择【上海】
2、时间是按服务器的时间来算的,不是本地电脑时间,所以有可能会有几分钟误差。
最好先测试一下几分钟后的定时,看着它定时发布/更新一篇文章。
3、如果想要取消定时发布功能,点击第一行的状态:草稿,选择编辑然后更改为草稿,再点击更新文章就OK啦。
定时发布失效怎么办?
WordPress默认发布文章的时间是0.01秒,一旦超过这个时间而没有发布成功,定时发布文章就会失败。
如何解决Wordpress定时发布失败呢?
下面有两种方法:
方法一:修改 /wp-includes/cron.php 系统文件
打开wp-includes目录下面的cron.php文件,找到“timeout”代码:
vim wp-includes/cron.php
wp_remote_post( $cron_url, array( 'timeout' => 0.01, 'blocking' => false, 'blocking' => false, 'sslverify' => apply_filters( 'https_local_ssl_verify', true ) ) );
将代码后面的数值0.01修改为比0.01大就可以,例如修改为 10.00
不是很推荐这种方法,因为WordPress版本更新后,你需要再次修改这个文件。
方法二:使用WP Missed Schedule插件
下载 WP Missed Schedule Posts,安装启用即可;
WP Missed Schedule Posts 主页: https://wordpress.org/plugins/wp-missed-schedule-posts/
WP Missed Schedule Posts 插件:wp-missed-schedule-posts.1.1.zip
Installation:Install plugin and it will start working(安装完了,无需配置,启动后即可直接使用)
Description:This plugin will publish all the future/scheduled post missed by WordPress cron.
It will check it every 15min and publish 20 posts at a time.(插件每隔15分钟检查刷新发布一次,一次发布20篇文章)
如果你不想安装插件,也可以直接将该插件的代码添加到 functions.php 的最后面即可:
<?php if(!function_exists('add_action')){ header('Status 403 Forbidden'); header('HTTP/1.0 403 Forbidden'); header('HTTP/1.1 403 Forbidden'); exit();} ?> <?php function wpms_log(){ echo"\n<!--Plugin WP Missed Schedule 2011.0920.2011 Active-->"; } add_action('wp_head','wpms_log'); add_action('wp_footer','wpms_log') ?> <?php define('WPMS_DELAY',5); define('WPMS_OPTION','wp_missed_schedule'); function wpms_replace(){ delete_option(WPMS_OPTION); } register_deactivation_hook(__FILE__,'wpms_replace'); function wpms_init(){ remove_action('publish_future_post','check_and_publish_future_post'); $last=get_option(WPMS_OPTION,false); if(($last!==false)&&($last>(time()-(WPMS_DELAY*60))))return; update_option(WPMS_OPTION,time()); global$wpdb; $scheduledIDs=$wpdb->get_col("SELECT`ID`FROM`{$wpdb->posts}`"."WHERE("."((`post_date`>0)&&(`post_date`<=CURRENT_TIMESTAMP()))OR"."((`post_date_gmt`>0)&&(`post_date_gmt`<=UTC_TIMESTAMP()))".")AND`post_status`='future'LIMIT 0,5"); if(!count($scheduledIDs))return; foreach($scheduledIDs as$scheduledID){if(!$scheduledID)continue; wp_publish_post($scheduledID);} } add_action('init','wpms_init',0) ?>
好了,从现在开始,规律更新你的博客吧!
定时发布博客示例: https://blog.mimvp.com
参考推荐:
WordPress定时任务(wp-cron.php)造成主机CPU超标解决办法
版权所有: 本文系米扑博客原创、转载、摘录,或修订后发表,最后更新于 2017-11-05 19:23:57
侵权处理: 本个人博客,不盈利,若侵犯了您的作品权,请联系博主删除,莫恶意,索钱财,感谢!
这篇文章有价值,虽然本人没有尝试过wordpress系统的定时发布功能,所以有一定的可能性存在出现不成功的现象,那么就可以按照博主的文章进行相应的操作进行更改设置完成发布。对于经常出差或空闲时间不多的人来讲,可以提前写好多篇网站内容设定发布时间那样就会省心许多。棒棒哒!