如果父类别是“有条件的?”

时间:2014-04-25 作者:Desi

我翻遍了抄本,但没有找到任何有用的东西。我尝试了下面的代码,但没有成功。所有类别页面仍会显示默认侧栏。

    <?php
        $ep_category = get_the_category();

        if ($ep_category->category_parent == \'watch-isatv\') { 
            include (\'sidebar-isatv.php\');
        }
        else {
            get_sidebar(); 
        }
    ?>

1 个回复
最合适的回答,由SO网友:Krzysiek Dróżdż 整理而成

你的解决方案行不通,因为$ep_category->category_parent 是ID(整数),而不是slug(字符串)。所以这种比较没有任何意义……;)

一种方法是使用此函数(from Codex):

if ( ! function_exists( \'post_is_in_descendant_category\' ) ) {
    function post_is_in_descendant_category( $cats, $_post = null ) {
        foreach ( (array) $cats as $cat ) {
            // get_term_children() accepts integer ID only
            $descendants = get_term_children( (int) $cat, \'category\' );
            if ( $descendants && in_category( $descendants, $_post ) )
                return true;
        }
        return false;
    }
}
将其添加到主题后,可以通过以下方式使用:

if ( in_category( \'watch-isatv\' ) || post_is_in_descendant_category( 11 ) ) ...  // where 11 is \'watch-isatv\' category ID

结束

相关推荐

如何使用phpMyAdmin合并类别

我尝试了以下phpMyAdmin查询,以将我的类别112747合并到类别112748中:UPDATE `wp_term_relationships` SET `term_taxonomy_id` = 112747 WHERE `term_taxonomy_id` = 112748; 它不起作用。查询包含哪些错误?wordpress 3.8.2phpMyAdmin 4.18MySQL 5.5.34-cll-lve我的一个wordpress网站有近300000篇帖子,大多数类别至少包