Добавляем число постов в рубрике в ссылку на рубрику

Настраивая шаблон к одному из своих блогов я столкнулся с небольшой проблемой: вывод числа постов в рубрике переносится на новую строку. Причина понятна: ссылки на рубрики выводятся в 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]] и другим функциям, выводящим число записей.

Понравился пост? Подпишись на обновления по Обновления блога по RSSRSS или Обновления блога на TwitterTwitter !

Комментарии (всего 58 комментариев)
Написать комментарий

(обязательно)

(обязательно, не публикуется)

Для вставки кода используйте кнопку "Код", по умолчанию используется синтаксис подсветки языка "php", вы можете поменять его на любой другой поддерживаемый GeSHi язык, например "javascript", "css", "html4strict", "sql" и тд. Используйте предпросмотр!
 


Подписаться на уведомления без комментирования.