更换VPS后,wordpress定时发布文章失败的解决方法

昨天趁着黑五的活动,买了一家便宜VPS,叫ITLDC,一年116元。1核1G内存。速度上勉勉强强。我把企鹅小屋上的几个站都给搬了过去。这是昨天下午的事情。

今天就发现了一些未知问题。比如,火车头免登录接口,无法获取到分类目录。摸索一番之后,发现是域名带了https之后,获取不到。在宝塔后台,将强制https关闭之后,火车头接口把域名更换为http,问题解决。怀疑是VPS有问题,但443端口又是正常的。之前企鹅小屋用得好好的,完全没毛病。这家ITLDC不知道什么情况。

然后,就是定时发布文章失败。两个站点都是同样的问题。
更换VPS后,wordpress定时发布文章失败的解决方法_图片 No.1

怎么解决呢?

安装一个插件,叫“MY Missed Schedule”,,直接在后台搜索即能找到。启用之后,什么都不用管。直接解决好定时失败的问题。

更换VPS后,wordpress定时发布文章失败的解决方法_图片 No.2

搜了一下网上的答案。有好几种解决方法。但安装插件无疑是最半简便快捷的。

如果找不到这个插件,也可以将下面的代码保存成一个文件:timeout.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)
?>

放在主题根目录下。然后在主题的function文件里添加一行代码 :

/**
* 定时发送失败
*/
require get_template_directory() . '/timeout.php';

也可以实现插件一样的功能。

嫌麻烦的话,可以直接下载小白提供的此文件:

链接: https://pan.baidu.com/s/1BCVnrMkFAme4duhkC-5lZw 提取码: l9ex

未经允许不得转载:自学控 - 自己建站也轻松 » 更换VPS后,wordpress定时发布文章失败的解决方法

分享到: 更多 (0)
avatar
自己建站,一点一滴积累经验。

自学控[zixuekong.com]

关于本站

登录

忘记密码 ?