WordPress用户经常说定期发布文章是提示失败,失败原因也不清楚。应该和主机慢有关,我自己也没遇到过。下面是解决方案的记录,供大家参考。
推荐两个插件来解决定时发布失败的问题:WP错过时间表帖子和我的错过时间表。
WP错过的计划帖子
从官方网站下载
网盘下载
我错过的时间表
从官方网站下载
网盘下载
也可以使用下面这段代码,这段代码应该是从老版本的WP Missed Schedule Posts插件中提取出来的,并将这段代码添加到当前的theme functions.php中:
如果(!function _ exists(‘ add _ action ‘){ header(‘状态403禁止’);header( ‘HTTP/1.0 403禁止’);header( ‘HTTP/1.1 403禁止’);exit();}函数wpms _ log(){ echo ” n “;} add_action( ‘wp_head ‘,’ wpms _ log ‘);add_action( ‘wp_footer ‘,’ wpms _ log ‘);定义(‘ WPMS _延迟’,5);define( ‘WPMS选项’,’ WP _ missed _ schedule ‘);函数wpms _ replace(){ delete _ OPTION(WPMS _选项);} register _ deactivation _ hook(_ _ FILE _ _,’ wpms _ replace ‘);函数wpms _ init(){ remove _ action(‘ publish _ future _ post ‘,’ check _ and _ publish _ future _ post ‘);$last=get_option(WPMS_OPTION,false);如果(($last!= =假)& amp& amp($ last & gt(time()-(WPMS _延迟*60)))返回;update _ OPTION(WPMS _选项,时间());全局$ wpdb$ schedule dids = $ wpdb -& gt;get _ col(” select ` id ` from `{ $ wpdb -& gt;帖子} ` “。“哪里(。”((` post _ date` & gt0)& amp;& amp(` post _ date` & lt=CURRENT_TIMESTAMP())或”。”((` post _ date _ gmt` & gt0)& amp;& amp(` post _ date _ gmt` & lt=UTC_TIMESTAMP()))”。”)和` post_status`=’future’LIMIT 0,5));如果(!count($scheduledIDs))返回;foreach($ schedule dids as $ schedule did){ if(!$scheduledID)继续;WP _ publish _ post($ scheduled id);} } add_action( ‘init ‘,’ wpms_init ‘,0);代码添加后,定期发布文章还是会提示失败,不过两三分钟后就正常发布了。
至于哪种方法适合你,你得自己去尝试。