本篇主要内容不是讲方法,而是向广大路过的大小侠客们求助:我想在wordpress首页文章列表的上方,单独显示某一个栏目的文章,要如何实现,代码要怎么写?请求帮助,谢谢!
关于以上的问题,我问了度娘,度娘告诉我的刚好相反,大部分人发的都是如何在首页排除某个分类下的文章,可能我的需求比较另类(我不是故意的)……
我发现在ChinaZ上一篇关于在首页不显示某分类的方法非常简单,所以抄袭如下,有没有什么安全隐患就不知道了。
1、获取不想显示的分类ID
这个ID号可以在后台的“文章 -> 分类目录”中获取,当鼠标放到某个分类目录时,浏览器底部的状态栏会显示类似 category&tag_ID=6&post_type=post
这样的链接,其中的“6”就是这个分类的ID。图就不贴了,应该很容易找到的,主要是下面的代码。
2、在主题index.php(现在应该是loop.php了)使用代码
假如我们要在首页隐藏ID为7和243的分类下的文章,可以在首页主题循环开始的地方加入query_posts($query_string .'&cat=-7,-243');
,代码如下:
if ( have_posts() ) : query_posts($query_string .'&cat=-7,-243'); while ( have_posts() ) : the_post();
有的人会简写成:
if ( have_posts() ) : query_posts($query_string .'&cat=-7,-243'); while ( have_posts() ) : the_post();
效果是一样的。
那个啥,抄袭完了,有谁知道我开始的那个问题的麻烦帮忙一下,抱拳谢谢!
2012.5.3更新
在度娘那找了几个主题研究了一下,原来在首页显示与不显示都是那个符号搞的鬼,分类ID前加负号(-)的就是不显示,如果要单独显示某分类下的文章,在ID前不加负号的就是显示了,晕啊。。。
如果使用代码后影响分页,可以在 if 前面加
$paged = (get_query_var('paged')) ? get_query_var('paged') : 1;
通过钩子实现
这个方法安全无副作用,效果最好。
在 functions.php 文件里添加以下代码
//在首页中排除某些分类 function exclude_category_home($query){ if($query->is_home){ $query->set( 'cat', '-67, -842' ); //你要排除的分类ID } return $query; } add_filter( 'pre_get_posts', 'exclude_category_home' );
文章目录
THE END
问题是不知道,但通过你的文章,我搞定了指定分类的文章不在列表中呈现
博主您好,上述方法会导致WordPress文章排序出现从最旧的开始显示,即使我加入了排序方式也不起作用,请问博主这个怎么操作呢,谢谢。
如何不让他显示文字作者的评论啊
“文字作者的评论”是什么意思?
评论列表不是有访客的评论吗,如何不让他显示文字作者自己的评论
我还是没听明白,你说的和本文里写的内容应该是没关系的,你能不能详细说一下,你说的评论列表应该不是指文章下面的评论吧。
侧边栏 不是有个评论列表吗,如果作者自己回复给访客的评论会出现在哪里
你是说侧边栏的评论啊,wp默认的小工具是没法直接排除的,需要修改程序源文件,如果是别人主题的话,一般都有写在主题里,排除管理员邮箱就可以了,你下我的那个小米主题找sidebar文件研究一下就知道了。
问题早解决了吧?
在循环上面加上一句就行了:
把这个1改为你要调用的分类ID号。
已经搞定了谢谢,不过在评论里发代码是不显示的。
我的模版代码如下: 请帮忙看看如何修改呢。 按上面的方法不行哦
不好意思,你发的代码不显示。
一直在使用这种方法