Все о WordPress: плагины, шаблоны, темы и настройка

Отображение рубрик в WordPress в несколько колонок

Отображение рубрик в WordPress в несколько колонок
Бывают случаи, когда необходимо вывести список категорий в две колонки. Это можно сделать с помощью приема который позволяет заменить традиционный 1-колоночный вывод рубрик в блоге на отображение рубрик в 2 колонки.

Для этого нам нужно найти в файле Вашей темы (чаще всего в sidebar.php) стандартный код вывода рубрик, обычно это:

1
<?php wp_list_categories() ?>

И заменить его на:

1
2
3
4
5
6
7
8
9
10
11
12
13
14
<?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>

Вот и все! Теперь список Ваших категорий выведется в два столбца.

Также приведу пример с выводом рубрик в четыре колонки:

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
<?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/4):
$cat_one = $cat_one.'<li>'.$cats[$i].'</li>';
elseif ($i>=$cat_n/4 && $i<($cat_n/4)*2):
$cat_two = $cat_two.'<li>'.$cats[$i].'</li>';
elseif ($i>=($cat_n/4)*2 && $i<($cat_n/4)*3):
$cat_three = $cat_three.'<li>'.$cats[$i].'</li>';
elseif ($i>=($cat_n/4)*3):
$cat_four = $cat_four.'<li>'.$cats[$i].'</li>';
endif;
endfor;
?>

<ul class="clientsCol"><?php echo $cat_one;?></ul>
<ul class="clientsCol"><?php echo $cat_two;?></ul>
<ul class="clientsCol"><?php echo $cat_three;?></ul>
<ul class="clientsCol"><?php echo $cat_four;?></ul>

Дальше уже наверное будет понятно и Вы сможете сами переделать код под три и больше колонок. Если нет, спрашивайте в комментариях!

Предыдущие записи из рубрики Настройка WordPress

7 комментариев

Goodwin, 25.06.2009 в 10:42Ответить

действительно, интересное решение. давно хотел сделать вывод списка в несколько колонок. нужно будет попробовать.....

Deimos, 25.06.2009 в 12:06Ответить

Ждем этой приколюшки в твоем новом шаблоне - пусть он станет еще лучше ;-)

sbseo, 02.09.2009 в 23:12Ответить

У вас ошибка в первом примере, тег li не закрыт

Deimos, 03.09.2009 в 06:00Ответить

sbseo, спасибо за внимательность ;) Исправил! Где то у себя на сайте применили данный прием?

sbseo, 03.09.2009 в 07:31Ответить

Deimos, да применил. Я к вам попал как раз по запросу с яндекса, очень интересовала эта фишка. Я поставил на один из сайтов шаблон, у которого широкий сайдбар внутри поделен на 2 колонки, каждая заполняется соотвествующим инклудом. А мне не нужно ничего кроме рубрик. Вот и хотел убрать инклуды и создать 2 колонки рубрик. Перерыл все доки, как запросом выдрать список категорий, но так и не нашел. О вашем решении даже и не подумал, что можно просто распарсить результат работы апи. Спасибо вам большое, очень помогли.

BuxFactor, 16.09.2009 в 11:55Ответить

Да, решение интересное =) Особенно подит, когда сайдбар одноколоночный и широкий. Пустует место возле списка рубрик.

RodgerFox, 22.03.2010 в 20:41Ответить

эм.. а как к этому стили прикрутить? а то у меня правая колонка на левую прыгает =\

Оставить ответ

Топ комментаторов

Спасибо Вам за Ваши комментарии!