Добавляем число постов в рубрике в ссылку на рубрику
Настраивая шаблон к одному из своих блогов я столкнулся с небольшой проблемой: вывод числа постов в рубрике переносится на новую строку. Причина понятна: ссылки на рубрики выводятся в css параметром display: block;, что и выкидывает любое другое содержимое на новую строку. Моих любительских знаний в css не хватило, чтобы сходу решить эту проблемку, а на специализированных форумах мне никто не ответил. Просмотрев с десяток шаблонов, где ссылки на рубрики также выводятся в блоках я ни в одном из них не увидел решения своей задачи, в каждом из этих шаблонов число записей в рубрике тоже перескакивает на новую строку. То ли никто не задавался таким вопросом, то ли никто не знает как его решить, не знаю.
Биться головой об стену в поисках решения ерундовой в общем-то проблемы я не стал, для меня проще оказалось пойти по другому пути: изменением файла движка заставить число постов в записи оказаться частью ссылки на рубрику. Для примера взгляните на сайдбар этого блога - здесь число записей в рубрике как раз является частью ссылки на эту рубрику. Надо сказать, что такое решение проблемы оказалось для меня куда более предпочтительнее, чем просто вывод цифр рядом с ссылкой на рубрику.
Чтобы аналогичным способом выводить число записей в рубриках вам надо отредактировать файл wp-includes\classes.php следующим образом:
Найдите строчку:
1336 | $link .= $cat_name . '</a>'; |
И замените ее на:
1336 1337 1338 1339 1340 | if ( isset($show_count) && $show_count ){ $link .= $cat_name . ''; $link .= ' (' . intval($category->count) . ')</a>';} else $link .= $cat_name . '</a>'; |
Теперь находим и удаляем эти строки:
1370 1371 | if ( isset($show_count) && $show_count ) $link .= ' (' . intval($category->count) . ')'; |
Теперь при выводе числа постов в рубрике (параметр &show_count=1 в функции wp_list_categories) это число станет частью ссылки на рубрику:

Вариант с изменением файла WordPress хорош тем, что тут можно задать каким образом будет показано число постов. Вы, например, можете взять его в квадратные скобки, такого выбора при обычном выводе у вас нет. С другой стороны недостатком является необходимость редактировать этот файл при каждом апдейте движка.
Способ 2. Нашел способ решить изложенную проблему, не редактируя файл движка. Для этого используйте следующий код вывода рубрик:
<?php $mycats = wp_list_categories('show_count=1&title_li=&echo=0'); $mycats = str_replace(array('</a>',')'), array('',')</a>'), $mycats); echo $mycats; ?>
Этот способ применим не только к функции wp_list_categories, но к wp_list_authors, [[wp_get_archives]] и другим функциям, выводящим число записей.
Рекомендую также:

#46, 23 марта, 2011 в 17:48
спасибо...помог второй способ, хотя мне пришлось
или же вместо пробел
#47, 20 июля, 2011 в 20:38
Для какой версии wordpress описано это лекарство? С той же проблемой столкнулся...
#48, 20 июля, 2011 в 20:51
Нашел решение проще, в файле /wp-includes/category-template.php, строка 874, сделал так:
WordPress 3.2.1.