当前位置:首页>WordPress建站>网站维护>WordPress定时发布文章/解决定时发布失效

WordPress定时发布文章/解决定时发布失效

WordPress 主题 CoreNext

WordPress的定时发布文章的功能是十分有用的,也许你还没有发现,和倡萌一起来认识一下吧。

为什么要定时发布文章

定时按量发布文章,对于用户体验和SEO都有比较大的好处。不少朋友写博客都是不太有规律的,有兴致的时候,一连发好几篇文章,没兴致的时候,N久也不发一篇。你换位思考一下,如果你喜欢并订阅了某个博客,但是对方发文章很没有规律,你会不会比较反感?

通常建议的方法是:按时按量发布文章。比如你一个月大概写10篇文章,那就尽量3天发布一篇,而且定在当天的固定时段,比如,倡萌一般固定在早上6-7点间。这样一来,不仅访客比较容易找到你的规律,就连搜索引擎的蜘蛛也一样会比较按规律办事的。

如何定时发布文章?

在发布文章的界面右边的【发布】选项,点击一下[立即发布]右边的“编辑”,就会出现下图所示的界面,可以选择发布日期和时间,设定后,确定即可:

注意:

1、如果你的服务器是在国外,要先在“设置”-“常规”中将时间格式设置一下,我们国内的时间是UTC+8。

2、时间是按服务器的时间来算的,不是本地电脑时间,所以有可能会有几分钟误差。最好先测试一下几分钟后的定时,看着它定时发布/更新一篇文章。

3、如果想要取消定时发布功能,点击第一行的状态:草稿,选择编辑然后更改为草稿,再点击更新文章就OK啦。

定时发布失效怎么办?

WordPress默认发布文章的时间是0.01秒,一旦超过这个时间而没有发布成功,定时发布文章就会失败。如何解决Wordpress定时发布失败呢?下面有两种方法。

方法一:修改 /wp-includes/cron.php 系统文件

打开wp-includes目录下面的cron.php文件,找到“timeout”代码:

wp_remote_post( $cron_url, array( 'timeout' => 0.01, 'blocking' => false, 'sslverify' => apply_filters( 'https_local_ssl_verify', true ) ) );

将代码后面的数值0.01修改为比0.01大就可以了,也可以修改为10.00。

倡萌不是很推荐这种方法,因为WordPress版本更新后,你需要再次修改这个文件。

方法二:使用插件

可以安装 Missed Scheduled Posts Publisher 插件。

如果你不想安装插件,也可以直接将试试添加代码到 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)
?>

好了,从现在开始,规律更新你的博客吧!

声明:本站所有文章,如无特殊说明或标注,均为本站原创发布。任何个人或组织,在未征得本站同意时,禁止复制、盗用、采集、发布本站内容到任何网站、书籍等各类媒体平台。如若本站内容侵犯了原著者的合法权益,可联系我们进行处理。

给TA打赏
共{{data.count}}人
人已打赏
欢迎关注WordPress大学公众号 WPDAXUE
网站维护

WordPress错误:无法启用插件,因为它引起了一个致命错误

2012-11-20 5:44:00

网站维护

Windows Live Writer 之 快捷插入文本片段插件 TextTemplates

2012-11-24 6:11:00

17 条回复 A文章作者 M管理员
  1. 米扑

    哈哈 跟楼主想得一样,我的米扑博客用的就是WP Missed Schedule 插件定时发布,成功率100%
    谁要 WP Missed Schedule 插件 可以去我的米扑博客搜索,有打好包的插件下载

  2. dear倡萌,我的后台时间设置没有问题,也按你说的修改了FUNCTION.PHP,但还是定时发布失败,注意不是偶尔失败一两遍,是每次全部挂掉!WHY 😥 😥

个人中心
购物车
优惠劵
今日签到
有新私信 私信列表
搜索