wp某类文章调用自己的模板

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

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

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

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

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

1
2
3
4
5
6
7
8
9
10
11
12
<?php
function post_is_in_descendant_category (  $cats ,  $_post  =  null  )
{
foreach  (  ( array )  $cats  as  $cat  )  {
// get_term_children() accepts integer ID only
$descendants  = get_term_children (  (int )  $cat ,  'category' ) ;
if  (  $descendants  && in_category (  $descendants ,  $_post  )  )
return  true ;
}
return  false ;
}
?>

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

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

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

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值