Intereting Posts
Проверьте, редактирует ли администратор страницу или пользовательский тип сообщения Могу ли я управлять контентом моего пользовательского сайта с помощью WordPress? Как я могу получить счет из запроса Сортировка пользовательских типов сообщений по фамилии в бэкэнд На моей странице индекса блога отображается последнее сообщение в заголовке? Ошибка настройки шаблона темы WP 3.8 Кто-нибудь понял, как использовать WordPress MultiSite с помощью Domain Mapping & SSL? htaccess после сохранения настроек Как перенаправить / найти / в шаблон WordPress? Получение ссылок и названий изображений из галереи NextGEN Презентация vs Содержание в WP DB-Tables Как показать определенные данные по определенному интервалу периода Как пройти прошлый и предстоящий пост, указав дату в пользовательском поле? Проводка по электронной почте, где я могу начать поиск неисправностей? Параметры темы не сохраняются с помощью settings_fields

Изменить текст после сообщения

На странице «Мои архивы» я перечисляю категории с количеством сообщений. Я изменил счетчик сообщений, удалив круглые скобки, завернув их в диапазон, который плавает вправо, и помещаю слово «Записи» после каждого столбца. Но я хочу, чтобы текст после подсчета изменился для категорий только с одним сообщением (т.е. «Ввод» вместо «Записи»).

Мой текущий код для этого:

<?php $variable = wp_list_categories('title_li=&echo=0&show_count=1'); $variable = str_replace( '(', '<span class="cat-count">', $variable); $variable = str_replace( ')', ' Entries</span>', $variable); echo $variable; ?> 

Как я могу изменить это, чтобы категории с 1 сообщением говорили «1 Entry» и те, у кого больше 1, сказали «X Entries»?

Вы можете увидеть мою страницу архивов здесь

Функция _n() будет сортировать сингл из множественного числа. Как его использовать в кодексе .

EDIT: Извинения. Мой первый ответ на вопрос был не совсем достаточным, чтобы доставить вас туда. Проблема с использованием wp_list_categories() в этом контексте заключается в том, что он печатает предварительно форматированный HTML, и вы не получаете никакого значения, которое вы можете использовать для подсчета $.

Вместо этого попробуйте использовать get_categories() который вернет массив объектов категории, к которым вы можете подключиться, чтобы получать сообщения и отображать соответственно.

Что-то вроде следующего должно сделать трюк или, по крайней мере, начать:

 <?php $categories = get_categories(); echo '<ul>'; foreach($categories as $category) { echo '<li><span class="cat-count"><a href="' . get_category_link( $category->term_id ) . '">' . $category->name.'</a>'; echo ' ' . $category->count . _n(' Entry', ' Entries', $category->count ) . '</span></li>'; } echo '</ul>'; ?>