Intereting Posts
Как WordPress генерирует предварительный просмотр веб-сайта комментария? Фильтр / add_action на страницу upgrade.php Как разместить несколько галерей изображений в одном посте? Пользовательские столбцы на главной странице edit-tags.php Получение значений id id и передача их с помощью jQuery Как загрузить файл css после определенного файла css Укажите конкретную страницу для отображения всех настраиваемых типов Тестирование для короткого кода с использованием функции. Ошибка 404 страницы Основание 4 показывает всплывающее окно с переменной Невозможно передать значение круговой диаграммы Google из настраиваемого мета-поля Поиск WordPress Предложения по одеванию блога для праздников Как получить количество сообщений в пользовательских таксономах WordPress за последний месяц за каждый день? Сохранение пользовательской мета-информации при регистрации Включить HTML-файл шаблона в wp-mail

Разделите слово из wp_list_categories

Со следующим кодом я показываю список подкатегорий:

<ul class="subcats-blog"> <?php if ( is_category() ) { $current_cat = get_query_var('cat'); wp_list_categories('&title_li=&child_of='.$current_cat); } ?> </ul> 

То, что я пытаюсь сделать, – это удалить слово «новости» из любого элемента списка. Я решил, что могу сделать это с помощью preg_replace, но проблема в том, что мои знания о php очень ограничены, и я не могу склеить их вместе. Любая помощь будет принята с благодарностью.

Solutions Collecting From Web of "Разделите слово из wp_list_categories"

Я предполагаю, что вы хотите заменить строку «news» в именах категорий, а не в ссылках категории.

По умолчанию эталон категории содержит эту строку :

 $cat_name = apply_filters( 'list_cats', $cat_name, $category ); 

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

Поэтому вы можете попробовать (непроверенный):

 <ul class="subcats-blog"> <?php if ( is_category() ) { $current_cat = get_query_var('cat'); // Add your custom replace filter: add_filter( 'list_cats', 'wpse_155534_replace' ); wp_list_categories('&title_li=&child_of='.$current_cat); // Remove your custom replace filter: remove_filter( 'list_cats', 'wpse_155534_replace' ); } ?> </ul> 

где

 /** * Replace the "news" string in the category names * * @see http://wordpress.stackexchange.com/a/155539/26350 * * @param string $cat_name * @return string $cat_name */ function wpse_155534_replace( $cat_name ) { return str_ireplace( 'news', '', $cat_name ); }