码迷,mamicode.com
首页 > 其他好文 > 详细

让WordPress不同的分类目录的文章调用不同的模板

时间:2014-07-29 16:04:39      阅读:189      评论:0      收藏:0      [点我收藏+]

标签:wordpress

近日,因为网站建设的需要,在没有使用自定义文章类型的情况下,使用不同的分类目录里的文章调用不同的模板,作为注册wordpress大学的见面礼。

首先在function.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;

}


复制一份single.php,命名为:single-*.php文件名(你可以根据自己的需要,制作多个 single-*.php 文件,通过修改每个single-*.php 文件的html结构和添加对应的CSS,就可以实现不同的文章页面样式 )。

将 single.php 里面除了 get_header(); get_footer(); get_sidebar(); 之外的所有内容改成:

<?php

if ( in_category(‘16‘) || post_is_in_descendant_category(16) )//可自行修改 这里包含分类目录里的文章和分类目录里的子分类目录里的文章

{

  include(TEMPLATEPATH .‘/single-16.php‘);

}

elseif ( in_category(‘7‘) || post_is_in_descendant_category(7) )//如果只有两类single.php,可以不要这段,如果是多类,则添加多个elseif

{

  include(TEMPLATEPATH . ‘/single-7.php‘);

}

else{

  include(TEMPLATEPATH . ‘/single-other.php‘);

}//给其他分类的文章调用的。

?>

倡萌注:该文章的方法和倡萌之前分享的《WordPress不同分类使用不同的文章模板》的方法二一样,就是使用 in_category() 函数来判断,不同的地方就是添加了自定义函数 post_is_in_descendant_category() 来获取某个分类的子分类。

如果有更多的技术技巧分享也请在www.diandian100.cn联系我,谢谢大家的分享

让WordPress不同的分类目录的文章调用不同的模板,布布扣,bubuko.com

让WordPress不同的分类目录的文章调用不同的模板

标签:wordpress

原文地址:http://7083118.blog.51cto.com/7073118/1531291

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!