http://wm-monitoring.ru/ ')) {alert('Спасибо за то что установили нашу кнопку! =)');} else {alert('Очень жаль! =(');}"> http://wm-monitoring.ru/

Главная Новости

Taxonomy_labels_(taxonomy) — Позволяет изменить лейблы (заголовки) у указанной таксономии (рубрики, тега и т.д.). Хук-фильтр WordPress

Опубликовано: 01.09.2018

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

$taxonomy в названии фильтра - это slug таксономии, указываемый при регистрации в функции register_taxonomy() первым аргументом.

Чтобы изменить заголовки у типа поста, к примеру "Записи" заменить на "Товары" читайте:

Использование

add_filter( 'taxonomy_labels_{$taxonomy}', 'filter_function_name_8659' ); function filter_function_name_8659( $labels ){ // filter... return $labels; } $labels(объект)

Объект с переведенными заголовками таксономии.

Переменная $labels будет содержать следующие данные:

stdClass Object ( [name] => Рубрики [singular_name] => Рубрика [search_items] => Поиск рубрик [popular_items] => [all_items] => Все рубрики [parent_item] => Родительская рубрика [parent_item_colon] => Родительская рубрика: [edit_item] => Изменить рубрику [view_item] => Просмотреть рубрику [update_item] => Обновить рубрику [add_new_item] => Добавить новую рубрику [new_item_name] => Название новой рубрики [separate_items_with_commas] => [add_or_remove_items] => [choose_from_most_used] => [not_found] => Рубрик не найдено. [no_terms] => Рубрик нет [items_list_navigation] => Навигация по списку рубрик [items_list] => Список рубрик [most_used] => Часто используемые [back_to_items] => ← Назад к рубрикам [menu_name] => Рубрики [name_admin_bar] => category )

Все свойства-лейблы, которые на этом хуке не были изменены, возьмутся из оригинала (код из движка):

// Создаётся дубликат оригинальных лейблов $default_labels = clone $labels; // Далее лейблы проходят через фильтр $labels = apply_filters( "taxonomy_labels_{$taxonomy}", $labels ); // Далее лейблы сливаются с оригинальными, заменяя при совпадении. $labels = (object) array_merge( (array) $default_labels, (array) $labels );

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

Примеры

#1 Как изменить слово "Рубрики" на что-либо другое

## Изменяет лейблы у таксономии "Рубрики". add_filter( 'taxonomy_labels_'.'category', 'change_labels_category' ); function change_labels_category( $labels ) { // Запишем лейблы для изменения в виде массива для удобства $my_labels = array( 'name' => 'Типы товара', 'singular_name' => 'Тип товара', 'search_items' => 'Поиск типов товаров', 'all_items' => 'Все типы товаров', 'parent_item' => 'Родительский тип товара', 'parent_item_colon' => 'Родительский тип товара:', 'edit_item' => 'Изменить тип товара', 'view_item' => 'Просмотреть тип товара', 'update_item' => 'Обновить тип товара', 'add_new_item' => 'Добавить новый тип товара', 'new_item_name' => 'Название новой рубрики', 'not_found' => 'Типы товара не найдены.', 'no_terms' => 'Типов товара нет', 'items_list_navigation' => 'Навигация по списку типов товара', 'items_list' => 'Список типов товара', 'back_to_items' => '← Назад к типам товара', 'menu_name' => 'Типы товара', ); return $my_labels; }

Где используется хук

... $taxonomy = $tax->name; $default_labels = clone $labels; /** * Filters the labels of a specific taxonomy. * * The dynamic portion of the hook name, `$taxonomy`, refers to the taxonomy slug. * * @since 4.4.0 * * @see get_taxonomy_labels() for the full list of taxonomy labels. * * @param object $labels Object with labels for the taxonomy as member variables. */ $labels = apply_filters( "taxonomy_labels_{$taxonomy}", $labels ); // Ensure that the filtered labels contain all required default values. $labels = (object) array_merge( (array) $default_labels, (array) $labels ); return $labels; } /** * Add an already registered taxonomy to an object type. * * @since 3.0.0 * * @global array $wp_taxonomies The registered taxonomies. * * @param string $taxonomy Name of taxonomy object. ... campusboy 2826 — youtube.com/c/wpplus

Создатель YouTube канала wp-plus, на котором делюсь своими опытом. Активный пользователь wp-kama.ru. WordPress-разработчик. Разработка сайтов и лендингов. Доработка существующих проектов. Сопровождение ресурсов.

Карта
rss