if in_category on archive.php

时间:2011-02-07 作者:nikibrown

因此,我尝试在归档文件上执行if/else语句。php模板。我使用重新加载的WP Smart archives设置档案(http://wordpress.org/extend/plugins/smart-archives-reloaded/)

我存档中的代码。php如下:

<?php
   if (in_category(\'166\')) { include \'archive-blog.php\';
}

else {
   echo(\'foo\');
}
?>
我正在尝试获取存档。php根据类别编号包含特定模板。然而,这段代码无论如何都会获取归档日志模板(即使我单击了不是日志的类别归档)。

我想知道我是否做得不对-in\\u category在存档页上不起作用吗?我有一个类似的设置与一个单一的。php根据类别指向不同的包含模板。

谢谢

Update

我也尝试使用is\\U类别,它似乎完全忽略了我的第一个条件,只是对任何类别重复foo。

<?php
   if (is_category(\'166\')) { include \'archive-blog.php\';
}

else {
   echo(\'foo\');
}
?>
链接到我正在谈论的内容:(进入右侧边栏中的档案)

http://www.metropoliscreative.com/talent-analytics/w/?cat=166

http://www.metropoliscreative.com/talent-analytics/w/?cat=3

also, im not using permalinks because the clients server does not have mod-rewrite

4 个回复
SO网友:Denis de Bernardy

如果内存可用,则in\\u category()用于循环中,当当前帖子位于该特定类别中时,返回true。

您可能属于is\\U类别(166)。

SO网友:Manzabar

或者,您可以只命名文件,以便WordPress知道如何将其用于该类别。根据Codex, WordPress查找以下文件(按此顺序)以显示您的类别:

类别slug。php

  • category-ID.php
  • 类别。php存档。php索引。php
  • 因此,如果您命名/创建了一个名为category-166.php, 然后WordPress将使用该文件显示类别166。

    SO网友:Bainternet

    您几乎做到了,它不在\\u类(\'166\')它是\\u类(\'166\')。区别在于:

    in\\u category检查single是否在该类别中

  • is\\u类别检查当前是否为该类别存档页
  • SO网友:Kat

    尝试is_category() 相反

    实例检查是否属于类别12或13

    <?php if ( is_category(\'12\') || is_category(\'13\')) {  ?>
    
        TEST
    
    <?php }   ?>
    

    结束

    相关推荐