2

私のこのワードプレスプラグインを変更して、現在ログに記録されているユーザーを参照した人の名前を追跡しようとしています。

これまでのところ、私は以下のコードを作成することができましたが、私はあらゆる種類のコーディングに非常に慣れていないので、助けがあれば非常に感謝しています。

アイデアは、現在のユーザーから「parent_user_id」(リファラーID)を取得することです。ユーザーは、このIDを使用してlogin_IDを取得します。

実際、このコードはこれを出力しています:「参照元:配列」

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 に答える