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 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Введено.

Де викликається хук

wp-includes/taxonomy.php 708

$labels = apply_filters("taxonomy_labels_{$taxonomy}", $labels);

Де використовується хук у WordPress

Використання не знайдено.

Залишити відповідь

Ваша e-mail адреса не оприлюднюватиметься. Обов’язкові поля позначені *