随机化Wordpress每天发布一次或随机发布一次

时间:2013-01-11 13:47:56

标签: wordpress posts

我确实在这方面做了我的搜索作业,但我仍然没有解决方案。

我有一个基于wordpress引擎的视频管网站,它显示了12个视频缩略图(帖子)/页面。 但它出现在发布时间顺序(与wordpress一样),但在这个网站上它并不是那么好。我希望这些帖子每天一次随机(随机发布日期)。

我可以整合

query_posts($ query_string。'& orderby = rand');

但这只是解决方案的一半,因为这会在每个页面加载和每个页面上随机化帖子,因此第1页和第2页可能会显示相同的视频。

所以我需要一个解决方案,让整个网站上的帖子一次性随机化,每天一次。

最好的办法是以某种方式改变每个帖子发布时间的发布日期。

我不能相信这个没有插件:) 谢谢前锋。

2 个答案:

答案 0 :(得分:1)

这是一个随机化发布日期的小脚本。

$date_format = 'Y-m-d H:i:s';
$date1       = date( $date_format, strtotime("-1 year", time()) );
$date2       = date( $date_format, time() );
$post_type   = 'post'; // post, page, product or some other custom post type

// Get all the posts
$posts = get_posts( array( 
        'numberposts' => -1, // get ALL posts
        'post_status' => 'any', // published, pending, draft, future, trash
        'post_type'   => $post_type 
  ));

foreach( $posts as $post ) {

  //* Generate a random post dates
  $random_date = mt_rand( strtotime( $date1 ), strtotime($date2) );

  //* Format the date that WordPress likes
  $post_date = date( $date_format, $random_date );

  // We only want to update the post date
  $update = array(
        'ID'            => $post->ID,
        'post_date'     => $post_date,
        'post_date_gmt' => null,
  );

  //* Update the post
  wp_update_post( $update );

}

Aldo这个线程还很老,我希望这会在将来帮助某人寻找这个答案。

答案 1 :(得分:0)

由于您假设您的查询是随机的,因此Wordpress无法避免在不同的页面中显示相同的内容。