wordpress根据文章分类调用不同文章模板的几种方法

假如你做了一个个人WP博客,里面有几个分类,比如技术类,日记类,图片类,你又不想让这些文章使用同一个模板,那么下面的文章对你有帮助,网上介绍了很多方法,通过小编测试,以下方法较为通用,你完全放心尝试。当然下面的文章还介绍了调用不同的分类文章列表,其实最主要的是函数:is_category(), in_category()的使用技巧。

根据分类别名调用不同的文章模板

方法一
第一步:建立一个single.php文件,如果你的模板目录已经有这个文件,将 single.php 里面除

了 get_header(); get_footer(); get_sidebar(); 之外的所有内容改成

<?php 
if(in_category('article') {
include(TEMPLATEPATH . '/single-article.php');

else {
include(TEMPLATEPATH . '/single-default.php');

?>

articlewp后台分类目录中分类的别名
上面代码的意思就是,判断文章是否属于article的分类,如果是就调用single-article.php的文章模板,默认调用article的文章模板,否则就调用single-default.php模板。

那么你根据自己的需要建立single-article.php模板和single-default.php模板就可以了!
方法二来自百度

第一步 :在 functions.php 文件添加如下代码:

//定义模板文件所在目录为 single 文件夹
define(SINGLE_PATH, TEMPLATEPATH . '/single');
//自动选择模板的函数
function wpdaxue_single_template($single) {
global $wp_query, $post;
//通过分类别名或ID选择模板文件
foreach((array)get_the_category() as $cat) :
if(file_exists(SINGLE_PATH . '/single-cat-' . $cat->slug . '.php'))
return SINGLE_PATH . '/single-cat-' . $cat->slug . '.php';
elseif(file_exists(SINGLE_PATH . '/single-cat-' . $cat->term_id . '.php'))
return SINGLE_PATH . '/single-cat-' . $cat->term_id . '.php';
endforeach;
}
//通过 single_template 钩子挂载函数
add_filter('single_template', 'wpdaxue_single_template');

第二:在当前主题的根目录创建一个名为 single 的文件夹,然后根据不同分类创建不同的文件,命名格式为 single-cat-[分类别名或ID].php。请记得为所有分类创建自己的模板文件。例如,那就可以命名为 single-cat-themes.php 或 single-cat-2.php 。这样,只要是WordPress主题这个分类,就会自动选择 single-cat-themes.php 或 single-cat-2.php 作为这个分类的文章模板。

判断分类ID调用不同分类列表模板样式:

关于wordpress分类的ID查看方法:wordpress后台无插件显示文章和分类ID

创建article_list.php(文章列表模板样式)、thumb_list.php(有缩略图的列表模板样式)和image_list.php(图集列表样式),然后创建一个archive.php文件,在archive.php中使用下面的代码实现不同的效果。

1)、要实现id为5的分类使用的是image_list.php样式,其余的使用article_list.php样式,代码如下:

<?php
if ( is_category(5) ) {
include(TEMPLATEPATH . '/image_list.php');
} else {
include(TEMPLATEPATH . '/article_list.php');
}
?>

2)、要实现id为8、9、10这三个分类都使用thumb_list.php样式,其余的使用article_list.php样式呢?可以通过数组实现,以此类推,具体代码如下:

<?php
if ( is_category(array(8,9,10)) ) {
include(TEMPLATEPATH . '/thumb_list.php');
}
else {
include(TEMPLATEPATH . '/article_list.php');
}
?>

3)、要实现id为8、9、10三个分类使用thumb_list.php样式,id为1、2、3的分类使用image_list.php样式,其余使用article_list.php样式,可以使用elseif实现,代码如下:

<?php
if ( is_category(array(8,9,10)) ) {
include(TEMPLATEPATH . '/thumb_list.php');
}
elseif ( is_category(array(1,2,3))){
include(TEMPLATEPATH . '/img_list.php');
}
else {
include(TEMPLATEPATH . '/title_list.php');
}
?>

WordPress不同分类下的文章使用不同文章样式:

WordPress不同分类下的文章使用不同文章模板样式实现的方法和上面说到的方法二的原理是一样的,只不过使用的函数不是is_category ,而是 in_category 。
例一:
同样我们要根据需要创建两个以上的文章模板样式,比如single1.php、single2.php和single3.php,然后在single.php通过in_category 判断代码来实现自己需要的效果。

比如要实现id为8、9、10三个分类下的文章使用single1.php样式,id为1、2、3的分类下的文章使用single2.php样式,其余使用single3.php样式!首先,复制三个single.php文件分别取名为“single1.php”、“single2.php”和“single3.php”,然后,把原先的single.php文件里面的内容全部删除,并用下面的代码进行替换:

<?php
if ( in_category(array(8,9,10)) ) {
include(TEMPLATEPATH . '/single1.php');
}
elseif ( in_category(array(1,2,3))){
include(TEMPLATEPATH . '/single2.php');
}
else {
include(TEMPLATEPATH . '/single3.php');
}
?>

例二:
在主题的根目录创建3个文章模板文件,分别命名为 single001.php , single002.php 和 single003.php,然后我们希望 ID 为 2 和 3 的分类使用 single001.php,ID为 7 的分类使用 single002.php ,其他分类使用 single003.php,那么,我们可以在 single.php 文件写入下面的代码:

<?php
if ( in_category(array( 2,3 )) ) {
get_template_part('single001' );
} elseif ( in_category( 7 )) {
get_template_part('single002' );
} else {
get_template_part('single003' );
}
?>

总结

1、方法一如果要实现多个分类列表调用同一个列表模板样式,就需要创建多个文件,显然不方便。强烈推荐方法二!!!
2、分类页判断分类用is_category(), 内容页判断分类需用in_category()

您可能感兴趣的文章:


▪ 第九课WordPress主题制作自定义顶部图像

▪ 第十课:wordpress主题制作主题布局

▪ 利用Bootstrap构建你的响应式WordPress主题( 六)

▪ WordPress 函数do_action()详解和应用举例

▪ 第11课WordPress主题制作启用特色图像

▪ wordpress限制非管理员访问管理面板

▪ wordpress免插件自动为文章添加设置特色图像的三种方法

▪ wordpress把JavaScript files 移动到HTML文档底部

▪ wordpress网站安全的建议和优化

▪ WordPress判断文章分类函数in_category和is_category区别 

原创:https://www.panoramacn.com
源码网提供WordPress源码,帝国CMS源码discuz源码,微信小程序,小说源码,杰奇源码,thinkphp源码,ecshop模板源码,微擎模板源码,dede源码,织梦源码等。

专业搭建小说网站,小说程序,杰奇系列,微信小说系列,app系列小说

wordpress根据文章分类调用不同文章模板的几种方法

免责声明,若由于商用引起版权纠纷,一切责任均由使用者承担。

您必须遵守我们的协议,如果您下载了该资源行为将被视为对《免责声明》全部内容的认可-> 联系客服 投诉资源
www.panoramacn.com资源全部来自互联网收集,仅供用于学习和交流,请勿用于商业用途。如有侵权、不妥之处,请联系站长并出示版权证明以便删除。 敬请谅解! 侵权删帖/违法举报/投稿等事物联系邮箱:2640602276@qq.com
未经允许不得转载:书荒源码源码网每日更新网站源码模板! » wordpress根据文章分类调用不同文章模板的几种方法
关注我们小说电影免费看
关注我们,获取更多的全网素材资源,有趣有料!
120000+人已关注
分享到:
赞(0) 打赏

评论抢沙发

  • 昵称 (必填)
  • 邮箱 (必填)
  • 网址

您的打赏就是我分享的动力!

支付宝扫一扫打赏

微信扫一扫打赏