我正在尝试使此wp查询以某种方式从每个月返回一个帖子,并显示当前安装的所有月份。如果帖子是随机的,那就太棒了。因此,每次重新加载页面时帖子都不同。
看看我到目前为止想出了什么...
<?php $arhiveGrid = new WP_Query(array(
'post_type' => 'page'
'order' => 'DESC',
'orderby' => 'date',
'posts_per_page' => 99999
)); ?>
<?php if ($arhiveGrid->have_posts()) : while ($arhiveGrid->have_posts()) : $arhiveGrid->the_post();
$retina = wp_get_attachment_image_src( get_post_thumbnail_id( $post->ID ), 'thumb-retina' ); ?>
<a class="arhive-grid" href="<?php bloginfo('url'); the_time('/Y/m/'); ?>" style="background-image:<?php echo $retina[0]; ?>;">
<span><?php the_time('F Y') ?></span>
</a>
<?php endwhile; unset($arhiveGrid); endif; ?>
显然,此查询将返回我安装的每个帖子。上面的代码是我将用来为我的存档页面(不是存档.php)构建存档网格的代码。
网格需要每个月的图像作为背景,以"月"和"年"作为文本叠加层,并且需要链接到正确的月份。
但是,只有当上面的查询可以调整为每月的随机帖子时,代码才会起作用。
感谢您的任何帮助或指示。
此查询将为您提供一个随机帖子。您可以更改"号码帖子"以获得任意数量的帖子
<?php
$args = array( 'numberposts' => 1, 'orderby' => 'rand' );
$rand_posts = get_posts( $args );
?>
编辑:如果您想在某个时间范围内从 with 获取随机帖子,则必须使用自定义查询。
$wpdb->query("SELECT * FROM $wpdb->posts where post_data >= '2012-03-01' AND post_data < '2012-03-31' ORDER BY RAND() limit 1 ");
此查询将为您提供 2012 年 3 月发布的随机帖子。
现在,您必须在循环中使用此查询来获取所需的每个月的随机帖子。