@Fqwd123

Как вывести самые популярные посты?

Здравствуйте, подскажите, пожалуйста, как вывести самые просматриваемые посты? Нужно вывести самые популярные посты за одну и две недели. Заранее благодарю за помощь!
  • Вопрос задан
  • 51 просмотр
Решения вопроса 1
AntonLitvinenko
@AntonLitvinenko
HTML coder
Для начала определить критерий, по которому посты станут популярными. Например количество просмотров.
А дальше обычный цикл, в аргументах которого есть meta_key из функции подсчета просмотров post_views_count и соответственно сортировка по значению этого ключа meta_value_num.
$popularLoop = new WP_Query(array(
	'posts_per_page' => 5,
	'meta_key'       => 'post_views_count',
	'orderby'        => 'meta_value_num',
	'post_type'      => 'post',
	'order'          => 'DESC',
	'date_query'     => array(
		array(
			'after' => '-15 days',
		)
	)
));

if ( $popularLoop->have_posts() ) : ?>

	<h2 class="sidebar-title"><?php _e('Найбільше читають', 'viche') ?></h2>

	<?php while ( $popularLoop->have_posts() ) : $popularLoop->the_post(); ?>

	<a href="<?php the_permalink() ?>">
		<div class="news-popular-block">
			<div class="img-wrapper">
				<?php if (has_post_thumbnail()) {
					the_post_thumbnail('popular-thumb');
				}?>
			</div>
			<div class="news-popular-text">
				<h3 class="news-popular-title"><?php trim_title_words(10, '...'); ?></h3>
				<div class="news-block-info-item news-block-date">
					<?php _e('Переглядів:', 'viche') ?> 
					<?php echo getPostViews(get_the_ID()); ?>
				</div>
			</div>
		</div>
	</a>

	<?php endwhile;?>

</div>

<?php endif; wp_reset_query(); ?>
Ответ написан
Пригласить эксперта
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Войти через центр авторизации
Похожие вопросы