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

Как показывать случайные посты, используя функцию, шорткод и разные шаблоны | 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 );
     
    // Создаем циклы вывода постов
    <ul>
    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();
    </ul>   
}

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

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

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

</pre>
<p>Заметьте, что вы можете в этой функции указывать разные шаблоны для вывода случайных постов. По-умолчанию используется шаблон loop.php, но вы можете создать несколько разных шаблонов, и использовать функцию с ними в разным местах.</p>
<p>Иногда бывает удобно выводить список случайных постов прямо в записи, используя шорткод. Чтобы создать шорткод для вывода случайных постов, вставьте в файл functions.php:</p>
<pre>
//создаем шорткод
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

Автор n-wp.ru — блога о WordPress для новичков.

Оцените автора
Добавить комментарий