我已经注册了一个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循环,这不太好用,它将加倍/加倍。。。如果有更多条款,每月的数据。
最合适的回答,由SO网友:TheDeadMedic 整理而成
不需要两个循环。只需重复这些术语并使用in_array()
:
foreach ( $terms as $term ) {
if ( in_array( $term->slug, $months ) {
echo \'yes\';
else
echo \'no\';
}
}