在过去2周内随机输入Custom Post

时间:2018-03-26 16:05:19

标签: wordpress

我正试图在过去两周内从自定义类型和自定义分类中获取随机条目...
问题是它总是显示相同的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();

1 个答案:

答案 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' );
    }

}