Как показывать случайные посты, используя функцию, шорткод и разные шаблоны

Как показывать случайные посты, используя функцию, шорткод  и разные шаблоны | n-wp.ru

Как показывать случайные посты, используя функцию, шорткод и разные шаблоны

Иногда для лучшей перелинковки вебмастера отображают ссылку на пост, выбранный случайно. Такое колесо рулетки фортуны бывает полезно – просыпается интерес к давно опубликованным постам, и иногда просто ждешь, какой же пост выпадет на этот раз? Давайте посмотрим, как можно сделать вывод случайных постов, используя функцию и шорткод.

Добавьте код функции вывода случайных постов в файл functions.php используемой вами темы:

//создаем функцию
function tp_random_posts( $post_count = 5, $template = 'loop' ){    
    // Создаем запрос
    $query_arguments = array(
        'ignore_sticky_posts'=>1,
        'posts_per_page' => $post_count,
        'orderby'=>'rand'
    );     
    // Получаем параметры запроса
    query_posts( $query_arguments );
     
    // Создаем циклы вывода постов
    
    if ( have_posts() ) : $post_index = 1; while ( have_posts() ) : the_post(); get_template_part( $template , get_post_format() ); $post_index = $post_index + 1; endwhile; endif; // Сбрасываем параметры запроса wp_reset_query();
}

Эта функция выбирает несколько случайных постов, и выводит их простым. Количество постов по-умолчанию равно 5, но вы можете указать и другое. После этого нужно создать шаблон для отображения списка постов – файл loop.php. Его нужно переписать в папку с темой. Он будет отвечать за то, как выглядит список постов. Как минимум он должен содержать:

<li class="entry-">
    <a href="" rel="bookmark">

Чтобы вывести случайные посты, нужно вставить в шаблон вызов функции:


Заметьте, что вы можете в этой функции указывать разные шаблоны для вывода случайных постов. По-умолчанию используется шаблон loop.php, но вы можете создать несколько разных шаблонов, и использовать функцию с ними в разным местах.

Иногда бывает удобно выводить список случайных постов прямо в записи, используя шорткод. Чтобы создать шорткод для вывода случайных постов, вставьте в файл functions.php:

//создаем шорткод
function tp_random_posts_shortcode( $atts, $content = null ){
    extract(shortcode_atts( array(
        'count' => 5,
        'template' => 'loop'
    ), $atts));  
    tp_random_posts( $count, $template );
}
add_shortcode('randomposts', 'tp_random_posts_shortcode');

По-умолчанию количество постов равно 5, а шаблон для их отображения – loop.php:

[randomposts count=5 template='loop']

Вы можете указать и другие значения параметров:

[randomposts count=3 template='rand-post-list']

Манипулируя функцией и шорткодом, а так же различными шаблонами для вывода случайных постов, каждый блок со случайными постами можно оформить индивидуально и выводить в разных местах блога.

Автор tiaurus 2182 Articles
Являюсь создателем n-wp.ru — блога о WordPress для новичков. Мне интересно многое, поэтому еще я сделал 123-box.ru — блог о программах для Windows, и tiaurus.info — блог о красоте.

Оставьте первый комментарий

Оставить комментарий

Ваш электронный адрес не будет опубликован.


*