从主页中排除不再工作的类别

时间:2013-11-19 作者:cordltx

直到本周之前,我一直在使用query从我的主页中排除类别,没有出现任何问题。我想知道改变的原因和更好的方法。我也在尝试各种各样的解决方案,但都没有成功。

function excludeCat($query) {
  if ( $query->is_home() ) {
    $query->set(\'cat\', \'-99, -263, -255, -268, -105\');
  }
  return $query;
}
add_filter(\'pre_get_posts\', \'excludeCat\');
我也在索引中尝试了这一点。没有结果。

if ( is_home() ) {
query_posts( \'cat=-99, -263, -255, -268, -105\' );
}
更新:[索引中的循环:homepage.php]

<?php query_posts( array( \'posts_per_page\' => $homePortfolioShow ) ); 
rewind_posts();
if (have_posts()) :
while (have_posts()) : the_post();
if(!get_post_format()) {
get_template_part(\'format\', \'standard\');
} else {
get_template_part(\'format\', get_post_format());
}
endwhile;
endif;
?>

1 个回复
SO网友:Chip Bennett

我不知道从一开始这对你是如何起作用的,但实际上没有必要为博客帖子索引模板使用自定义页面模板。WordPress提供了要使用的模板文件:home.php. 最简单的解决方案:

重命名homepage.phphome.php 并删除所有自定义模板标题注释query_posts() 内部引用home.php阅读->保留中的帖子页面设置正确pre_get_posts 过滤到位,这将使WordPress恢复为使用保留模板,home.php, 呈现博客文章索引,同时允许WordPress将查询识别为博客文章索引。

结束

相关推荐

Get_the_Categories筛选器返回空数组

我正在开发一个主题,使用get_the_category_list() 函数(在category template.php中)。通过检查其代码,此函数调用get_the_category() 函数(位于category template.php中),该函数应用get_the_categories 末端过滤器:return apply_filters( \'get_the_categories\', $categories ); 出于某种奇怪的原因,此过滤器返回一个空数组。如果我将此行替换为:re