一聚教程网:一个值得你收藏的教程网站

热门教程

WordPress自定分类菜单下使用不同的文章模板样式例子

时间:2022-06-25 18:38:37 编辑:袖梨 来源:一聚教程网

首先这里部落补充一下,这里说的不同的文章模板样式,并不需要2个主题,只需要一个主题就可以实现了.

1.将下面的代码添加到当前主题的 functions.php 文件:

 代码如下 复制代码
//定义模板文件所在目录为 single 文件夹   
define(SINGLE_PATH, TEMPLATEPATH . '/');  
//自动选择模板的函数  
function svr_single_template($single) {  
    global $wp_query, $post;  
    //通过分类别名或ID选择模板文件  
    foreach((array)get_the_category() as $cat) :  
        if(file_exists(SINGLE_PATH . '/single-' . $cat->slug . '.php'))  
            return SINGLE_PATH . '/single-' . $cat->slug . '.php';  
        elseif(file_exists(SINGLE_PATH . '/single-' . $cat->term_id . '.php'))  
            return SINGLE_PATH . '/single-' . $cat->term_id . '.php';  
    endforeach;  
}  
//通过 single_template 钩子挂载函数  
add_filter('single_template', 'svr_single_template'); 

2.接下来,我们在当前主题的根目录创建一个名为 single 的文件夹,然后根据不同分类创建不同的文件,命名格式为 single-[分类别名或ID].php,请记得为所有分类创建自己的模板文件.

这个的主要作用,就是遇到分类ID为1的话,就调用single-1这个php文件.

WordPress不同分类菜单下使用不同的文章模板样式

例如分类的别名为”themes“,ID 为 2,那就可以命名为 single-themes.php 或 single-2.php .这样,只要是WordPress主题这个分类,就会自动选择 single-themes.php 或 single-2.php 作为这个分类的文章模板.

另外,还有一个方法,那就是通过使用 in_category() 进行判断.但需要修改的地方特别多,所以部落建议大家使用第一种方法即可.

小结

对于那些自己做主题的朋友来说,可以考虑一下这个功能,可以应对某些特殊的客户要求了.

热门栏目