编辑:濮阳县新城建站 关注: 时间:2019-12-10 15:11:21
温馨提示:专业网站建设、小程序制作、APP开发,尽在新城建站,详询 15544599750(手机、微信、QQ同号)
文前导读:
WordPress动态首页是默认显示所有文章的,按时间排序,但是有时候想让某个分类文章不在主页显示而是在特定的分类页面显示,发布的posts一般很短,不宜显示在首页,这时就要让首页不显示特定分类文章。其实 WordPress 让某分类文章不显示在首页的方法很简单:一是用插件,如 Advanced Category Excluder;二是用本文提到的代码。当然,本人更希望用代码来实现。
第一种办法:也是最先采用的办法,是在index.php中查找 if (have_posts()) 或 while (have_posts()) ,在下面添加:
该代码的原理是,文章loop中遇到分类id为44的文章后立即跳过;但同时也带来一个文章列表分页问题——如果设定的是每页显示10篇文章,其中有8篇是微博分类下的“文章”,在使用上述代码后,该页文章列表仅显示2篇非微博分类的文章。假如你最近发布了10篇微博,那么你的博客首页的文章列表将会是空的!
下面的两种办法都是采用了query_posts函数,经过本人测试,没有上述问题,大家可以放心使用。
第二种方法:转自露兜博客,还是在index.php中查找 if (have_posts()) 或 while (have_posts()) ,在前面添加query_posts函数如下: $paged = (get_query_var('paged')) ? get_query_var('paged') : 1; $args = array( // 不想显示的分类ID,多个用半角逗号隔开 'category__not_in' => array(44), 'paged' => $paged ); query_posts($args);
第三种办法:还是在index.php中查找 if (have_posts()) 或 while (have_posts()) ,将查找到的这一整行改成: if ( have_posts() ) : query_posts($query_string .'&cat=-44'); while ( have_posts() ) : the_post();44即为不想显示的分类ID,多个用半角逗号隔开。
第四种方法:把下面的代码加到functions.php中,支持多个分类,用数组的形式。
add_action( 'pre_get_posts', 'remove_cat_from_query' );
function remove_cat_from_query( $query ) {
if ( is_home() && $query->is_main_query() )
$query->set( 'category__not_in', array( 1 ) );
return $query;
}
拓展阅读:
濮阳县小程序开发谈WordPress批量修改文章内容、URL链接、文章摘要
本文由新城建站整理发布,喜欢请收藏,转载请保留链接 濮阳县网络优化谈如何让WordPress博客首页不显示某分类的所有文章https://www.nccpu.net/henan/puyang/puyangxian/12907.html