wordpress定时发布失败的解决办法

2014年7月27日19:54:44 发表评论 3,602

wordpress定时发布失效/失败的解决办法

有时候,灵感来了,经常会更新几篇文章,但是又不想一次性发布,于是可以使用wordpress自带的定时发布,但是我使用了多次该功能之后,发现每一次都不会成功。

wordpress定时发布失败的解决办法

我是用的是国内linux主机,wordpress3.91,主题是Hotnews2.74。也搞不清楚具体是哪个方面出故障了,于是在网上寻找解决办法。目前网上主要有两种办法。亲测第一种方法无效,第二种方法有效。

1,改时间。【此方法亲测无效】

修改 /wp-includes/cron.php 系统文件

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

  1. 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这种方法根本无效。

 

2,增加代码。使用的是WP Missed Schedule 这个插件的代码。

将该插件的代码添加到 functions.php 的最后面即可:

 
  1. <?php  
  2. if(!function_exists('add_action')){  
  3.     header('Status 403 Forbidden');header('HTTP/1.0 403 Forbidden');header('HTTP/1.1 403 Forbidden');exit();}  
  4. ?>  
  5. <?php  
  6.  function wpms_log(){  
  7.      echo"\n<!--Plugin WP Missed Schedule 2011.0920.2011 Active-->";  
  8.      }  
  9.      add_action('wp_head','wpms_log');  
  10.      add_action('wp_footer','wpms_log')  
  11. ?>  
  12. <?php  
  13. define('WPMS_DELAY',5);  
  14. define('WPMS_OPTION','wp_missed_schedule');  
  15. function wpms_replace(){  
  16.     delete_option(WPMS_OPTION);  
  17.     }  
  18.     register_deactivation_hook(__FILE__,'wpms_replace');  
  19.     function wpms_init(){  
  20.         remove_action('publish_future_post','check_and_publish_future_post');  
  21.         $last=get_option(WPMS_OPTION,false);  
  22.         if(($last!==false)&&($last>(time()-(WPMS_DELAY*60))))return;  
  23.         update_option(WPMS_OPTION,time());  
  24.         global$wpdb;  
  25.         $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");  
  26.         if(!count($scheduledIDs))return;  
  27.         foreach($scheduledIDs as$scheduledID){if(!$scheduledID)continue;  
  28.         wp_publish_post($scheduledID);}  
  29.         }  
  30.     add_action('init','wpms_init',0)  
  31. ?>  

这个方法,亲测有效。

参考文章:http://www.wpdaxue.com/wordpress-schedule.html

 

  • 我的微信
  • 这是我的微信扫一扫
  • weinxin
  • 我的微信公众号
  • 我的微信公众号扫一扫
  • weinxin

发表评论

:?: :razz: :sad: :evil: :!: :smile: :oops: :grin: :eek: :shock: :???: :cool: :lol: :mad: :twisted: :roll: :wink: :idea: :arrow: :neutral: :cry: :mrgreen: