Описание parent_file
— Filter
Хук parent_file позволяет изменить текущий родительский файл в административной панели WordPress. Он срабатывает на этапе загрузки страниц админки и позволяет задать, какой файл будет считаться родительским в зависимости от контекста
Примеры использования
Пример изменения родительского файла для страницы настроек плагина:
add_filter('parent_file', function($parent_file) {
return 'options-general.php';
});
В этом примере мы устанавливаем текущий родительский файл на страницу общих настроек
Пример использования условия для изменения родительского файла:
add_filter('parent_file', function($parent_file) {
if (isset($_GET['page']) && $_GET['page'] == 'my-plugin-settings') {
return 'options-general.php';
}
return $parent_file;
});
Здесь мы проверяем, если текущая страница — это настройки нашего плагина, и устанавливаем родительский файл на страницу общих настроек
Пример изменения родительского файла для административной страницы товара:
add_filter('parent_file', function($parent_file) {
if (isset($_GET['post_type']) && $_GET['post_type'] == 'product') {
return 'edit.php?post_type=product';
}
return $parent_file;
});
Мы изменяем родительский файл на страницу редактирования товаров, если текущий тип поста — ‘product’
— Лучшие практики
– Использование
Используйте этот хук, когда нужно изменить навигацию в админке в зависимости от контекста или страницы
– Производительность
Хук не должен значительно влиять на производительность, так как он работает только с переменными и не требует дополнительных запросов
– Предупреждения
Будьте осторожны с условиями, чтобы избежать некорректной навигации в админке
Альтернативы
Тип: action
Этот хук позволяет добавлять или изменять элементы меню в админке WordPress
Используйте его, если вам нужно изменить структуру меню, а не только родительский файл