выводить случайный пост в ленте
Добавляем такой код с помощью плагина для добавления сниппетов в function.php
function devise_rand_posts() {
$args = array(
'post_type' => 'post',
'orderby' => 'rand',
'posts_per_page' => 2,
);
$the_query = new WP_Query( $args );
if ( $the_query->have_posts() ) {
$string .= '<ul>';
while ( $the_query->have_posts() ) {
$the_query->the_post();
$string .= '<li><a href="'. get_permalink() .'">'. get_the_title() .'</a></li>';
}
$string .= '</ul>';
/* Восстанавливаем оригинальные Post Data */
wp_reset_postdata();
} else {
$string .= 'записей не найдено';
}
return $string;
}
add_shortcode('devise-random-posts','devise_rand_posts');
add_filter('widget-text', 'do_shortcode');
Зарегистрированный таким образом шорткод [devise-random-posts]
для вывода 2 случайных записей, с помощью такой «обертки» <?php echo do_shortcode('[devise-random-posts]'); ?>
вставляем в нужное место шаблона index.php дочерней темы (чтобы Ваши изменения не пропали при обновлении темы)
Количество случайно выводимых записей можно изменить в этой строке 'posts_per_page' => 2,
-
Ответ изменён 4 года, 5 месяцев назад пользователем zoltsmaster.
-
Ответ изменён 4 года, 5 месяцев назад пользователем zoltsmaster.
Автор
spre
(@espress0)
@zoltsmaster, спасибо, попробую на днях, сообщу )
Автор
spre
(@espress0)
@zoltsmaster, к сожалению, не справился, не понял куда вставлять ваш код в плагине добавления снипетов(