我正在尝试修改我的这个 wordpress 插件以跟踪推荐当前登录用户的名称。
到目前为止,我设法构建了下面的代码,但我对任何类型的编码都是新手,如果能得到一些帮助,我将不胜感激。
想法是从当前用户那里获取“parent_user_id”(推荐人 ID),他们使用这个 ID 来获取 login_ID。
实际上这段代码输出的是:“Referred by: Array”
function wpmlm_display_referrer() {
global $wpdb, $user_ID, $current_user;
if(isset($_GET['current_user_id']) && !empty($_GET['current_user_id'])) {
$current_user_id = $_GET['current_user_id'];
} else {
$current_user_id = $current_user->ID;
}
# Logged in user
if ( is_user_logged_in() == true ) {
$get_id = "SELECT parent_user_id FROM mlm WHERE user_id=%d".$current_user_id;
$get_name = "SELECT login_id FROM mlm WHERE user_id=%d".$get_id;
$ref = $wpdb->get_results($get_name);
return 'Referred by: '.$ref;
}
}
感谢您在这种情况下可以提供的任何帮助。
最佳答案
请试试这个:
$get_id = "SELECT parent_user_id FROM mlm WHERE user_id='".$current_user_id ."'";
$get_name = "SELECT login_id FROM mlm WHERE user_id='".$get_id ."'";
我刚刚编辑了查询。 现在第二件事是 $get_id 是包含查询的变量,所以如果你想编写子查询,请像下面这样写:
如果子查询中的 parent_user_id 将返回 1 个值
$query = "SELECT login_id FROM mlm WHERE user_id=(SELECT parent_user_id FROM mlm WHERE user_id='".$current_user_id ."')";
如果子查询将返回多个值,请在下面使用:
$query = "SELECT login_id FROM mlm WHERE user_id IN (SELECT parent_user_id FROM mlm WHERE user_id='".$current_user_id ."')";
然后尝试 print_r($ref);
您将获得数组中的值。一旦您看到该值,就使用数组的正确索引来获取该值。
关于php - 获取推荐人 ID,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/15495509/