Задать вопрос
@RushV

Как вывести определёную рубрику?

Здравствуйте!
Я создал новый тип записей, вывел записи вот так:
<?php $blog = new WP_Query( array('orderby'=> 'rand', 'post_type' => 'blog', 'posts_per_page' => 3 ) ); ?>
						<?php while ( $blog->have_posts() ) : $blog->the_post(); ?>
						
						<?php endwhile; ?>
						<?php wp_reset_postdata(); ?>

Можно ли как не будь вывести определённую рубрику, доработать код?
  • Вопрос задан
  • 303 просмотра
Подписаться 1 Оценить 3 комментария
Решения вопроса 1
HeadOnFire
@HeadOnFire
PHP, Laravel & WordPress Evangelist
У вас произвольный тип постов "blog" и произвольная таксономия "blogs". Названия для продукции, конечно, странные, но суть не в этом. В ваш WP_Query необходимо добавить параметр таксономии:
<?php
$args = array(
    'post_type' => 'blog', 
    'posts_per_page' => 3,
    'orderby' => 'rand', 
    'tax_query' => array(
        array(
            'taxonomy' => 'blogs',
            'field' => 'slug', // slug or term_id
            'terms' => 'bob', // string/int or array of strings/ints (see below)
            // 'field' => 'term_id',
            // 'terms' => array( 12, 15, 21 ),
        ),
    ),
);
$blog = new WP_Query( $args );
?>

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

    <h1 class="entry-title"><?php the_title(); ?></h1>
    <div class="entry-content">
        <?php the_content(); ?>
    </div>
            
<?php endwhile; ?>
<?php wp_reset_postdata(); ?>

1. 'tax_query' может фильтровать по нескольким таксономиям, поэтому принимает массив
2. ну и каждая таксономия с ее свойствами также передается массивом
3. термины можно передавать как по слагу, так и по ID
4. можно передать один термин (строка для слага / число для ID) или сразу несколько (массивом строк для слага / массивом чисел для ID) - смотрите закоментированные строчки
Ответ написан
Пригласить эксперта
Ответы на вопрос 1
Попробуйте так
<?php $blog = new WP_Query( array('orderby'=> 'rand', 'post_type' => 'blog', 'posts_per_page' => 3, 'category' => тут_id_категории ) ); ?>

или так
<?php $blog = new WP_Query( array('orderby'=> 'rand', 'post_type' => 'blog', 'posts_per_page' => 3, 'categories' => 'тут_имя_категории' ) ); ?>
Ответ написан
Ваш ответ на вопрос

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

Похожие вопросы