Я использую приведенный ниже код, чтобы получить 5 основных категорий детей (по числу должностей) из категории «Родитель». Код работает отлично , однако мне нужно добавить более «родительские» категории, чтобы я не мог получить общее количество пяти категорий детей из нескольких родительских категорий.
Adding 'parent' => '599,588,590', **Does not work.**
Рабочий код для родительской категории.
<?php $args=array( 'orderby' => 'count', 'order' => 'DESC', 'parent' => '599', 'number' => '5' ); $categories=get_categories($args); foreach($categories as $category) { echo '<li><a href="' . get_category_link( $category->term_id ) . '" title="' . sprintf( __( "" ), $category->name ) . '" ' . '>' . $category->name.' (' . $category->count .')</a></li>'; } ?>
Вы не можете получить его за один звонок.
Вместо этого выполните несколько вызовов, затем отсортируйте данные, которые каждый вызов дал вам в один массив, и возьмите верхние 5 в новом списке.
например
$args=array( 'orderby' => 'count', 'order' => 'DESC', 'parent' => '599', 'number' => '5' ); $categories=get_categories($args); $args2=array( 'orderby' => 'count', 'order' => 'DESC', 'parent' => '588', 'number' => '5' ); $categories2=get_categories($args2); // etc...
Наконец, вы создадите новый массив, который будет использоваться для отображения 5 лучших категорий. Вы заполните этот массив, выполнив поиск в 5 классах массивов, которые вы только что приобрели, и выберите категории с самым высоким счетом.
Подумайте о каждом массиве как о топ-10, и вы составляете новый топ-10 из 5 списков. Вы найдете самую высокую категорию во всех 5 списках, затем следующую самую высокую, и как только у вас будет 5 предметов, вы остановите свой список и напишите свой окончательный список.