redirect_guess_404_permalink()
— это встроенная функция в WordPress, предназначенная для перенаправления пользователей, когда происходит 404 ошибка запроса. Эта функция практична, потому что она пытается «угадать» правильный URL на основе переменных запроса.
redirect_guess_404_permalink(): string|false
Дополнительная информация о функции
Тип возвращаемого значения этой функции — это либо строка, либо ложь. Это означает, что функция возвращает правильный URL, если таковой имеется. В противном случае она возвращает false.
Note: В WordPress есть несколько встроенных фильтров, которые используются вместе с этой функцией для более гибкого управления ее работой. Все они начинаются с apply_filters().
Пример использования функции
Давайте рассмотрим следующий сценарий:
<?php
function example_redirect_guess_404_permalink() {
global $wpdb;
$pre = apply_filters('pre_redirect_guess_404_permalink', null );
if ( null !== $pre ) {
return $pre;
}
if ( get_query_var('id') ) {
$where = $wpdb->prepare('ID = %d', get_query_var('id') );
}
$post_id = $wpdb->get_var("SELECT ID FROM $wpdb->posts WHERE $where");
if(!$post_id) {
return false;
}
return get_permalink( $post_id );
}
add_action('template_redirect', 'example_redirect_guess_404_permalink');
?>
В этом примере, наша функция похожа на встроенную функцию WordPress redirect_guess_404_permalink()
, однако она дополнительно проверяет переменную id
вместо переменной name
, которую использует стандартная функция. Если страница с указанным ID существует, она возвращает ссылку на эту страницу. В противном случае, функция возвращает ложь.
Заключение
Функция redirect_guess_404_permalink()
является очень полезным инструментом в руках разработчика WordPress для обработки ошибок 404 и улучшения пользовательского опыта на сайте. Умелое применение этой функции позволяет минимизировать количество «мёртвых» ссылок на вашем сайте и сделать его более «дружелюбным» для пользователей.