我以前做过,但由于某种原因,它不起作用,我也不知道为什么。我只是想从博客页面中排除一些类别。我以为这件事很简单。我有索引。php文件打开,在循环之前,我这样做了
query_posts( $guery_string . \'&cat=-6\' )
if (have_posts)......rest of loop here.
我甚至尝试添加全局$query\\u字符串;最重要的是,我所做的一切都不能摆脱第6类。这种方法在最新版本的wordpress中是否不再有效?
最合适的回答,由SO网友:Chip Bennett 整理而成
Don\'t use query_posts()
. 滤器pre_get_posts
而是:
function wpse65927_filter_pre_get_posts( $query ) {
// If this is the blog posts index,
// and if this is the main query,
// exclude category 6
if ( $query->is_home() && $query->is_main_query() ) {
$query->set( \'cat\', \'-6\' );
}
}
add_action( \'pre_get_posts\', \'wpse65927_filter_pre_get_posts\' );
把上面的钩子和回调放进去
functions.php
. 不要修改任何模板文件,包括
index.php
或
home.php
, 完全