Wordpress首页如何实现不显示指定分类文章,实现步骤:

1. 找到需要屏蔽的该目录的id;

2. 实现wordpress首页不显示指定分类下的文章;

 

获得需要屏蔽的该目录的id的方法

通过wordpress后台管理页面查看分类的ID,步骤如下:

方法1:

1. 进入wordpress管理后台 ——》 文件 ——》 分类目录

2. 把鼠标放到右侧的分类名称(或名称下面的编辑按钮)上,

3. 这时浏览器的状态栏(左下角)就会显示url地址,类似下面的地址:

wordpress-home-method-does-not-display-the-specified-category-01

4. 保持鼠标悬浮分类名称之上不动,查看浏览器状态栏的显示信息,在上图浏览器状态栏显示信息中,红线标记出的tag_ID=1中的数字”1”即为该分类的ID值。

 

方法2:

1. 点击键盘上的功能键 F12 ,调出浏览器调试工具

2. 定位到Wordpress管理后台 ——》 文章 ——》 分类目录

3. <tr id="tag-4766" class="alternate">  即是 tag-4766 分类目录“米扑代理”的ID

wordpress-home-method-does-not-display-the-specified-category-02

 

wordpress首页不显示指定分类文章

获得了需要的分类ID之后,如何来实现wordpress首页不显示指定分类下的文章呢?

方法一:最简单

正常情况下,主题的首页循环调用最新文章列表用的都是这一句代码

<?php if (have_posts()) : while (have_posts()) : the_post(); ?>

所以,如果不想在首页显示某一个分类的文章,只需要在这句代码下面再加一句

<?php if (is_home() && in_category('1') ) continue; ?>

把其中的 in_category('1') 这里的数字改成你不想显示出来的分类的ID就可以了。

 

方法二:

在根目录建设一个文件夹,如我的米扑博客需要屏蔽的米扑代理分类,那么文件夹就命名为mimvp_proxy,在网站的显示为http://seoxuexi.org/mimvp_proxy。然后在文件夹中上传相同的程序,包括模版。这样的话,你在it模版更新的文章将不会显示在首页,原理很简单,因为两者不是使用同一个程序。

此方法缺点:比较麻烦,如果对模版有所改变,需要两边同步修改。

这两个方法都是我亲自实验过确实有用的。大家不妨试一下。

 

方法三:

在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(42),
   'paged' => $paged
);
query_posts($args);

 

方法四:推荐

还是在index.php中查找

if (have_posts())或while (have_posts()),将查找到的这一整行改成:

if ( have_posts() ) : query_posts($query_string .’&cat=-42′); while ( have_posts() ) : the_post();

42即为不想显示的分类ID,多个用半角逗号隔开。

 

借助方法1,如何想屏蔽多个分类下的文章的话,只需要在if (have_posts())多次添加,如我需要同时把分类ID22,17,25,24,23的给屏蔽掉。

<?php if(have_posts()) : while(have_posts()) : the_post(); ?>
<?php if (in_category(’22′) && is_home()) continue; ?>
<?php if (in_category(’17′) && is_home()) continue; ?>
<?php if (in_category(’25′) && is_home()) continue; ?>
<?php if (in_category(’24′) && is_home()) continue; ?>
<?php if (in_category(’23′) && is_home()) continue; ?>