我在wordpress安装上使用buddypress。我想将一个user_id
数组放入一个变量中,然后我可以使用它来操作,例如,在HTML中列出或发送消息。
我尝试使用以下代码。我通过phpmyadmin验证了我的SQL查询是否正确。
function my_bp_get_users_by_xprofile( $field_id, $value ) {
global $wpdb;
$user_ids = $wpdb->get_col(
$wpdb->prepare(
"
SELECT `user_id`
FROM '{$wpdb->prefix}bp_xprofile_data'
WHERE `field_id` = %d
AND `value` = %s
"
, $field_id
, $value
)
);
}
然后在页面上,我想做这样的事情:
$user_ids = my_bp_get_users_by_xprofile( 5, '%18%' );
echo $user_ids;
我还通过调用一个简单回显字符串的简单函数来验证我的php(bp-custom)的位置。
我哪里错了?
答案 0 :(得分:1)
我认为您错过了函数中的返回值,因此您正在调用该方法但不返回任何内容。
function my_bp_get_users_by_xprofile( $field_id, $value ) {
global $wpdb;
$user_ids = $wpdb->get_col(
$wpdb->prepare(
"
SELECT `user_id`
FROM '{$wpdb->prefix}bp_xprofile_data'
WHERE `field_id` = %d
AND `value` = %s
"
, $field_id
, $value
)
);
// Return only if there are user_id's found
if (!empty($user_ids) {
return $user_ids;
}
// Return false if nothing found
return false;
}
然后在您的模板中,您还需要检查它是否为空:
$user_ids = my_bp_get_users_by_xprofile( 5, '%18%' );
if ($user_ids) {
// You first need to see what the structure of the returned array is and what values the indexes have
echo $user_ids['value'];
}