对于那些喜欢将代码添加到主题文件的人来说,这是另一种方法。
首先,您需要将此代码添加到主题的functions-php文件或代码片段插件中。
/*
* Define a constant path to our single template folder
*/
define(SINGLE_PATH, TEMPLATEPATH . '/single');
/**
* Filter the single_template with our custom function
*/
add_filter('single_template', 'my_single_template');
/**
* Single template function which will choose our template
*/
function my_single_template($single) {
global $wp_query, $post;
/**
* Checks for single template by category
* Check by category slug and 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;
}
此代码首先检查 WordPress 是否正在请求单个帖子。如果是,那么它会告诉 WordPress 在您的 WordPress 主题的文件夹中查找模板。/single/
现在,您需要添加此代码定义的模板文件。
使用FTP客户端或cPanel中的文件管理器连接到WordPress主机,然后转到。/wp-content/themes/your-theme-folder/
在您当前的主题文件夹中,您需要创建一个名为“single”的新文件夹。接下来,您需要打开此文件夹并在其中创建一个新文件。继续并将此文件命名为 。将 {category-slug} 替换为实际的类别 slug。single-cat-{category-slug}
例如,如果您有一个名为“新闻”的类别,那么您将创建文件。如果您有一个名为“旅行提示”的类别,请创建一个模板,依此类推。single-cat-news.php
single-cat-travel-tips.php

现在,这些模板文件将完全为空。首先,您可以从主题文件夹中复制单个 .php 文件的内容,并将它们粘贴到每个模板中。之后,您需要编辑这些模板以进行所需的更改。
完成后,您可以访问您的网站并查看帖子。它将使用您为提交此帖子的类别创建的模板。
现在,假设您有一篇分为两类的帖子:新闻和旅行提示。WordPress 将自动显示“新闻”模板,因为它按字母顺序首先出现。
另一方面,如果您在某个类别中提交了帖子并且没有为该类别创建模板,那么 WordPress 将回退到主题的默认 single.php 模板。
暂无评论内容