建站CMS教程

控制 WordPress 文章的发布间隔时间

本文发布日期:2020-07-23 00:05:59

有时候大家发布文章的时候可能是一有时间就会连着发布好几篇,但每篇文章的发布时间有一定时间间隔或许更适合读者。实现方法很简单,如下:lvU免费资源网

将代码添加到当前主题的 functions.php 文件中:lvU免费资源网

//设定每篇文章的发布间隔function force_time_between_posts($data, $postarr) {global $wpdb;if (empty($postarr['ID'])) return $data;$latest = $wpdb->get_var("SELECT post_dateFROM {$wpdb->posts} WHERE post_status IN('future','publish') AND post_type = 'post' AND ID != {$postarr['ID']}ORDER BY post_date DESCLIMIT 1");$distance = 60; // 时间间隔(分钟)$latest = strtotime($latest);$current = strtotime($data['post_date']);if ($latest < $current) {$diff = $current - $latest;} else { $diff = 0;}if ($diff >= 0 && $diff < ($distance * 60)) {$new_date = $latest + ($distance * 60);$date = date('Y-m-d H:i:s',$new_date);$date_gmt = get_gmt_from_date($date);$data['post_date'] = $date;$data['post_date_gmt'] = $date_gmt;$data['post_status'] = 'future';}return $data;}add_action('wp_insert_post_data','force_time_between_posts',1,2);

发布新文章时,会自动检测上一篇文章的发布时间,如果超过60分钟,就直接发布,如果小于60分钟,就自动定时间隔60分钟发布。需要注意的是,所检测的是所有已发布和定时发布的文章中的最后一篇。lvU免费资源网

免责声明:本站部分图片,文章,均来源于网络收集,版权归原作者所有,如有侵权,请与我联系删除!