默认情况下 WordPress 的导航栏都是使用页面做为导航的,这些单一的页面可以很好的用于作者介绍、归档页面、链接等。但我们发现使用页面来展示文章列表并不太方便,我个人是比较倾向于用分类目录做为页面导航的,使用分类目录做为导航似乎更像是一个内容充实的网站。这就会用到一种折衷的方法:导航里面既有普通页面的显示效果,也有分类导航的显示效果。本文主要介绍如何使用 WordPress 页面调用某个分类目录作为导航栏的方法。
1、首先需要创建一个特殊页面模板,直接复制主题中的 index.php 文件,把文件名修改为你想要的模板名字,如:AdSense。
2、打开此文件,在代码最顶部增加如下代码:
<?php
/*
Template Name: adsense
*/
?>
这段代码是声明模板的名称,你要新建页面的时候,会在选择页面模板里面看到它,当然,名字你可以随便起。这样,就完成了一个特殊页面模板的制作。
3、接下来就要实现这个模板显示的是特定分类下的文章内容,通过搜索找到如下代码:
<?php if (have_posts()) : ?>
在这行代码的前面加上:
<?php query_posts(‘showposts=15&cat=1’); ?>
其中的 cat=1 你可以修改成你想要显示的分类的ID,ID你可以在 WordPress 后台管理中的分类目录下看到,将鼠标放上某个分类即会显示形如:http://www.domain.com/wp-admin/categories.php?action=edit&cat_ID=6的链接,后面的 6 就是这个分类的 ID 号。
4、最后创建一个新页面,比如 Adsense 页面,在模板选择里面选择刚刚创建的 Adsense 模板,然后发布,刷新首页点击进入此页面看看效果吧。
解决 WordPress 页面调用分类目录后无法翻页的问题:有网友反映说使用上面的方法造成无法翻页的状况,症状为 WordPress 页面调用分类目录后,点击页面下方的翻页没有反应,但浏览器地址栏传递的参数已经发生改变了。出现此问题可参考下面的解决方法:
将上面提到过的代码:
<?php query_posts(‘showposts=15&cat=1’); ?>
替换为:
<?php
$limit = get_option(‘posts_per_page’);
$paged = (get_query_var(‘paged’)) ? get_query_var(‘paged’) : 1;
query_posts(‘cat=1&showposts=’ . $limit=15 . ‘&paged=’ . $paged);
$wp_query->is_archive = true; $wp_query->is_home = false;
?>
欢迎转载,转载请注明出处:蔓草札记 » WordPress 页面调用分类目录作为导航栏的完美解决方案