如何在wp用户查询中放置数组

时间:2015-09-22 作者:eGuard

我对php和wordpress开发非常陌生,我对这个网站也很陌生。我想通过试错来学习发展。如果我没有使用所有合适的术语,请原谅我。

我有一些代码为buddypress中的用户获取以下id。我想在循环中使用这些值并检查buddypress用户的成员类型。

我有3种成员类型,最终结果应该输出每个成员类型的用户ID数组。

下面的代码获取当前用户跟踪的成员的用户ID。

$following = bp_get_following_ids( $user_id) ; print_r (explode(" ",$following));

上面的代码给出了一个输出,例如:数组([0]=>2,3,4,5,6,8,14)我想在用户查询中使用这个数组

$user_query = new WP_User_Query( array( \'include\' => array( 1, 2, 3 ) ) );

其中,1、2、3应为上述代码的输出。

我在下面试过了,但这似乎是错误的。

$user_query = WP_User_Query( array( \'include\' => explode(",",$following)));

如何将数组放入查询中,以便创建循环以按成员类型检查用户并输出ID?谢谢

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

这听起来像是wp_parse_id_list() 作用它将返回一个唯一ID数组,并用absint() 功能:

$csv = bp_get_following_ids();

if( 0 !== $csv ) )
{
    $uids       = wp_parse_id_list( $csv );
    $user_query = new WP_User_Query( [ \'include\' => $uids ] );
}
我们假设bp_get_following_ids() 成功时返回逗号分隔的用户ID字符串,失败时返回整数零。

示例

如果我们使用逗号分隔的字符串,其中包含一些“脏”值:

$csv = "1a,2!,3";
以及

$uids  = wp_parse_id_list( $csv );
那么

var_dump ( $uids )

array (size=3)
  0 => int 1
  1 => int 2
  2 => int 3
以及

print_r( $uids):

Array
(
    [0] => 1
    [1] => 2
    [2] => 3
)   

相关推荐

警告:CALL_USER_FUNC_ARRAY()要求参数1是有效的回调

我创建了一个新的wordpress,没有主题,只有一个插件:GDPR WP。(我想先在空wordpress上试用这个插件,然后再将它部署到其他网站上)。所以,我第一次尝试创建函数来接受或不接受GoogleAnalytics cookie。我的函数工作正常,但在BO/FO上有一个错误:Warning: call_user_func_array() expects parameter 1 to be a valid callback, function \'cookie_GA\' not found or i