Conditional Statements 时间:2013-10-25 作者:luckyrajiv 我已经创建了名为-listing的自定义帖子类型还创建了自定义分类-listingcategories在列表类别中,我创建了两个类别音乐2。功能现在我想为音乐类别创建一个条件语句我正在尝试,但不起作用<?php global $post; if (($post->post_type == \'listing\') && is_category(\'music\')) { //statement } ?> 我用对了吗is_category() ?请帮忙。感谢拉吉夫 3 个回复 最合适的回答,由SO网友:luckyrajiv 整理而成 <?php if( has_term( \'music\', \'listingcategory\' ) ) { //content1 } else { //content2 } ?> 正在使用此http://codex.wordpress.org/Function_Reference/has_term SO网友:Tim Clark Cheers guy的这一点对我帮助很大,我使用了下面的方法,效果很好,任何改进都值得赞赏。 <?php $cat1 = array(\'category1\', \'category2\'); if( has_term( $cat1, \'my_custom_post_type\' ) ) { //do something } else { //do somthing else}?> SO网友:Chip Bennett 这个is_category() 条件适用于特定的分类法:category. 这个category 默认情况下,仅为post 岗位类型。您正在使用custom post type - listing - 和acustom taxonomy - listingcategories. 因此,您将无法使用is_category() 为它们构造条件语句。根据需要,您可以使用以下选项之一:is_tax( $taxonomy, $term ): 退货true 如果当前页面是分类法存档索引:is_tax( \'listingcategories\', \'music\' ) has_term( $taxonomy, $term ): 退货true 如果当前的post应用了指定的分类术语:has_term( \'listingcategories\', \'music\' ) 因此,与原始代码的模拟是:<?php global $post; if ( ($post->post_type == \'listing\') && is_tax( \'listingcategories\', \'music\' ) ) { //statement } ?> 并使用get_post_type():<?php if ( \'listingcategories\' == get_post_type() && is_tax( \'listingcategories\', \'music\' ) ) { // statement } ?> 结束 文章导航