Как вывести в случайном порядке посты в категории wp?
Надо чтоб посты в категории выводились каждый раз при перезагрузке страницы в случайном порядке. Помогите пожалуйста найти правильное решение. Я использовала этот код, но по какой причине не работает, возможно я использую не тот файл.
$query = new WP_Query( array( 'post_type' => 'movie', 'orderby' => 'rand', 'posts_per_page' => '-1' ) );
if ( $query->have_posts() ):
while ( $query->have_posts() ) :
$query->the_post();
//Echo the title, the excerpt, etc.
endwhile;
endif;
Ответы (1 шт):
Автор решения: Arbery
→ Ссылка
Неправильный шаблон single.php - это шаблон одиночной записи, хотя бы archive.php или category.phpдля списка категорий/таксономий/меток. Но и в них напрямую WP_Query, чтобы его модифицировать, c высокой вероятностью нет. Поэтому в function.php событие pre_get_posts чтобы повлиять на основной объект WP_Query и проверка шаблона is_category() чтобы не затронуть другие запросы:
add_action( 'pre_get_posts', 'rand_category' );
function rand_category( $query ) {
if( is_category() ) {
$query->set( 'orderby', 'rand' );
}
}