我一直在查看wp_user_query
和wp_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; ?>
这将为您提供您选择的tag
或category
的所有用户。