在给客户定制开发主题的过程中遇到一个需求就是需要不同分类下的文章显示出不同的效果,如果通过single.php来做判断可能显得文件代码很繁琐,所以这里可以根据分类来选择显示single的文件。将以下代码加到主题的functions.php 里
1 |
//定义模板文件所在目录为 single 文件夹 define(SINGLE_PATH, TEMPLATEPATH . '/single'); //自动选择模板的函数 function mobantu_single_template($single) { global $wp_query, $post; //通过分类别名或ID选择模板文件 foreach((array)get_the_category() as $cat) : if(file_exists(SINGLE_PATH . '/single-cat-' . $cat->slug . '.php')) return SINGLE_PATH . '/single-cat-' . $cat->slug . '.php'; elseif(file_exists(SINGLE_PATH . '/single-cat-' . $cat->term_id . '.php')) return SINGLE_PATH . '/single-cat-' . $cat->term_id . '.php'; endforeach; } //通过 single_template 钩子挂载函数 add_filter('single_template', 'mobantu_single_template'); |
声明:本站所有文章,如无特殊说明或标注,均为本站原创发布。任何个人或组织,在未征得本站同意时,禁止复制、盗用、采集、发布本站内容到任何网站、书籍等各类媒体平台。如若本站内容侵犯了原著者的合法权益,可联系我们进行处理。