网站地图    收藏   

主页 > 后端 > wordpress教程 >

WordPress不同分类调用不同分类目录 - WordPress

来源:自学PHP网    时间:2014-11-28 23:42 作者: 阅读:

[导读] 在利用wordpress主题来搭建企业网站的时候,不但会遇到WordPress不同分类调用不同文章模板 ,通常也会遇到产品列表的展示,但是wordpress只有一个默认的archive php文章列表文件,怎么办呢?自从...

WordPress不同分类调用不同分类目录

在利用wordpress主题来搭建企业网站的时候,不但会遇到“WordPress不同分类调用不同文章模板  ”,通常也会遇到产品列表的展示,但是wordpress只有一个默认的archive.php文章列表文件,怎么办呢?自从wordpress2.9版本推出以后,就可以自定义分类列表的的显示功能了,就是在不同的分类下面调用不同的分类目录显示方式,下面给大家分享两个比较简单的方法.

方法一:用wordresst自带的显示方式

先到wordpress后台查看一下需要显示的分类别名,例如:chanpin,那么就新建一个分类目录文件,category-chanpin.php,然后在这个文件里编辑你要显示的格式就要吧了,通常都是加一些文章的缩略图之类的东西,来与新文章列表区分开来,或者可以利用ID作为文件名的方式来显示也是可以的,例如需要显示的分类目录ID是3,则新建分类目录文件为category-3.php.

方法二:代码调用的显示方式

1、在函数文件functions.php中添加以下代码,如果在之前的“WordPress不同分类调用不同文章模板 ”额添加过的话,这里就不要重复添加了.

  1. <?php 
  2. function post_is_in_descendant_category( $cats$_post = null ) 
  3. foreach ( (array$cats as $cat ) { 
  4. // get_term_children() accepts integer ID only 
  5. $descendants = get_term_children( (int) $cat'category'); 
  6. if ( $descendants && in_category( $descendants$_post ) ) 
  7. return true; //开源软件:phpfensi.com 
  8. return false; 
  9. ?> 

2、新建一个category.php文件,如果默认主题也面有这个文件可以直接修改该文件就可以,把category.php里面的代码合部删除,替换成以下代码即可:

  1. <?php  
  2.     if ( in_category('1') || post_is_in_descendant_category( 1) ){ 
  3.         include(TEMPLATEPATH .'/category-1.php'); 
  4.     } 
  5.     elseif( in_category('2') || post_is_in_descendant_category( 2 ) ){ 
  6.         include(TEMPLATEPATH . '/category-2.php'); 
  7.     }else
  8.         include(TEMPLATEPATH . '/category-3.php'); 
  9.     } 
  10. ?> 

其中,in_category(‘1′)里面的1是指分类1的ID包括该分类下的所有分类,意思是ID为1及以下所有的分类用category-1.php这个分类的显示方式来显示,分类2及以下的所有分类以category-2.php的方式来显示,其它分类以category-3.php的方式来显示.

自学PHP网专注网站建设学习,PHP程序学习,平面设计学习,以及操作系统学习

京ICP备14009008号-1@版权所有www.zixuephp.com

网站声明:本站所有视频,教程都由网友上传,站长收集和分享给大家学习使用,如由牵扯版权问题请联系站长邮箱904561283@qq.com

添加评论