【问题标题】:how to determine is_home in wordpress if query a category?如果查询类别,如何确定 wordpress 中的 is_home?
【发布时间】:2011-10-03 05:25:59
【问题描述】:

我需要在主页中查询一个类别。在 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() )然后它总是显示带有我查询的类别名称的标题。

我该如何解决?谢谢你!

【问题讨论】:

  • 你能告诉你把那行放在哪里“$all_featured_posts = query_posts(array('category_name'=>'featured-programs'));”在你的索引文件中?

标签: wordpress


【解决方案1】:

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

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 2016-11-17
    • 1970-01-01
    • 2017-03-24
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多