Как перенаправить сразу на страницу поста, если архив содержит всего одну запись

Как перенаправить сразу на страницу поста, если архив содержит всего одну запись | n-wp.ru
Способ перенаправления со страницы архива на страницу поста, если архив содержит всего один пост.
👍 Научим бесплатно правильно создавать сайты на WordPress. Подробнее →

Как перенаправить сразу на страницу поста, если архив содержит всего одну запись

Когда постов еще мало, а категорий уже много, может возникнуть ситуация, что в какой-нибудь категории есть только один пост. При выборе категории этот пост может выглядеть сиротливо. А почему бы не перенаправлять посетителей прямо в этот пост, если он всего лишь один в категории? А почему бы не делать так вообще для любого архива (категории, теги, даты, авторы)? Нет, ну правда, какой смысл переходить на страницу архива, а потом еще раз кликать по ссылке, когда вам и так известно, что на странице архива находится только один пост?

Сделать это легко — нужно лишь добавить следующий код в файл functions.php используемой вами темы:

function tp_redirect_to_post(){
    global $wp_query;
 
    // если на странице архива только один пост
    if( is_archive() && $wp_query->post_count == 1 ){
        // получаем этот пост
        the_post(); 
        // получаем ссылку на него
        $post_url = get_permalink();
        // делаем редирект
        wp_redirect( $post_url );
    }   
 
} add_action('template_redirect', 'tp_redirect_to_post');

Теперь если на странице какого-нибудь архива находится только один пост, то вы перейдете сразу на него, пропуская эту страницу.

Создай свой первый сайт на WordPress

tiaurus

Автор n-wp.ru — блога о WordPress для новичков.

Оцените автора
Добавить комментарий