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

Как перенаправить сразу на страницу поста, если архив содержит всего одну запись | n-wp.ru

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

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

Сделать это легко – нужно лишь добавить следующий код в файл 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');

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

Автор tiaurus 2182 Articles
Являюсь создателем n-wp.ru — блога о WordPress для новичков. Мне интересно многое, поэтому еще я сделал 123-box.ru — блог о программах для Windows, и tiaurus.info — блог о красоте.

Оставьте первый комментарий

Оставить комментарий

Ваш электронный адрес не будет опубликован.


*