CTP-检查对象内部的值

时间:2015-03-11 作者:Marko

我已经注册了一个CTP,可以添加新植物,用户可以勾选可以种植的月份(例如2月、3月和4月)。现在,我需要在页面上显示它,但从第一个月开始列出所有月份。例如,一月:否,二月:是,三月:是,四月:是。。12月:无。

我面临的问题是get_the_terms 我得到了一个包含许多对象的数组,我不知道如何检查值(在任何对象中)是否等于月份名称。

$months = array(\'january\', \'february\', \'march\'....);
$terms = get_the_terms( $post->ID , \'myctp\' );
foreach($months as $month) {
    foreach($terms as $term){
        if($month== $term->slug)
            echo \'yes\';
        else 
            echo \'no\';
    }
}
由于嵌套的foreach循环,这不太好用,它将加倍/加倍。。。如果有更多条款,每月的数据。

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

不需要两个循环。只需重复这些术语并使用in_array():

foreach ( $terms as $term ) {
    if ( in_array( $term->slug, $months ) {
        echo \'yes\';
    else 
        echo \'no\';
    }
}

结束