留着备用,之前一直是用插件实现此功能,总觉得要想让 WordPress 快一些就不能多用插件,一是牺
牲了系统稳定性,二是增加了 php 代码执行时间,三是有些插件会发疯地查询数据库,所以能用
代码的就坚决不用插件,不过在模板升级的时候一定要先备份,不然自己都忘了自己做了什么
修改,当然,你也可以和我一样,每一次升级或者改动,都做一下笔记。
方法 1 、在 index.php 中查找 if (have_posts()) 或 while (have_posts()) ,在下面添加:
<!-- If the post is in the category we want to exclude, we simply
pass to the
next post. -->
<?php if (in_category('12') && is_home()) continue; ?>
pass to the
next post. -->
<?php if (in_category('12') && is_home()) continue; ?>
文章 loop 中遇到分类 id 为 12 的文章后立即跳过;如果你设置了首页显示 10 篇文章,
但是如果你其他分类下没有文章,首页会显示空白,切记住。
下面的两种办法都是采用了 query_posts 函数。
方法 2:转自露兜博客,还是在 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(12),
'paged' => $paged
);
query_posts($args);
$args = array(
// 不想显示的分类 ID,多个用半角逗号隔开
'category__not_in' => array(12),
'paged' => $paged
);
query_posts($args);
方法 3:还是在 index.php 中查找 if (have_posts()) 或 while (have_posts()) ,
将查找到的这一整行改成:
if ( have_posts() ) : query_posts($query_string .'&cat=-12'); while
( have_posts() ) : the_post();
( have_posts() ) : the_post();
12 即为不想显示的分类 ID,多个分类请用半角逗号隔开。