Intereting Posts
Заполнение пользовательских типов сообщений / настраиваемых полей из внешней базы данных Где происходит перенаправление 404? Сортировка сообщений несколькими настраиваемыми полями в определенном порядке Ограничить поиск WordPress в пользовательское поле Устранение утечек памяти в WordPress (HHVM) Скрыть подкатегории (виджет) Почему каждый подключает add_rewrite_rule для init Рекомендуемое изображение на странице, заданной как «Страница сообщений» в «Настройки»> «Чтение» Разбиение на страницы WordPress на wp_query_columns Как включить редактор содержимого в качестве недоступной цели с помощью jQuery-ui? WooCommerce изменяет количество столбцов на главной странице Слишком много попыток входа в систему Получить название перед запятой Используйте пользовательский ходок, чтобы добавить термины таксономии в главное навигационное меню Возможно ли взять сайт WordPress, если старый администратор – МВД?

Разделите слово из 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 очень ограничены, и я не могу склеить их вместе. Любая помощь будет принята с благодарностью.

Я предполагаю, что вы хотите заменить строку «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 ); }