WordPress根据不同的分类ID用不同对分类列表模板

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');
}
?>

发表回复