Сегодня снова пост по обновлениям WP, а именно по WordPress 6.1, которое не так давно случилось. Помимо некоторых внесенных изменений от прошлой версии Вордпресс 6.0 – в 6.1 слегка поправлена функция wp_list_categories – в аргументе use_desc_for_title исправлено значение по умолчанию: было 1; стало 0. Вследствие чего в работе виджета “Рубрики” произошло небольшое измененьице. Перестал выводится title (или правильнее – описание).
Для тех, которые юзают виджет Рубрики, понимают, о чем я говорю.
Итак, при наведении курсора на ссылку в виджете “Рубрики” не выводится описание. Исправляем ситуацию…
По некоторым обновлениям WordPress расписано в этой ветке…
WordPress 6.1 – use_desc_for_title в значении 0
Наглядно вывод описания для ссылок на Категории в виджете отрабатывает примерно так:
…таким образом, если вы установите “минорное” обновление WP 6.1.1 вы получите, скажем так, для некоторых админов не вполне рабочий виджет “Рубрики”, а именно потому, что пропадет вывод title (описания).
Исправить эту ситуации просто! Необходимо добавить некоторый код-фильтр со значение в аргументе 'use_desc_for_title' => 1
о котором ниже.
фильтруем аргументы для функции wp_list_categories
Добавьте этот код в ваш файл активного шаблона, или: создайте свой плагин, Дочернюю тему и пр. В комментариях кода достаточно пояснений. Одно из них, например, говорит о том, что данный код отработает только для виджета ВП – widget_categories_args
.
/* Фильтруем (вмешиваемся) работу виджета категорий: ЧТОБЫ отображались title ОПИСАНИЕ категорий - в ВП 6.1 изменили значение в аргументе по умолчанию use_desc_for_title' => 0, единицу (1) на НОЛЬ
*
* Однако имейте в виду, что этот фильтр работает только для прежнего виджета «Категории». Новые сайты будут иметь доступ только к блоку «Категории».
* Блок «Категории» не имеет эквивалентного фильтра, поэтому фильтрация аргументов невозможна
* ИЛИ выводить данные виджета через php
* */
add_filter( 'widget_categories_args', 'ats_filter_wp_list_categories' ); //, 10, 2
function ats_filter_wp_list_categories( $args ) {
//$showcaats = '93'; // показываем только: рубрики с ID
$nocaats = '93'; // исключаем категории = 1=Без рубрики
$args = array(
'taxonomy' => 'category', // указываем таксономии
//'include' => $showcaats,
'exclude' => $nocaats, // исключаем категории
'use_desc_for_title' => 1,
'title_li' => '' // исключим ИМЯ виджета
);
return $args; }
/*Фильтруем (вмешиваемся) работу виджета категорий*/
Также всегда есть возможность воспользоваться другим вариантом – добавить в виджет функцию (фильтр) с заданными аргументами. Для этого у вас должен быть активен “текстовый виджет, который умеет работать с функциями и шорткодами (по умолчанию ВП текстовый виджет этого не делает).
отфильтровать данные аргументов функции wp_list_categories возможно таким примерным образом:
add_filter('wp_list_categories', 'name_category_title'); //, 10, 2
function name_category_title( ) {
$args = array(
// какой-то сценарий
);
echo '<ul>'; wp_list_categories( $args ); echo '</ul>'; }
Вот по таким примерам кода сможете решить данную задачу с виджетом Рубрики. Естественно – все их можно перерабатывать под себя…
Код wp_list_categories()
в WP 6.1.1 возможно отыскать в ядре cms: wp-includes/category-template.php
Вот, пожалуй, на этом можно на сегодня завершить повествование… Если что не ясно, задавайте вопросы либо в комментариях, либо в Телеграм:
Как работать с условными тегами WP: пример на странице пагинации – закрываем в noindex,follow
Создание… продвижение сайтов; помощь по сайту, настройки, сопровождение и пр. – студия ATs media запросто с WordPress
mihalica.ru !