Intereting Posts
Ошибка HTTP при загрузке изображений с помощью HTTPS? PHP-код внутри коротких кодов Получить значения дополнительных пользовательских полей перед сохранением Возможно ли, что WordPress не распознает URL-адреса категории? Запустить ядро ​​jQuery в нижнем колонтитуле? Как исправить параметр входа в WordPress Как определить, какой register_post_status отправляется в регистр register_post_type? Условно загружать скрипт в зависимости от текущей страницы администрирования Изменение значений в разных файлах Текущий блог возвращает идентификатор 1 вместо идентификатора блога пользователей? Как я могу корректно разбивать файл loop.php? Как изменить слово в теме? Страница портфолио WordPress: показывать только дочерние категории Не удается войти в WordPress, нет данных, полученных с ошибкой Удаление базового пула из иерархического пользовательского типа сообщения

Как динамически отображать все категории в трех divs на основе четности категорий?

У меня 15 категорий. Я перечисляю это, используя <div class="category_list"><ul><li><?php wp_list_categories();?></li></ul></div> Теперь он перечисляет все 15 категорий в один div, является category_list.

Я пытаюсь напечатать эти категории 5 на 5 в трех div. как:

<div class="category_list">first 5 categories here </div>

<div class="category_list">6th to 10th categories here </div>

<div class="category_list">11th to 15th categories here </div>

Эти divs плавают рядом друг с другом, я могу сделать это с помощью CSS.
Но как я могу достичь этой разметки HTML, используя PHP-кодирование?

Любая помощь будет очень оценена. Заранее спасибо.

Solutions Collecting From Web of "Как динамически отображать все категории в трех divs на основе четности категорий?"

Вы можете использовать функцию get_categories () .

 <?php $cats = get_categories(); $count = 15; // Total Categorie $linetotal=round($count/3); ?> // Part of Categorie <div class="category_list"> <ul><?php $totalcount = 1; $totalpart = 1; foreach($cats as $cat): ?> <li><?php echo $cat->name; ?></li><?php if($totalcount % $linetotal == 0 && $totalpart < 3) { echo '</ul></div><div class="category_list"><ul>'; $totalpart++; } $totalcount++; endforeach;?> </ul> </div> - <?php $cats = get_categories(); $count = 15; // Total Categorie $linetotal=round($count/3); ?> // Part of Categorie <div class="category_list"> <ul><?php $totalcount = 1; $totalpart = 1; foreach($cats as $cat): ?> <li><?php echo $cat->name; ?></li><?php if($totalcount % $linetotal == 0 && $totalpart < 3) { echo '</ul></div><div class="category_list"><ul>'; $totalpart++; } $totalcount++; endforeach;?> </ul> </div> 

wp_list_categories () – функция wordpress по умолчанию для отображения категорий. Он сам добавляет html с элементами категории и печатает его соответствующим образом.

Теперь, если вы хотите показывать категории в сетке 3 div, вам нужно распечатать его с помощью своего кода. Сначала загрузите все условия типа категории, затем

  $terms=get_terms( 'categories', array('orderby' => 'slug', 'hide_empty' => false,'depth' => 3)); 

echo "<pre>"; print_r ($ термины); эхо "</ pre>"; умереть;

Он отобразит ваш массив категорий. Теперь вы можете перемещать этот массив, чтобы распечатать его в любом формате.

Или вы можете использовать одну и ту же функцию для печати категории 3 раза во всех трех div. Просто укажите конкретные идентификаторы (исключая те 10, которые вы не хотите)

 wp_list_categories('show_count=0&use_desc_for_title=0&title_li=0&exclude=1, 16, 30, 31, 32, 78, 80, 9'); 

Здесь введите те 10 идентификаторов категорий, которые вы хотите, чтобы первый div затем исключил другие 10, которые вы не хотите во втором div, то же самое для 3-го div