在同一字段上筛选带有‘OR’的对象列表

时间:2017-11-18 作者:polyp

我想用wp_filter_object_list 从标记数组中获取带slug的标记(例如“cat”或“dog”)。

我的代码如下所示:

$post_tags = wp_get_object_terms( $post_ids, \'post_tag\' );

wp_filter_object_list( $post_tags, array(\'slug\' => \'cat\', \'slug\' => \'dog\'), \'or\' );
我希望这会返回所有带有“cat”或“dog”的标签,但它似乎只返回带有“dog”的标签。如果我改变顺序,我只会得到“cat”。如何过滤这两个标签的标签列表?

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

功能wp_filter_object_list 只能过滤一个值
对于过滤器,请尝试:

$post_tags = array_filter($post_tags, function ($e) {
    return in_array($e->slug, ["dog", "cat"]);
});

结束

相关推荐

No duplicate tags by category

我有脚本显示类别中的列表标签,效果很好。<ul class=\"inline-list\"> <?php query_posts(\'category_name=lain-lain\'); if (have_posts()) : while (have_posts()) : the_post(); if( get_the_tag_