Category-slug不起作用

时间:2015-04-07 12:53:57

标签: php wordpress

我正在开发一个引号网站,因为我想在每个类别中使用不同的类别页面模板页面,我在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文件

怎么了?

1 个答案:

答案 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