我正在开发一个引号网站,因为我想在每个类别中使用不同的类别页面模板页面,我在wordpress的链接下面跟着:
https://codex.wordpress.org/Category_Templates
据我说,除了原来的author.php
文件之外,我做了不同的类别 - 流行的category.php
(也尝试了类别-7.php bt没有工作),但是不起作用。我还尝试了一些其他选项:
1)在
中尝试了这段代码functions.php
function wpse_category_single_template( $single_template ) {
global $post;
$all_cats = get_the_category();
if ( $all_cats[0]->cat_ID == '1' ) {
if ( file_exists(get_template_directory() . "/single-cat1.php") ) return get_template_directory() . "/single-cat1.php";
} elseif ( $all_cats[0]->cat_ID == '2' ) {
if ( file_exists(get_template_directory() . "/single-cat2.php") ) return get_template_directory() . "/single-cat2.php";
}
return $single_template;
}
add_filter( 'single_template', 'wpse_category_single_template' );
但没有工作
2)改变了我的永久链接结构。
3)试图将if...else
条件放在category.php
文件中,如下所示:
<?php if (is_category('ID')) : ?>
// Code For Category with defined ID
<?php else : ?>
// Code for else
<?php endif; ?>
但仍然没有进展。
实际上wordpress找不到我的category-slug.php
文件
怎么了?
答案 0 :(得分:0)
您的文件名应为category-popular-author.php
而不是category-popular author.php
。你错过了破折号。
如果您的类别ID是7
,那么我猜您的文件位于错误的目录中。因为category-7.php
应该有效。
来自codex。
模板层次结构指定WordPress将使用第一个 它在您当前主题的目录中找到的模板文件 以下列表:
- 类别-slug.php
- 类别-ID.php
- category.php
- archive.php
- 的index.php
所以category-popular-author.php
应该在wp-content/themes/CURRENT_THEME_NAME/category-popular-author.php