Intereting Posts
Как использовать wpLink без редактора? WordPress показывает ссылку для регистрации для не зарегистрированных пользователей Короткие коды, не работающие в вызове AJAX Когда самое подходящее время для сброса постоянных ссылок? Как сделать навигационное меню wordpress использовать почтовые метаданные Крючки для просмотра изменения значения настройки function.php условный тег – показывать только в single.php? Обновлять дату публикации до измененной даты автоматически Будут ли эти плагины работать с wp multisite? Удалить страницу меню get_option и список опций Ширина ThickBox не может быть изменена администратором Один комментарий для пользователя за сообщение, но он может отвечать на существующие комментарии Как обрабатывать версию плагина при обновлении с помощью Tortoise SVN и репозитория плагинов worpdress.org? Кириллические символы в правилах перезаписи вызывают ошибки 404 Not Found

Как динамически отображать все категории в трех 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