按2个不同的类别值过滤

时间:2014-03-31 10:04:24

标签: php wordpress advanced-custom-fields

我想要一个字段来显示它是否有来自2个不同子字段的2个值的类别。

我不太确定如何使用2个不同的子字段来完成此操作。

这是一个我试图演示以表明我希望它如何工作的例子:

<?php while(has_sub_field('team_profile')): 
    $category = get_sub_field('category');
    $category_2 = get_sub_field('category_2');
    if($category=='copyclearance')
        if($category_2=='anothercat'){ ?>
            <li class="col-lg-2 teamProfile">
                <img src="<?php the_sub_field('profile_image'); ?>" class="img-responsive"/>
                <h2><?php the_sub_field('profile_name'); ?></h2>
                <p class="jobTitle"><?php the_sub_field('job_title'); ?></p>
            </li>
            <?php 
        } 
endwhile; ?>

这是我的工作版,只有一个类别过滤器(但我需要2个):

<?php while(has_sub_field('team_profile')): 
    $category = get_sub_field('category');
    if ($category=='copyclearance') { ?>
        <li class="col-lg-2 teamProfile">
            <img src="<?php the_sub_field('profile_image'); ?>" class="img-responsive"/>
            <h2><?php the_sub_field('profile_name'); ?></h2>
            <p class="jobTitle"><?php the_sub_field('job_title'); ?></p>
        </li>
    <?php 
    } 
endwhile; ?>

所以这可行,通过查看是否已在$category$category_2中发布了任何内容,然后显示所有结果。不使用2进行特定过滤,即仅显示$category$category_2

中的帖子

1 个答案:

答案 0 :(得分:2)

使用or运算符:

,而不是嵌套if语句
if($category=='copyclearance' || $category=='anothercat') {
    // ...
}

如果你想做两个以上,我建议使用一个数组:

$valid_cats = array('copyclearance', 'cat2', 'cat3', 'etc');

if(in_array($category, $valid_cats)) {
    // ...
}