WordPress不同分类目录调用不同列表、内容模板的方法

WordPress  2021-06-24     242    本文共计1372个字,预计阅读时长5分钟。  
自己做了个相册分类,是完全复制文章这个模块出来的,但是有缺陷,相册列表我想和文章的有区别,用单页面可以简单实现,但是会和原文章页面有冲突,所以,按搜索引擎来的方法,暂时完美解决

搜索提供了很多方法,我就觉得这两种有用,尤其是第二种,简直简单。

方法一:

网站主题目录下找category.php文件,如果没有,新建一个。

用编辑器打开 category.php文件,然后用下面的代码替换里面除get_header()与get_footer()除外的代码,并将原来被替换的代码拷贝出 来并粘贴到你新建的模板文件中,如category_default.php。

<?php
$post = $wp_query->post;
if(in_category('2')) {
include(TEMPLATEPATH.'/category_2.php');
}
else if (in_category('3')){
include(TEMPLATEPATH.'/category_3.php');
}
else {
include(TEMPLATEPATH.'/category-default.php');
}
?>

最终结果

<?php get_header(); ?>
<?php
$post = $wp_query->post;
if(in_category('2')) {
include(TEMPLATEPATH.'/category_2.php');
}
else if (in_category('3')){
include(TEMPLATEPATH.'/category_3.php');
}
else {
include(TEMPLATEPATH.'/category-default.php');
}
?>
<?php get_footer(); ?>

看出来了吧,这里就是判断分类ID是某个数字,就调用某个分类样式。

所以,就提供了另一种更加简单的方法。

第二种:

就是已知某个分类的ID,比如ID是数字3,那么在你的主题目录下新建一个category_3.php的文件,把你的样式搞进去,系统会自动判断,然后在访问这个目录时直接调用。简直优秀。

 

下面是内容页不同分类不同模板的方法,和上边类似

新建一个single.php内容如下(原默认single.php改为single-default.php)

<?php get_header();?>
<?php 
if ( in_category(array(8,9,10)) ) {  
    include(TEMPLATEPATH . '/single-1.php'); //解释为ID是8,9,10这三个分类,内容模板用single-1样式
} elseif ( in_category(array(1,2,3))){
    include(TEMPLATEPATH . '/single-2.php'); //解释为ID是1,2,3这三个分类,内容模板用single-2样式
} else {
    include(TEMPLATEPATH . '/single-default.php'); //解释为ID是除了以上几个分类外,其余内容模板用默认single-default样式
}
?>
<?php get_footer();?>

这样加起来的判断之后,就可以完美实现不同分类不同样式。

本文由:龙哥 发表于 2021-06-24 9:33:41,共1372字
版权声明:①欢迎转载但请注明出处。②如涉及版权联系(izhailong#qq.com)删除!
转载请注明:WordPress不同分类目录调用不同列表、内容模板的方法   ||   https://www.izhailong.com/464.html

2 条评论

  • 林三

    林三 ( VIP 1 )

    回复

    来看看思路,是这么回事,只是我还没想到在什么网站里面应用,就不试验了。

    • 龙哥

      龙哥 ( VIP 4 )

      回复

      试了一下,是可以的,就是目前还没正式上线这个模块。