我正试图在过去两周内从自定义类型和自定义分类中获取随机条目...
问题是它总是显示相同的3个条目。我总共有大约10个条目,所以我希望每次页面刷新或者一个人去另一个页面时显示10个随机的条目。
$args = array(
'post_type' => 'country',
'post_status' => 'publish',
'orderby' => 'rand',
'posts_per_page' => '3',
'date_query' => array( array( 'after' => '2 weeks ago' ) ),
'tax_query' => array(
array(
'taxonomy' => 'country_categories',
'field' => 'id',
'terms' => '25'
)
)
);
$my_query = new WP_Query( $args );
if ( $my_query->have_posts() ) :
while ( $my_query->have_posts() ) : $my_query->the_post();
echo '<p><a href="'.get_the_permalink().'">'. get_the_title() .'</a></p>';
endwhile;
endif;
wp_reset_postdata();
答案 0 :(得分:0)
<强>第一强>
要显示10个条目,您必须将post_per_page
值更改为10。
<强>第二强>
每次访问存档页面时,请尝试this solution进行随机排序:
add_action( 'pre_get_posts', 'sk_country_archive_random' );
/**
* Set Random order for entries in Country archive page
*
* @author Bill Erickson
* @author Sridhar Katakam
* @link http://www.billerickson.net/customize-the-wordpress-query/
* @param object $query data
*
*/
function sk_country_archive_random( $query ) {
if( $query->is_main_query() && !is_admin() && is_post_type_archive( 'country' ) ) {
$query->set( 'orderby', 'rand' );
}
}