WordPress页面调用分类并分页的技术

注:之所以把注写在这里是因为以下均为网上查询结果的整合,不看也行,可以百度或者Google一下。
`1.注意加入的代码必须为**<span style="text-decoration: underline; color: #33cccc;"><span style="text-decoration: underline;">英文</span></span>**,否则会报错。 2**.**<span style="text-decoration: underline;">**<span style="color: #33cccc; text-decoration: underline;">不要用Word</span>**</span>进行中间的文字转化,否则会在HTML中增加多余的代码,删起来十分复杂。 `3.这是第一篇正式文章,有很多不熟练的地方等待以后加强。


`我们在做网站规划时发现有的wordpress模板的主导航上只有一个页面,这时我们就想给网站增加新的页面。那么<span style="color: #ff0000;">**wordpress如何新建一个页面以及如何显示分类下的文章?**</span> `1、新建一个php文档,命名为你想要的模板的名字,如mytemple,然后将index.php文件中的内容复制到该文档中。

2、在mytemple.php文件的代码顶端增加如下的代码

<?php/Template Name: mytemple/?>

这段代码的意思是指定模板的名字。

3、创建好模板,我们就会想如何让模板显示自己想显示的内容。其实很简单。那我们给这个模板指定一个或者几个分类目录分类目录。在<?php if (have_posts()) : ?>这段代码的签名加上

<?php query_posts(‘showposts=10&cat=3′); ?>

这段代码。其中cat=3就是指定显示ID为3分类目录的内容。如果这个模板想显示几个分类目录的内容,则可以写成<?php query_posts(‘showposts=10&cat=1,cat=2′); ?>,中间的,是英文状态下的逗号

4、现在可以登录到网站后台,新建一个页面,在有下角有个选择模板,就可以选择你创建的模板。


上面的方法造成无法翻页的状况,症状为 WordPress 页面调用分类文章后,点击页面下方的翻页没有反应,但浏览器地址栏传递的参数已经发生改变了。出现此问题可参考下面的解决方法:

将上面提到过的代码:

<?php query_posts(‘showposts=10&cat=3′); ?>

替换为:

<?php
$limit = get_option(‘posts_per_page’);
$paged = (get_query_var(‘paged’)) ? get_query_var(‘paged’) : 1;
query_posts(‘cat=3&showposts=’ . $limit=10 . ‘&paged=’ . $paged);
$wp_query->is_archive = true; $wp_query->is_home = false;
?>

其中limit=15为每页显示的文章数目,cat=3 为分类的 ID。


`另外有需要在<span style="color: #ff0000;">**导航上既显示分类文章,又显示页面列表**</span>,同时可<span style="color: #ff0000;">**自定义显示哪个分类和页面**</span>,把不想显示的隐藏掉,可采用下面的方法来实现(注:此方法只针对使用了**<span style="color: #ff0000;">inove</span>**主题的朋友们): 找到你主题中的/templates/header.php文件,找到如下代码: **&lt;?php** ** if($options['menu_type'] == 'categories') {** ** wp_list_categories('depth=2&amp;title_li=0&amp;orderby=name&amp;show_count=0');** ** } else {** ** wp_list_pages('depth=2&amp;title_li=0&amp;sort_column=menu_order');** ** }** **?&gt;** 修改为: **&lt;?php** ** wp_list_categories('depth=2&amp;title_li=0&amp;orderby=id&amp;show_count=0');** ** wp_list_pages('depth=2&amp;title_li=0&amp;sort_column=menu_order');** **?&gt;** `这样的话在页面导航上就会把分类和页面都显示出来,下一步就是利用 exclude 函数隐藏不需要显示的页面,找到各对应分类和页面的ID(在后台管理中鼠标放上对应的分类就会显示ID号),把上面修改过的代码改为如下形式即可:
<?php
wp_list_categories(‘depth=2&title_li=0&orderby=id&show_count=0&exclude=58,4,1’);
wp_list_pages(‘depth=2&title_li=0&sort_column=menu_order&exclude=4,5’);
?>


最后,如果用前面的方法不能成功实现页面调用分类则可以采用下面的方法(该方法未经个人认证):

`1、复制page.php里面的全部内容,放在新建的一个php文档里面,并命名为自己想要的名字(例如mytemple) `2、打开文档,在顶部加上
<?php
/**
* @package WordPress
Template Name: ranks
*/
?>

3、在适当位置(显示正文的地方)加上调用代码
<?php if (function_exists(‘get_most_viewed’)): ?>
<?php get_most_viewed(‘both’, 60); ?> //页面和文章都调用,调用60篇
<?php endif; ?>

4、新建一个页面→属性(右下角)→模板→mytemple

这样就创建了一个自定义的页面,调用其他内容和这个同理。

Jerky Lu wechat
欢迎加入微信公众号