WordPress как на ладони

taxonomy_labels_(taxonomy)хук-фильтрWP 4.4.0

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

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

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

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

add_filter( 'taxonomy_labels_(taxonomy)', 'wp_kama_taxonomy_labels_filter' );

/**
 * Function for `taxonomy_labels_(taxonomy)` filter-hook.
 * 
 * @param object $labels Object with labels for the taxonomy as member variables.
 *
 * @return object
 */
function wp_kama_taxonomy_labels_filter( $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 );

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

Примеры

0

#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;
}

Список изменений

С версии 4.4.0 Введена.

Где вызывается хук

get_taxonomy_labels()
taxonomy_labels_(taxonomy)
wp-includes/taxonomy.php 742
$labels = apply_filters( "taxonomy_labels_{$taxonomy}", $labels );

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

Использование не найдено.
campusboy 4750youtube.com/c/wpplus
Создатель YouTube канала wp-plus, на котором делюсь своим опытом. Активный пользователь wp-kama.ru. WordPress-разработчик. Разработка сайтов и лендингов. Доработка существующих проектов. Сопровождение ресурсов.
Редакторы: Kama 9616
3 комментария
    Войти