Добавляем число постов в рубрике в ссылку на рубрику
Настраивая шаблон к одному из своих блогов я столкнулся с небольшой проблемой: вывод числа постов в рубрике переносится на новую строку. Причина понятна: ссылки на рубрики выводятся в 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]] и другим функциям, выводящим число записей.
Понравился пост? Подпишись на обновления по RSS или Twitter !
#41,
понятия не имею. и честно говоря после появления нормального второго способа ковыряться с исправлением движка я точно не буду.
#42,
Тогда поясните пожалуйста, как "использовать следующий код вывода рубрик" Где его использовать и как, подробней. Не понял, я еще новичек, а эта проблема с выводом числа, тоже глаз мозолит. Первым способом я сделал, помогло но только для рубрик, теперь архивы остались..
#43,
весь вопрос в том, как у вас выводятся в сайдбаре рубрики и архивы. если виджетами - то второй способ не получится, только правкой файлов движка. а если кодом, то описанный способ идеально подойдет. смотрите, что у вас в sidebar.php
#44,
Автору респект! Очень выручило! Спасибо!
#45,
Спасибо Большое, долго парился с этой "проблемой", устал гуглить :)
Но был уверен: "Тот, кто ищет - всегда найдет!" и нашел!
#46,
спасибо...помог второй способ, хотя мне пришлось
или же вместо пробел
#47,
Для какой версии wordpress описано это лекарство? С той же проблемой столкнулся...
#48,
Нашел решение проще, в файле /wp-includes/category-template.php, строка 874, сделал так:
WordPress 3.2.1.
#49,
Спасибо огромное автору и Константину - подошел вариант Константина. (4 часа я бился над решением вопроса!)
#50,
для любой. проверялось еще на версии 2.7 и работает сейчас в данном блоге на версии 3.3.1 и без изменений файлов движка, что немаловажно.
#51,
Спасибо большое! Подошел 2 вариант автора (WP версия 3.3.2)
#52,
Большое спасибо, Александр! Ты мастер! Помогло)
#53,
как присвоить стиль css для тех самых скобок? для show_count
#54,
ну примерно так:
и в styles.css добавить:
в результате и скобки и число внутри них будут зеленого цвета.
#55,
ой спасибочки =) все получилось =)))
PS как вдобавок убрать скобки?
#56,
ну, например, так:
проверил, работает.
#57,
А куда данный код необходимо вставлять?
#58,
это если рубрики выводятся напрямую кодом в файле сайдбара. для виджета рубрик такое не прокатит.