In_ategory()在single.php中起作用,但在page.php中不起作用?

时间:2011-08-08 作者:Chris Woods

我正在使用in_category(array) 在循环内部,检测帖子是否被归类为讨论类别(或有几个slug中的一个)。这件衣服穿起来很漂亮single.php 但在内部使用时,似乎没有进行评估page.php?

FWIW,这是我的代码:

<?php if ( in_category( array( \'Discussions\', \'discussion\', \'discussion-article\' ) )) :?>
<p id="discussions-prepended"><em>This is an article from our Discussions series - read more in the <a href="/discussions">Discussions section</a>.</em></p>
<?php endif;?>
在borked页面上。php实例,我也尝试过

<?php elseif:?>
<p>This post does not meet the category criteria.</p>
<?php endif;?>
但这也不能让我相信代码没有被评估。在这两种情况下,此代码段都是在<?php the_content(\'\'); ?> (the_content() 单件。php);它只是无法评估或显示在页面中。php。故意行为还是我做错了?

1 个回复
最合适的回答,由SO网友:danielwiener 整理而成

除非您添加了带有插件或自定义代码的功能,否则页面不会分类。页面由父页面和子页面组成。这就是为什么(我怀疑)in\\u category()在页面中不起作用的原因。php

函数中的以下代码。php将向页面添加类别。

/**
*   Add categories to Pages.
*   from http://shibashake.com/wordpress-theme/add-tags-and-categories-to-your-wordpress-page
*/ 

    function add_custom_tags_box() {
        add_meta_box(   \'categorydiv\', __(\'Categories\'), \'post_categories_meta_box\', 
                \'page\', \'side\', \'low\'); 
       register_taxonomy_for_object_type(\'category\', \'page\');
    }  
希望这有帮助。

结束

相关推荐

在WordPress帖子中编写MySQL和PHP代码

我在wordpress上写php或mysql代码,但最后当我点击publish时,它给出了一个服务器错误:500,我还尝试将代码放在[代码][代码]标记下。什么都没有发生,但当我删除代码并点击publish时,它就工作了有什么想法吗伙计们在等着帮忙