图片待添加
图片待添加

WordPress主题开发教程:设置不同分类使用不同模板主题

2019-08-06 21:18 分类:WordPress主题开发制作教程, WordPress教程 阅读(次阅读) 标签:

用WordPress做网站有时候会遇到这样的需求:
1.新闻列表页需要一个新闻列表样式模板,而图片列表页需要一个图片列表样式.
2.折腾哥希望每个分类一个样式.

如何实现?

方法一: 自定义WordPress模板名称实现.

正常我们的WordPress分类模板是archive.php
假如我们要自定义样式的分类ID为8
我们将需要显示不同样式的分类模板,命名为category-8.php
同理,你还可以命名需要自定义样式的分类

当多个分类需要显示这个样式怎么办?难道复制N遍了,命名?虽然也行但感觉略麻烦.

方法二: category判断id实现操作

先复制两个category.php文件分别取名为“category1.php” 和“category2.php”。
然后,把原先的category.php文件里面的内容全部删除,并用下面的代码进行替换:

<?php
if ( cate_is_in_descendant_category( 8 ) ) {
    include(TEMPLATEPATH . '/category1.php');
} else {
    include(TEMPLATEPATH . '/category2.php');
}
?>

意思是:检查分类页ID,如果该ID属于分类ID8,则显示category1.php,如果不是,则显示category2.php。

如何查看wordpress分类所属ID?

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

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

要实现id为1、2、3三个分类使用category1.php样式,id为4、5、6的分类使用tupian_list.php样式,其余使用moren_list.php样式,可以使用elseif实现,代码如下:

<?php
if ( is_category(array(1,2,3)) ) {
  include(TEMPLATEPATH . '/category1.php');
}
elseif ( is_category(array(1,2,3))){
   include(TEMPLATEPATH . '/tupian_list.php');
 }
else {
   include(TEMPLATEPATH . '/moren_list.php');
 }
?>

方法三: 根据WordPress分类别名操作

先建立一个category.php文件,如果你的模板目录已经有这个文件,将 category.php 里面除了 get_header(); get_footer(); get_sidebar(); 之外的所有内容改成.

<?php 
if(in_category('wpyi') {
	include(TEMPLATEPATH . '/category-wpyi.php');
} 
else {
	include(TEMPLATEPATH . '/category-default.php');
} 
?>

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

那么你根据自己的需要建立category-wpyi.php模板和category-default.php模板就可以了!


本文地址: https://www.wpyi.com/wordpress-fenlei-moban.html