Описание pre_redirect_guess_404_permalink
— Filter
Хук pre_redirect_guess_404_permalink позволяет изменить URL, который будет использован для перенаправления на страницу, когда WordPress не может найти запрашиваемую страницу. Он срабатывает перед тем, как происходит перенаправление на страницу с ошибкой 404, что позволяет разработчикам настраивать поведение перенаправления.
Примеры использования
Пример изменения предполагаемого permalink для перенаправления:
add_filter('pre_redirect_guess_404_permalink', function($permalink) {
// Проверяем, если запрашиваемая страница - это продукт
if (strpos($_SERVER['REQUEST_URI'], '/product/') !== false) {
// Меняем permalink на страницу категории
return '/category/';
}
return $permalink;
});
В этом примере мы перенаправляем пользователей на страницу категории, если они запрашивают URL, содержащий ‘/product/’.
Пример изменения permalink для перенаправления на кастомную страницу:
add_filter('pre_redirect_guess_404_permalink', function($permalink) {
// Всегда перенаправляем на кастомную страницу 404
return '/custom-404-page/';
});
Здесь мы жестко задаем перенаправление на кастомную страницу 404.
— Лучшие практики
– Использование
Используйте этот хук, когда необходимо изменить поведение перенаправления для страниц с ошибкой 404
– Производительность
Хук не должен существенно влиять на производительность, но слишком частое использование может привести к нежелательным перенаправлениям
– Предупреждения
Убедитесь, что ваше перенаправление не создает циклы или не приводит к нежелательным результатам
Альтернативы
Тип: action
Этот хук позволяет выполнять код перед выводом шаблона, включая перенаправления на страницы с ошибкой 404
Используйте его, если вам нужно выполнить более сложную логику перед выводом страницы, например, проверку прав пользователя