有時候大家發(fā)布文章的時候可能是一有時間就會連著發(fā)布好幾篇,但每篇文章的發(fā)布時間有一定時間間隔或許更適合讀者。實(shí)現(xiàn)方法很簡單,如下:
將代碼添加到當(dāng)前主題的 functions.php 文件中:
//設(shè)定每篇文章的發(fā)布間隔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);
發(fā)布新文章時,會自動檢測上一篇文章的發(fā)布時間,如果超過60分鐘,就直接發(fā)布,如果小于60分鐘,就自動定時間隔60分鐘發(fā)布。需要注意的是,所檢測的是所有已發(fā)布和定時發(fā)布的文章中的最后一篇。