WordPress根据不同的分类ID用不同对分类列表模板
方法一:
<?php
// 定义分类目录ID数组
$category_ids = array(1, 2, 3);
// 在循环中检查当前分类目录是否存在于数组中
foreach ($category_ids as $category_id) {
if (is_category($category_id)) {
// 如果当前是特定分类目录,则包含对应的模板文件
get_template_part('template-parts/content', 'category-' . $category_id);
// 退出循环,因为is_category只对单个分类有效
break;
}
}
// 如果上面的循环没有匹配到特定分类,则包含默认的模板文件
if (!is_category($category_ids)) {
get_template_part('template-parts/content', 'category-default');
}
?>
这段代码首先定义了一个包含特定分类目录ID的数组。然后使用foreach
循环遍历这个数组,并使用is_category()
函数检查当前是否是数组中的某个分类目录。如果是,则使用get_template_part()
函数包含对应的模板文件。如果不是,则最后检查一次是否不在特定分类目录中,如果不在,则包含默认的模板文件。这样的代码逻辑更加清晰,并且可以灵活地根据需求添加或修改特定分类目录的处理。
提示:仅供参考
方法二:
WordPress不同分类使用不同文章模板的方法:
在WordPress中,可以通过判断文章所属的分类,来为其指定不同的文章模板。以下是一个具体的实现方法:
- 判断分类并指定模板:首先获取当前文章对象,然后判断文章所属的分类ID。根据分类ID,使用
include
函数包含并指定不同的模板文件。如果文章不属于任何预设的分类,则使用一个默认的模板文件。
具体PHP代码如下:
<?php
$post = $wp_query->post;
if (in_category('7')) {
include(TEMPLATEPATH . '/archive-view.php');
} else if (in_category('12')) {
include(TEMPLATEPATH . '/single12.php');
} else if (in_category('42')) {
include(TEMPLATEPATH . '/single42.php');
} else {
include(TEMPLATEPATH . '/archive-other.php');
}
?>
这段代码首先获取当前文章对象,然后通过in_category
函数判断文章是否属于特定的分类。根据判断结果,使用include
函数包含并指定不同的模板文件。如果文章不属于任何预设的分类,则使用archive-other.php
作为默认模板文件12。
提示:以上方法仅供参考
方法三:可用
<?php
if (is_category('6')) {
// 使用特定于分类1的模板
get_template_part('template-parts/content', 'category-1'); // content-category-1.php
} elseif (is_category('分类2')) {
// 使用特定于分类2的模板
get_template_part('template-parts/content', 'category2');
} else {
// 默认情况下使用通用分类模板
get_template_part('templateparts/content', 'category');
}
?>