Когда постов еще мало, а категорий уже много, может возникнуть ситуация, что в какой-нибудь категории есть только один пост. При выборе категории этот пост может выглядеть сиротливо. А почему бы не перенаправлять посетителей прямо в этот пост, если он всего лишь один в категории? А почему бы не делать так вообще для любого архива (категории, теги, даты, авторы)? Нет, ну правда, какой смысл переходить на страницу архива, а потом еще раз кликать по ссылке, когда вам и так известно, что на странице архива находится только один пост?
Сделать это легко – нужно лишь добавить следующий код в файл 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');
Теперь если на странице какого-нибудь архива находится только один пост, то вы перейдете сразу на него, пропуская эту страницу.
