Вывод статей случайным образом
Здравствуйте.
Я использую готовую тему оформления для сайта, на котором будут публиковаться детские рисунки. Соответственно, хотелось бы, чтобы при входе посетителем на сайт - ему показывались бы не набор последних записей (+ динамическая подгрузка, как сейчас) а набор случайных записей.
Соответственно, при входе в какую то категории - хотелось бы видеть случайные записи из определенных категорий.
вот код:
<?php get_header(); ?> <div class="main-content-w"> <?php os_the_primary_sidebar(true); ?> <div class="main-content-i"> <?php require_once(get_template_directory() . '/inc/set-layout-vars.php') ?> <?php require_once(get_template_directory() . '/inc/partials/featured-slider.php') ?> <div class="content side-padded-content adwardtag007"> <?php require_once(get_template_directory() . '/inc/partials/top-ad-sidebar.php') ?> <div class="index-isotope <?php echo $isotope_class; ?>" data-layout-mode="<?php echo $layout_mode; ?>"> <?php $os_current_box_counter = 1; $os_ad_block_counter = 0; if ( have_posts() ) : while ( have_posts() ) : the_post(); get_template_part( $template_part, get_post_format() ); // os_ad_between_posts(); endwhile; endif; ?> </div> <?php require_once(get_template_directory() . '/inc/isotope-navigation.php') ?> </div> <?php os_footer(); ?> </div> </div> <?php get_footer(); ?>
Вы не могли бы мне подсказать, что вписать в цикл для того, чтобы вывод сделать случайных статей? Я видел Ваши мануалы, но там разбираются другие циклы.
Можно использовать хук
pre_get_posts
.Проверяем, если это запрос страницы рубрики, то выставляем там параметр orderby=rand (см WP_Query). Но надо иметь ввиду, что такая случайная сортировка сильно нагружает БД. Если записей будет много, сервер ваш будет страдать...
Проверки
if( is_admin() ) return; // выходим если админка
и
if( $query->is_main_query() )
обязательны, а то конфликтов нахватаете...