WordPress: отображаем список рубрик в две колонки
Как вы, наверняка, знаете, для вывода списка рубрик в WordPress используется функция wp_list_categories()
. Манипулируя этой функцией с помощью PHP, мы можем реализовать вывод этого списка в две колонки.
Прошу обратить внимание, что этот способ годится в случае, если нужно вывести только родительские рубрики (без подрубрик).
В соответствующее место шаблона вашей WordPress-темы вставьте следующий PHP-код:
<?php
$cats = explode("<br />", wp_list_categories('title_li=&echo=0&depth=1&style=none'));
$cat_n = count($cats) - 1;
for ($i=0; $i < $cat_n; $i++) {
if ($i < $cat_n / 2) {
$catLeft = $catLeft.'<li>'.$cats[$i].'</li>';
} elseif ($i >= $cat_n / 2) {
$catRight = $catRight.'<li>'.$cats[$i].'</li>';
}
}
?>
А после него вот такой HTML-код:
<div class="cats">
<ul class="catLeft">
<?php echo $catLeft;?>
</ul>
<ul class="catRight">
<?php echo $catRight;?>
</ul>
</div>
Теперь остается расположить списки правильно с помощью CSS (добавьте эти стили в файл style.css
вашей темы):
.cats {
width: 100%;
overflow: hidden;
}
.catLeft,
.catRight {
float: left;
width: 50%;
padding: 0;
}
Комментарии (6)
В соответствующее место шаблона вашей WordPress-темы вставьте следующий PHP-код:
Крайне не понятна фраза “В соответствующее место” – какое место соответствует?
То место, где хотите увидеть результат.
А если в три колонки надо вывести?
Добрый вечер, Дмитрий
Воспользовался вашим кодом, но у меня категории выводятся по-прежнему в 1 колонку…
как прописать количество категорий в колонке 1 и 2
К примеру: у меня 8 кат. И мне нужно распределить по 4 в каждой.
Есть ли такое решение?
Спасибо, надеюсь на скорый ответ.
В коде не хватало отключения отступов у списков: