wordpress首页只显示某个分类的文章/rewrite实现

wordpress首页只显示指定的某个分类的文章,一个比较怪的需求,网上好像很少人有这样的需求。

这个需求是这样的,您目前正常访问的这个wordpress站点http://www.path8.net, 是一个部分原创,较多的转载的技术站点;其中原创文章主要在一个分类中。原创的东西当然更希望更多多阅读,也方便跟更多人分享知识交流经验。于是设想在首页显示原创文章,这样就能实在上述目标。

但网上查找相关的资料。有人说修改程序原代码,非常不赞成这种方法,修改源码,就失去了以后升级的便捷性。

突然想到,可能使用rewrite实现,就是把“对wordpress根目录直接的访问”重写到某个指定的分类上。

于是参考wordpress的.htaccess再补习一下rewrite规则,花了两个晚上,尝试了多次,终于实现了。

.htaccess如下(其实只加了标红的那一行,22是想在首页显示的分类编号):

# BEGIN WordPress
<IfModule mod_rewrite.c>
RewriteEngine On
RewriteBase /tn/
RewriteRule ^$ /tn/index.php?cat=22 [L]
RewriteRule ^index\.php$ – [L]
RewriteCond %{REQUEST_FILENAME} !-f
RewriteCond %{REQUEST_FILENAME} !-d
RewriteRule . /tn/index.php [L]
</IfModule>
# END WordPress

不过,因为本站的wordpress不是在网站目录下安装,而是在/tn目录里,所以规则可能跟你的站点不一样。如果你的wprdpress在站点根目录下安装,则把其中/tn删除应该就可以了,我没有试。

存在问题:这个方法有一个比较重大的问题,就是分页,首页显示某个分类的文章,但下面的分页,则是全站文章的分页。

如谁有更好的实现方案,请分享交流。

——————————————–

其实通过以下插件实现这样功能:Front Page Category, Front Page Excluded Categories, 但效果好像并不好,如有一篇文章同属两个分类,正好这两个分类一个是允许显示在首页,另一个不允许显示在首页上的,这样情况下,这篇文章就不能显示于首页。如有篇文章属于cat=22,同时又属于cat=28, 而只有22这个分类是允许显示的,这种情况下,我需要让它显示出来,但事实上,这两个插件都不会显示这篇文章的。

————————————

2010-09-26补记

“wordpress首页只显示某个分类的文章” 该功能已经实现,在探索该功能的过程中,先后用了两个方案,这里是第一个rewrite方案,正如如上面“存在问题”说的,下面是一个以wordpress插件完美实现的解决方案,

wordpress首页只显示某个分类的文章/插件实现(完美实现,附插件源码)<推荐>

推荐使用这个插件方案。该插件是一个wordpress插件 Front Page Excluded Categories基本上稍做修改而成,在此感谢前人的工作。

《wordpress首页只显示某个分类的文章/rewrite实现》有1条评论

发表评论

此站点使用Akismet来减少垃圾评论。了解我们如何处理您的评论数据