我确实在这方面做了我的搜索作业,但我仍然没有解决方案。
我有一个基于wordpress引擎的视频管网站,它显示了12个视频缩略图(帖子)/页面。 但它出现在发布时间顺序(与wordpress一样),但在这个网站上它并不是那么好。我希望这些帖子每天一次随机(随机发布日期)。
我可以整合
query_posts($ query_string。'& orderby = rand');
但这只是解决方案的一半,因为这会在每个页面加载和每个页面上随机化帖子,因此第1页和第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无法避免在不同的页面中显示相同的内容。