首页 > 广州seo > wordpress定时发布失败
2015
12-15

wordpress定时发布失败

在我们使用wordpress做seo优化的时候,会碰到wordpress定时发布失败的问题。那么如何解决wordrpess定时发布失败的这个问题呢,以便更好的进行广州seo优化。

首先核实清楚下面几个问题,最好重新设置一下,更新一下。

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。一般3-5秒都可以。

wordpress程序的根目录,找到wp-includes文件夹里的cron.php,将此文件下载到本地,注意备份这个文件后再修改!打开cron.php文件,查找
‘timeout’ =>

$doing_wp_cron = sprintf( ‘%.22F’, $gmt_time ); set_transient( ‘doing_cron’, $doing_wp_cron ); $cron_request = apply_filters(
‘cron_request’, array( ‘url’ => site_url( ‘wp-cron.php?doing_wp_cron=’ . $doing_wp_cron ), ‘key’ => $doing_wp_cron, ‘args’ =>
array( ‘timeout’ => 0.01, ‘blocking’ => false, ‘sslverify’ => apply_filters( ‘https_local_ssl_verify’, true ) ) ) );
将该代码后面的默认数值0.01修改大一些,比如2.00、3.00,我目前修改的是10.00,只要比0.01大就可以。修改后保存再覆盖FTP里的cron.php,此
操作的目地就是延长wordpress发布文章的时长,默认是0.01秒!

wordpress定时发布失败

方法二:使用WP Missed Schedule插件

下载 WP Missed Schedule ,安装启用即可;如果你不想安装插件,也可以直接将该插件的代码添加到 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)
?>

wordpress的定时发布功能是个很好的功能,对于一个经常关注你博客的用户来说,长久不更新是很受伤的,但是又不是每天都有心情打理,所以定时发布很重要,心情好的时候多更新一下,心情不好的时候少更新点就,是多么好的一个事情。

捐 赠如果您觉得这篇文章有用处,请支持作者!鼓励作者写出更好更多的文章!

发表评论