WordPress定时发布文章失败的解决方法
编辑:狂族晨曦 来源:建站分享,WordPress技巧 日期:2015-08-11 阅读: 3,219 次 抢个沙发 百度已收录
定时发布是一个很有用的功能,这个功能我也是无意间发现的。
为什么要定时发布?
原因我就不说什么让订阅用户喜欢什么的了,因为小博客的用户较少,所以然并卵。但是对于SEO就很有好处了。之前有过这种情况,放假之后回家到处浪,几天没有管网站,结果本身就是新站,百度还见你不更新,site:www.capjsj.cn都只显示首页了(收录量显示111条)。这时候,定时发布的重要性就显示出来了,只要你有干货,设置好定时发布,就可以放心浪啦~
如何定时发布文章?
说了这么多,可能还有些小伙伴不知道怎么进行定时发布文章,其实很简单。
在文章编辑页的右边【发布】栏,点击一下[立即发布]右边的“编辑”,就会出现下图所示的界面,可以选择发布日期和时间,设定后,确定即可:
如果是在文章列表里,可以点击【快速编辑】,将时间设置到想要发布的时间,选择【发布】,点击【更新】,就可以定时成功:(点击放大)
PS:取消定时只要将状态改为草稿即可。
定时发布失效怎么办?
刚开始发现这个功能的时候,很高兴的把第二天的文章定时发布了,第二天就没管了,结果发布时间过了之后我去检查的时候发现“定时发布失败”的几个蓝字,郁闷了。
在网上搜了下方法,网上还是提供了几种方法。
2016年1月21日更新:解决WordPress升级到4.4.1后定时发布文章失败的问题
以下方法已经失效!
方法一:修改 /wp-includes/cron.php 系统文件
打开wp-includes目录下面的cron.php文件,找到“timeout”代码:
$cron_request = apply_filters( 'cron_request', array( 'url' => add_query_arg( 'doing_wp_cron', $doing_wp_cron, site_url( 'wp-cron.php' ) ), 'key' => $doing_wp_cron, 'args' => array( 'timeout' => 0.01, 'blocking' => false, /** This filter is documented in wp-includes/class-http.php */ 'sslverify' => apply_filters( 'https_local_ssl_verify', false ) ) ) ); wp_remote_post( $cron_request['url'], $cron_request['args'] );
将代码后面的数值0.01修改为比0.01大就可以了,也可以修改为10.00。
但是我很负责的告诉大家,这个方法并没有什么卵用,亲测已经失效了。
方法二:使用WP Missed Schedule插件
在WordPress后台安装插件搜索该插件即可下载安装,但是本着少用插件的原则,推荐大家直接使用一下代码,将代码放置在主题中function.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) ?>
插件我没有安装,但是代码我使用后成功的定时发布了文章,亲测可用,大家快去规律你的网站吧!
转载请注明出处来自https://www.capjsj.cn/wordpress_dsfbwzsbdjjff.html