Как определить is_home в WordPress, если запрос категории? - PullRequest
0 голосов
/ 03 октября 2011

Мне нужно запросить категорию на домашней странице. в файле index.php я использовал этот скрипт

$ all_featured_posts = query_posts (массив ('category_name' => 'Featured-Programs'));

Затем в файле header.php мне нужно изменить заголовок

<title>

<?php



if ( is_home() ) {

    echo 'My site name' ;

} elseif (is_404()) {

    echo '404 Not Found';

} elseif (is_category()) {

    echo ' Category' . wp_title('',0).' | My site name' ;

}
?>

Проблема в том, что когда я запрашиваю категорию в индексном файле, is_home возвращает false (также пробовал с is_front_page ()). Затем всегда отображается заголовок с названием категории, к которой я обращаюсь.

Как я могу это исправить? Спасибо тебе!

1 Ответ

2 голосов
/ 03 октября 2011

Я могу ошибаться, но я думаю, что поскольку вы используете query_posts (), все ваши функции is_ * меняют свои значения. И, так как вы делаете запрос к категории, is_home () должна возвращать false.

Что вы можете сделать, чтобы решить эту проблему, это использовать новую WP_Query () и получить от нее все сообщения Таким образом, вы не будете влиять на исходный WP_Query и, следовательно, на функции is_ *.

Код должен выглядеть так:

$query = new WP_Query('category_name=featured-programs');
while ( $query->have_posts() ) : $query->the_post();
echo '<li>';
the_title();
echo '</li>';
endwhile;

// Reset Post Data
wp_reset_postdata();
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...