如果查询一个类别,如何在wordpress中确定is_home?

时间:2011-10-03 05:26:00

标签: wordpress

我需要在主页中查询类别。在index.php文件中我使用了这个脚本

  

$ all_featured_posts = query_posts(array('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 个答案:

答案 0 :(得分:2)

我可能错了,但我认为因为你使用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();