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 и улучшения пользовательского опыта на сайте. Умелое применение этой функции позволяет минимизировать количество «мёртвых» ссылок на вашем сайте и сделать его более «дружелюбным» для пользователей.