Обычно категории выводятся в сайдбаре одной колонкой. Однако если категорий много, а сайдбар широкий, то можно сэкономить вертикальное пространство, выведя их в две колонки.
Вывести рубрики в две колонки поможет ручная правка кода. Если рубрики выводятся виджетом, то после добавления специального кода, можно отказаться от виджета вообще. Если категории выводятся в сайдбаре автоматически, то есть код предусмотрен уже в теме, то мы сейчас исправим его на тот, который нам нужен. Найдите в файле sidebar.php примерно такой код:
</pre> <p>Это и есть тот код, который выводит категории списком в одну колонку. Его нужно заменить на этот:</p> <pre> <?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"> </ul> <ul class="right"> </ul>
Так как у каждой колонки есть ширина, то ее следует определитьв файле style.css. Например, ширина сайдбара равна 300px. Тогда в style.css добавляем:
.right {float:left; width:140px;} .left {float:left; width:140px;}
Поэкспериментируйте с шириной, чтобы суммарная ширина колонок подходила к ширине сайдбара.
Не работает эта штукенция на wp 2.9
Подскажи как в 4 колонки вывести. В две получилось.
Вы забыли волшебное слово. Да и на брудершафт я с вами не пил, чтобы вы мне тыкали.
Извините если обидел, ПОЖАЛУЙСТА!!!
Отличная статья, спасибо. В итоге код выводит все категории в которых есть посты. А может сможешь подсказать:
А если к примеру нужно вывести все названия категорий внутри поста которые принадлежат этому посту и вывести их в две колонки?
К примеру есть таксономия ‘convenience’. Код покажет все названия таксономии.
$atributes = wp_get_object_terms($post->ID, ‘convenience’);
if( $atributes && ! is_wp_error($atributes) )
{
foreach( $atributes as $term )
{
echo $term->name
}
}