• 七角七分博客欢迎大家光临

wordpress首页不调用某个栏目的方法

随笔 七七 9年前 (2015-05-01) 0个评论

有时候不想在wordpress首页显示特定的栏目,那么需要要怎么办,其实方法有很多,在之前写的送到wp_query类库中的时候也有写过要怎么样实现自定义循环。

正常情况下,我们使用的循环结构是这个样子的:

<?php
if(have_posts()):while(have_posts()):the_post();
 
//循环的内容
 
endwhile;
endif;
?> 

使用我wp_query去自定义这个循环可以在这样写:

<?php
$loop = query_posts(‘post_type=post&cat=-2,-5,-13’);
if($loop->have_posts()):while($loop->have_posts()):the_post();
 
//循环的内容
 
endwhile;
endif;
?> 

在这个例子中我们使用query_posts去自定义了这个循环,在这个循环中不显示栏目ID为2,5,13这三个栏目的内容。

但是如果你只是不想在首页里显示某个栏目下的内容,还有一个办法,就是把自定义循环代码放到主题文件的functions.php文件里,:

<?php
function excludeCat($query) {
if ( $query->is_home ) {
$query->set(‘cat’, ‘-2,-5,-13’);
}
return $query;
}
add_filter(‘pre_get_posts’, ‘excludeCat’);
?> 

这方法是使用了一个过滤器,判断是首页之后,再对循环的内容进行过滤,排除了栏目ID为2,5,13的内容

喜欢 (0)
发表我的评论
取消评论

表情 贴图 加粗 删除线 居中 斜体 签到

Hi,您需要填写昵称和邮箱!

  • 昵称 (必填)
  • 邮箱 (必填)
  • 网址