获取所有具有特定术语的对象


Get all objects that have a certain term

我一直在查看wp_user_querywp_get_object_terms的函数引用,但它们似乎都不能满足我的需要。wp_user_query只允许您按用户元进行筛选,这没有帮助。wp_get_object_terms允许您传递对象ID和分类法,它将返回该对象所具有的分类法中的所有术语。

我需要一些相反的东西。我有一个名为"标签"的分类法,可以附加到用户身上,我需要能够说"给我所有有标签x和y的用户"。我应该用什么来实现这一点?

我遇到了同样的问题,因为我的用户有特定的标签/类别。我想获得类别为signatory的用户。我使用了的组合

  • 获取用户
  • wp_get_object_terms

这是我的解决方案

$args = array(
    'blog_id'      => $GLOBALS['blog_id'],
    'role'         => '',
    'role__not_in' => array('administrator', 'bbp_keymaster'),
    'count_total'  => false,
    'fields'       => 'all',
    'who'          => ''
); 
$blogusers = get_users( $args );

在我的div中,我以这种方式输出

<div class="title-tag">Featured Signatory</div>
<?php foreach ( $blogusers as $user ) : ?>
    <?php 
     $terms = wp_get_object_terms( $user->ID, 'user_category' );
     foreach ( $terms as $tax ) {
         if ($tax->slug === 'signatory') {
             echo '<p> ' . $user->display_name . '  </p>';
         }
     }
    ?>
<?php endforeach; ?>

这将为您提供您选择的tagcategory的所有用户。

希望这能帮助任何其他人,他们有一堆用户元,他们包括在他们的用户档案中