@Qleager

Wordpress: Как вывести посты текущей категории через wp_query?

В выводятся посты с большим количеством комментариев через wp_query, всё остальное вне блока по дате публикации стандартным путем. Проблема в том, что стандартный способ вывода подхватывает текущую категорию нахождения, а wp_query нет, но в параметрах выборки постов можно установить в сat = "cat=id". Как его получить и вписать? Или есть возможность по другому реализовать популярные и последние посты в рубрике? Надеюсь доступно описал проблему

category.php
<?php get_header(); ?>
<main>
	<h1>Горячие <?php single_cat_title(''); ?></h1>
	<section class="news"> 
		<?php
			$args = array(
				'posts_per_page' => 6,
				'orderby' => 'comment_count',
				'cat' => 'cat=id ' 
				);
			$query = new WP_Query( $args );
			if ( $query->have_posts() ) {
				while ( $query->have_posts() ) { $query->the_post(); get_template_part( 'content', get_post_format() ); }} 
			else {}
			wp_reset_postdata(); ?>
	</section>
	
		<?php if ( have_posts() ) : ?>
			<?php /* The loop */ ?>
			<?php while ( have_posts() ) : the_post(); ?>
				<?php get_template_part( 'content', get_post_format() ); ?>
			<?php endwhile; ?>
		<?php endif; ?>

</main>
<?php get_footer(); ?>
  • Вопрос задан
  • 4058 просмотров
Решения вопроса 1
deniscopro
@deniscopro Куратор тега WordPress
WordPress-разработчик, denisco.pro
Попробуйте так:
$args = array(
        'posts_per_page' => 6,
        'orderby' => 'comment_count',
        'cat' => get_query_var('cat')
        );
Ответ написан
Пригласить эксперта
Ответы на вопрос 1
kumaxim
@kumaxim
Web-программист
Как получить информацию о текущий странице
global $wp_query;
print_r( $wp_query );


Найти в выводе id категории и подставь туда тебе надо.\

И один совет - переименуй свою переменную $query в какую-нибудь $category_hot_query, дабы избежать потенциального переопределения. Оно и в твоем случае работать будет, просто из опыта могу сказать, что сейчас ты написал тут $query, через неделю твой клиент тебе пишет "А вот хорошо бы еще вот тут вывести..." и ты делаешь еще одну переменную $query, потом твой коллега где-то еще $query и т.д. В итоге ты тратить 10 минут лишнего времени на поиск и исправления тупой ошибки, которую можно очень легко избежать.
Все это чисто лирическое отступление, основанное на моем личном опыте.
Ответ написан
Ваш ответ на вопрос

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

Войти через центр авторизации
Похожие вопросы
11 мая 2024, в 00:19
1000 руб./за проект
10 мая 2024, в 23:51
30000 руб./за проект
10 мая 2024, в 23:33
2500 руб./за проект