@vadim_sverdlik
Начинающий разраб

Как ограничить в вордпресс количество рубрик по циклу?

В этом коде я вывожу циклом свои рубрики,но у меня не получется их ограничить по количеству.Для записей например 'posts_per_page' => 1 работает,но для категорий нет,как справиться,подскажите пожайлуста?

<?php
$args = array(
'parent' => 0,
'hide_empty' => 0,
'exclude' => array(11,1),
'number' => '0',
'taxonomy' => 'category',
'posts_per_page' => 1,
'pad_counts' => true

);
$cats = get_categories($args);
foreach($cats as $cat) :?>


<?php $category = get_term($cat) ?>



<?php echo get_cat_name($category->term_id); ?>


<?php echo category_description($category->term_id); ?>


<?php endforeach; wp_reset_query(); ?>
  • Вопрос задан
  • 156 просмотров
Решения вопроса 1
HeadOnFire
@HeadOnFire
PHP, Laravel & WordPress Evangelist
Из документации:


'number'
(int|string) Maximum number of terms to return. Accepts ''|0 (all) or any positive number. Default ''|0 (all).


То есть, вот так:

$args = array(
    ...
    'number' => 10, // нужное количество (максимальное)
    ...
);
$cats = get_categories($args);


Это что касается вашего прямого вопроса. А также, не нужно делать вот это:

$category = get_term($cat)

и вот это:

echo get_cat_name($category->term_id);

потому что функцией get_categories() вы уже получили массив объектов WP_Term, которые содержат все необходимые данные. Вот вам отрефакторенный код, который не делает ничего лишнего:

$args = array(
	'parent'         => 0,
	'hide_empty'     => 0,
	'exclude'        => array( 11, 1 ),
	'number'         => 10,
	'taxonomy'       => 'category',
	'posts_per_page' => 1,
	'pad_counts'     => true
);

$cats = get_categories( $args );

foreach( $cats as $cat ) :

	echo $cat->name;
	echo $cat->description; 

endforeach;
Ответ написан
Комментировать
Пригласить эксперта
Ваш ответ на вопрос

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

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