Как вывести категории в две колонки

Обычно категории выводятся в сайдбаре одной колонкой. Однако если категорий много, а сайдбар широкий, то можно сэкономить вертикальное пространство, выведя их в две колонки.

tiaurus-2010-01-06_173957

Вывести рубрики в две колонки поможет ручная правка кода. Если рубрики выводятся виджетом, то после добавления специального кода, можно отказаться от виджета вообще. Если категории выводятся в сайдбаре автоматически, то есть код предусмотрен уже в теме, то мы сейчас исправим его на тот, который нам нужен. Найдите в файле sidebar.php примерно такой код:

1
<?php wp_list_categories(); ?>

Это и есть тот код, который выводит категории списком в одну колонку. Его нужно заменить на этот:

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
 <?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):
$cat_left = $cat_left.'<li>'.$cats[$i].'</li>';
elseif ($i>=$cat_n/2):
$cat_right = $cat_right.'<li>'.$cats[$i].'</li>';
endif;
endfor;
?>
<ul class="left">
<?php echo $cat_left;?>
</ul>
<ul class="right">
<?php echo $cat_right;?>
</ul>

Так как у каждой колонки есть ширина, то ее следует определитьв файле style.css. Например, ширина сайдбара равна 300px. Тогда в style.css добавляем:

1
2
 .right {float:left; width:140px;}
.left {float:left; width:140px;}

Поэкспериментируйте с шириной, чтобы суммарная ширина колонок подходила к ширине сайдбара.

Комментариев 4
  1. Не работает эта штукенция на wp 2.9

  2. Подскажи как в 4 колонки вывести. В две получилось.

  3. Извините если обидел, ПОЖАЛУЙСТА!!!