获取父自定义分类术语和颜色分区背景

时间:2013-11-12 作者:user1457514

我目前正在显示来自CPT的帖子。每个都有一个来自父级的分类术语。我想创建一个函数,为特定父术语的div的背景着色。

这是我的设置:

让我们称之为汽车:

国内--Dodge--Ford--Chrysler

进口
--本田--丰田--起亚

欧洲宝马奔驰

母公司为国内、进口、欧洲。

我的帖子显示如下:

福特
帖子标题
帖子内容

丰田
帖子标题
帖子内容

我的目标是给子术语所在的DIV上色。例如:

<div class="car_type">Ford</div> (background green)
Post Title<br> 
Post Content<br>

<div class="car_type">Toyota</div> (background red)
Post Title<br> 
Post Content<br>
我试图构建以下内容:

if (parent_term == \'domestic\'){
.car_type{
background-color:green;
}
}

if (parent_term == \'import\'){
.car_type{
background-color: red;
}
}
到目前为止,我已签出get\\u条款。任何能帮我指出正确方向的人都会很惊讶。

谢谢,我希望这有意义。

2 个回复
最合适的回答,由SO网友:Chip Bennett 整理而成

您必须调整标记以满足您的特定需要,但最简单的解决方案是使用a post_class filterpost_class() 模板标记,以输出适当的类。

例如,在模板中,您需要调用post_class(), 例如:

<div <?php post_class(); ?>>
<div class="car_type">Ford</div> (background green)
Post Title<br> 
Post Content<br>
</div>
然后,过滤器post_class, 使用您的术语:

function wpse123081_add_post_classes( $classes, $class, $postid ) {

    // Custom Tax
    if ( \'carsCPT\' == get_post_type( $postid ) ) {
        foreach ( (array) get_the_terms( $postid, \'carsTax\' ) as $term ) {
            if ( empty( $term->slug ) )
                continue;
            $classes[] = \'term-\' . sanitize_html_class( $term->slug, $term->term_id );
        }
    }
}
add_filter( \'post_class\', \'wpse123081_add_post_classes\', 10, 3 );
这将改变:

<div <?php post_class(); ?>>
。。。对此:

<div class="term-carTaxTerm">
(当然还有其他课程)

您可以相应地以CSS为目标。

SO网友:user1457514

修改为短代码:

function my_color_heading( $postid ) { // Custom Tax
    if ( \'jobs\' == get_post_type( $postid ) ) {
        foreach ( (array) get_the_terms( $postid, \'department\' ) as $term ) {
            if ( empty( $term->slug ) )
                continue;
            $classes[] = \'term-\' . sanitize_html_class( $term->parent, $term->term_id );
     $classList = implode(" ",$classes);
     return "class= {$classList}";

        }

    }

}
add_shortcode(\'heading_colors\',\'my_color_heading\');
谢谢!!

结束

相关推荐

GET_POST_TERMS未按预期工作

我有一个称为“水果”的自定义帖子类型,在这个类型下,我有一个称为“水果类别”的层次分类法当我在Fruit下创建一个新帖子时,我可以将其分配到一个“术语”,就像您在普通帖子类别下一样,但在Fruit Categories分类下。我在Fruit上增加了三个职位,每个职位分别分配给一个任期;“苹果”、“梨”和“香蕉”。所有这些都很好,但现在我想创建一个归档页面,简单地列出UL中的术语,用于自定义帖子类型,如下所示;我的网站。玉米/水果我面临的问题是,我使用的每个查询似乎只返回第一个词Apples。其他两个没有显