0

我真的为此做了我的搜索作业,但我仍然没有解决方案。

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

我可以整合

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

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

因此,我需要一种解决方案,可以一次将整个站点上的帖子随机化,并且每天一次。

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

我不敢相信没有插件可以解决这个问题:)谢谢转发。

4

2 回答 2

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 );

}

奥尔多这个线程很老了,我希望这对将来寻找这个答案的人有所帮助。

于 2018-10-29T13:08:29.917 回答
0

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

于 2013-01-11T14:04:34.210 回答