taxonomy_labels_(taxonomy)
Дозволяє змінити лейбли (заголовки) у зазначеної таксономії (рубрики, теги тощо).
$taxonomy у назві фільтра – це slug таксономії, що вказується під час реєстрації функції register_taxonomy() першим аргументом.
Щоб змінити заголовки типу посту, наприклад “Записи” замінити на “Товари” читайте:
- Як змінити записи на будь-яке інше слово в WordPress?
- post_type_labels_(post_type) – хук схожий цей хук, лише використовується типів постів.
Використання
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 );Так як в будь-якому випадку користувацькі лейбли і оригінальні будуть злиті разом із заміною, то дані, що передаються в фільтр, практично не маю сенсу, хіба що для налагодження.
Приклади
#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
Використання не знайдено.
