Как вывести рубрики в две колонки?

По умолчанию, функция wp_list_categories() способна выводить категории только в одну колонку. А что если вы хотите в две?

Можно попробовать наколдовать что-нибудь со стилями, а можно воспользоваться этим кодом:

<?php
$args = array(
	'title_li'=>'',
	'echo'=>0,
	'style'=>'none'
); 
// это обязательные параметры
$all_cats = explode("<br />",wp_list_categories($args));
$cat = count($all_cats) - 1;
for ($n=0;$n<$cat;$n++):
	if ($n<$cat/2):
		$left = $left.'<li>'.$all_cats[$n].'</li>';
	elseif ($n>=$cat/2):
		$right = $right.'<li>'.$all_cats[$n].'</li>';
	endif;
endfor;
?>
<ul class="left">
	<?php echo $left; ?>
</ul>
<ul class="right">
	<?php echo $right; ?>
</ul>

Вставьте это туда, где хотите вывести рубрики в две колонки. Не забудьте настроить обтекание элементов <ul> при помощи CSS.

ul.left, ul.right{
	display:block;
	float:left;
}

При помощи CSS-свойства float:left вы можете настроить вывод любого контента в две колонки (а не только рубрик WordPress).

Миша

В последние годы я долго не знал, что мне делать с сайтом misha.blog, ведь он практически не приносит никакого профита, но недавно я осознал, что моя миссия – способствовать распространению WordPress. Ведь WordPress – это лучший движок для разработки сайтов – как для тех, кто готов использовать заложенную структуру этой CMS, так и для тех, кто предпочитает headless решения.

Сам же я впервые познакомился с WordPress в 2009 году. Организатор WordCamp. Преподаватель в школах Epic Skills и LoftSchool.

Если вам нужна помощь с вашим сайтом или может даже разработка с нуля на WordPress / WooCommerce — пишите. Я и моя команда сделаем вам всё на лучшем уровне.

Комментарии — 20

Комментирование этого поста более не доступно.
  • Алекс 5 ноября 2011 #

    а какие ещё аргументы от wp_list_categories поддерживаются?

    • Миша 5 ноября 2011 #

      да почти все))

      order_by
      show_count
      hide_empty
      use_desc_for_title
      child_of
      feed
      feed_image
      feed_type
      exclude
      exclude_tree
      include
      number

      и current_category тоже думаю будет работать)

      • Алекс 5 ноября 2011 #

        ок, спс)

  • Grigo 14 ноября 2011 #

    Здравствуйте. Спасибо за полезный код.
    Перерыл весь Инет, работающий код нашел только у Вас, с категориями он отлично справляется, но не смог прикрутить его к подкатегориям.
    На странице категорий я вывожу только подкатегории данной категории и использую код:

    но все подкатегории выводятся в одну колонку.
    Поколдовал над Вашим кодом и получил вывод в четыре колонки, но выводятся все рубрики с подрубриками, а мне нужны только подрубрики определенной рубрики.
    Пожалуйста, подскажите, как совместить Ваш код с отрывком моего кога?

  • Grigo 14 ноября 2011 #

    Код не прошел.
    Попробую так:

    wp_list_categories('orderby=name&title_li=&child_of='.$cat)
    • Миша 15 ноября 2011 #

      ты забыл про echo=0&style=none;
      то есть я рекомендую изменить код следующим образом:

      wp_list_categories("orderby=name&title_li=&echo=0&style=none&child_of=$cat")
      • Grigo 15 ноября 2011 #

        Благодарю, добрый человек 🙂
        Неделю мучился, даже танцы с бубном не помогали )
        Сейчас все заработало.
        Спасибо!

      • Роман 1 августа 2012 #

        Добрый день!
        Очень нужна помощь по выводу подкатегорий к категории колонками, вот ставлю ваш код и заменяю

        wp_list_categories($args)

        на

        wp_list_categories($args)

        а выдает ошибку мол не верно. Спасибо за ваш ответ!

  • Роман 1 августа 2012 #

    Ой на

    wp_list_categories("orderby=name&title_li=&echo=0&style=none&child_of=$cat")
  • Роман 1 августа 2012 #

    Огромное спасибо, разобрался! Удачи вам!

    • Миша 2 августа 2012 #

      =)

  • Семён 26 января 2013 #

    Подскажите, а две разные по дизайну категории, как вывести?

    • Миша 27 января 2013 #

      то есть имеются ввиду разные по дизайну ссылки на эти категории?
      нужно использовать css-классы - то есть если рубрики выводятся через функцию wp_list_categories, то она автоматически добавляет к каждому элементу списка уникальный класс, нужно прост глянуть этот класс через исходный код.

  • Серг 24 ноября 2014 #

    Куда этот код вставлять?

    • Миша 24 ноября 2014 #

      Туда, где нужно вывести рубрики.

      • Серг 24 ноября 2014 #

        У меня нет файла category.php, есть только контент.пхп. В него можно вставлять этот код?

        • Миша 24 ноября 2014 #

          Можно.

          • Серг 24 ноября 2014 #

            А куда именно? Перед или после?

      • Миша 24 ноября 2014 #

        Туда, где нужно вывести рубрики.

        В любом случае — пробуй, тестируй, смотри.

  • Виктор 26 августа 2015 #

    А как скрыть подкатегории????