2

我试图修改我的这个 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;    
    }
}

感谢您在这种情况下提供的任何帮助。

4

1 回答 1

0

请试试这个:

$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);

你会得到数组中的值。并且一旦您看到该值,请使用数组的正确索引来获取该值。

于 2013-03-19T09:34:13.617 回答