自己做了个相册分类,是完全复制文章这个模块出来的,但是有缺陷,相册列表我想和文章的有区别,用单页面可以简单实现,但是会和原文章页面有冲突,所以,按搜索引擎来的方法,暂时完美解决
搜索提供了很多方法,我就觉得这两种有用,尤其是第二种,简直简单。
方法一:
网站主题目录下找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();?>
这样加起来的判断之后,就可以完美实现不同分类不同样式。
龙哥 发表于 1年前 (2021-06-24),共1372字
版权声明:①欢迎转载但请注明出处。②如涉及版权联系(izhailong#qq.com)删除!
转载请注明:WordPress不同分类目录调用不同列表、内容模板的方法 || https://www.izhailong.com/464.html
本文由:版权声明:①欢迎转载但请注明出处。②如涉及版权联系(izhailong#qq.com)删除!
转载请注明:WordPress不同分类目录调用不同列表、内容模板的方法 || https://www.izhailong.com/464.html
2 条评论
林三 ( VIP 1 )
来看看思路,是这么回事,只是我还没想到在什么网站里面应用,就不试验了。
龙哥 ( VIP 4 )
试了一下,是可以的,就是目前还没正式上线这个模块。