我需要在主页中查询类别。在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())然后它总是显示标题,其中包含我查询的类别的名称。
我该如何解决?谢谢你!
答案 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();