我们在开发 WordPress 主题的时候,我希望某个指定的分类文章页面要用到单独的模板,而不是共用一个 Single.php 模板。这里我们如何设置呢?在这里,我们常用2种方法。

第一种、在 Functions.php 强制指向

// 为biaoge分类的文章使用特定的single模板
add_filter('single_template', function($template) {
    if (is_single()) {
        $categories = get_the_category();
        if ($categories) {
            foreach ($categories as $category) {
                if ($category->slug === 'biaoge') {
                    $new_template = locate_template('single-biaoge.php');
                    if ($new_template) return $new_template;
                }
            }
        }
    }
    return $template;
});

这是我在设定指定的 biaoge 分类的时候,单独指向的 single-biaoge.php 内容页模板的。

第二、默认系统命名

理论上用这个办法是可以的,但是我设置后无法识别,所以我就用到第一种,所以这个方法也记录下来。

如果 "biaoge" 是分类的别名(slug),那么文件名应该是:

single-category-biaoge.php - 针对特定分类的所有文章

或者 category-biaoge.php - 针对特定分类的归档页面

这样,我们就可以单独的指向某个指定分类 slug别名的内容作为单独的详细文章页面模板。

我要投票

相关新闻

联系我们
关注微信