Intereting Posts
Добавление отображаемого изображения в сообщения, созданные плагином Как создать метабокс содержимого HTML с инструкциями для редакторов при редактировании сообщения или страницы? Как реализовать пользовательский Javascript на моем сайте Dukapress jQuery ("form.product_update"). Livequery не является функцией Fetch массив с $ wpdb Продать любое изображение из пользовательского типа отправки Добавление видео в виде миниатюр (без фотоснимков, только проигрыватель меньшего размера) Пользователи оценивают собственные комментарии проблема с использованием WP_Http с paypal nvp api липкие сообщения теперь показывают, если фильтр WP_Query автор Как объединить эти 2 запроса Предотвращение или отключение создания новых пользователей или изменение роли существующих пользователей для администратора Событие wp.customize.bind не запущено Как установить медиа-папку для каждого типа вне медиа-каталога Нужно ли ждать после нажатия «обновления» на странице редактирования после публикации?

wp_list_categories + виджет

В приведенном ниже коде я добавил тэг span +, поместив счет категории внутри ссылки.

add_filter('wp_list_categories', 'cat_count_span'); function cat_count_span($links) { $links = str_replace('</a> (', '<span>', $links); $links = str_replace(')', '</span></a>', $links); return $links; } 

Проблема, с которой я сталкиваюсь … эта модификация будет применяться ко всем страницам или виджетам, использующим wp_list_categories . И я хотел бы иметь противоположный эффект. Код должен применяться только в моем виджетах, сделанных на заказ.

Что мне нужно изменить, чтобы он работал так, как я бы хотел, чтобы он работал?

Solutions Collecting From Web of "wp_list_categories + виджет"

У вашего виджета должен быть метод, который выглядит примерно так:

 public function widget( $args, $instance ) { echo $args['before_widget']; if ( ! empty( $instance['title'] ) ) { echo $args['before_title'] . apply_filters( 'widget_title', $instance['title'] ). $args['after_title']; } wp_list_categories(); echo $args['after_widget']; } 

Примените фильтр внутри этого метода, а затем удалите его:

 public function widget( $args, $instance ) { echo $args['before_widget']; if ( ! empty( $instance['title'] ) ) { echo $args['before_title'] . apply_filters( 'widget_title', $instance['title'] ). $args['after_title']; } add_filter('wp_list_categories', 'cat_count_span'); wp_list_categories(); remove_filter('wp_list_categories', 'cat_count_span'); echo $args['after_widget']; } 

То же самое работает с методом бэкэнд- form .

Справка:
https://codex.wordpress.org/Widgets_API#Example