10 Cara Mendapatkan User ID pada WordPress

Photo by Roberto Cortese on Unsplash

Pada tutorial ini Mangcoding akan Memberitahu berbagai Cara Mendapatkan User ID pada WordPress.

Sebelum kita mengetahui Cara Mendapatkan User ID pada WordPress, Mangcoding akan menunjukkan serta memberitahu bagaimana Anda bisa mendapatkan objek pengguna dengan ID. Fungsi singkat ini hanya menambahkan get_user_by() pada sebuah file, seperti kode dibawah :

$user = get_user_by( 'id', 51 ); // 51 is a user ID
echo $user->first_name; // let's pring the first name of this user

 

Link Mangcoding1. Mengedit pengguna pada URL

Ini adalah metode sederhana yang baku, tetapi juga memiliki beberapa kelemahan. Pertama – Anda harus masuk panel Admin, kedua – Anda tidak dapat memperoleh ID Anda sendiri, Jadi :

  • Masuk ke admin WordPress Anda
  • Buka Pengguna > Semua pengguna
  • Pilih pengguna dan buka profilnya
  • Lihatlah URL halaman:

user mangcoding id

Link Mangcoding2. Tambahkan kolom khusus dengan ID pengguna

Metode lain tanpa merubah codingan yang memungkinkan untuk mengetahui ID pengguna tertentu adalah dengan membuat kolom di tabel Pengguna. Seperti ini :

all user mangcoding

Untuk membuat kolom ditampilkan, cukup tambahkan kode di bawah ini ke dalam functions.php file Anda (Silahkan baca lebih lanjut di sini ).

// Register the column
add_filter('manage_users_columns', 'rudr_user_id_column');


function rudr_user_id_column($columns) {
    $columns['user_id'] = 'ID';
    return $columns;
}


// Populate the column with data
add_action('manage_users_custom_column', 'rudr_column_content', 10, 3);


function rudr_column_content($value, $column_name, $user_id) {
    if ('user_id' === $column_name) {
        return $user_id;
    }
    return $value;
}


// CSS for the column
add_action('admin_head-users.php', 'rudr_column_style');


function rudr_column_style() {
    echo '<style>.column-user_id{ width: 5% }</style>';
}

Link Mangcoding3. Dapatkan ID pengguna get_current_user_id()

Cara paling sederhana untuk mendapatkan ID dari pengguna yang saat ini masuk dan sedang melihat halaman tertentu (tempat kode dijalankan).

$current_user_id = get_current_user_id();

 

Link Mangcoding4. Dapatkan ID pengguna wp_get_current_user()

Cara lain adalah dengan menggunakan wp_get_current_user() fungsi ni akan berguna ketika Anda tidak hanya mendapatkan ID pengguna saat ini tetapi juga beberapa data tambahan seperti nama depan atau email.

$current_user = wp_get_current_user();


// Current user ID
$current_user_id = $current_user->ID;


// Current user email
$current_user_email = $current_user->user_email;


// Current user login (username)
$current_user_login = $current_user->user_login;


$current_user_name = array(
    'first' => $current_user->first_name,
    'last' => $current_user->last_name
);

Link Mangcoding5. Dapatkan ID pengguna melalui email

Cukup sederhana. Anda dapat dengan mudah menggunakan get_user_by() fungsi yang sudah saya sebutkan sebelumnya.

$user = get_user_by( 'email', 'no-reply@mangcoding.com' );
$user_id = $user->ID;

 

Selain itu Anda juga dapat melakukan kebalikannya yaitu Mendapatkan Email dari ID Pengguna get_user_by() akan membantu Anda dengan cara dibawah

$user = get_user_by( 'id', 54 );
echo $user->user_email;

 

Selain itu, anda juga bisa menggunakan get_userdata()

$user = get_userdata( 54 );
echo $user->user_email;

 

Link Mangcoding6. Dapatkan ID pengguna dengan nama pengguna (login)

Pada contoh berikut, parameter kedua “mangcoding” adalah nama pengguna

$user = get_user_by('login', 'mangcoding');
$user_id = $user->ID;

 

Apakah ada cara untuk mendapatkan nama pengguna dari ID pengguna? Ya, cukup gunakan get_userdata() atau get_user_by( ‘id’, … ). Sama seperti contoh dengan menggunakan email.

Link Mangcoding7-8. Dapatkan ID pengguna dengan nama depan atau nama belakang

Cetak id semua pengguna dengan nama depan “Misha”:

global $wpdb;


$users = $wpdb->get_results("SELECT user_id FROM $wpdb->usermeta WHERE meta_key = 'first_name' AND meta_value = 'Misha'");


if ($users) {
    foreach ($users as $user) {
        echo '<p>' . $user->user_id . '</p>';
    }
} else {
    echo 'There are no users with the specified first name.';
}

Masalahnya di sini adalah saya menggunakan get_results() metode bukan get_var() karena mungkin ada banyak pengguna dengan nama yang sama.

Cetak ID semua pengguna dengan nama belakang “Mangcoding” :

global $wpdb;


$users = $wpdb->get_results("SELECT user_id FROM $wpdb->usermeta WHERE meta_key = 'first_name' AND meta_value = 'Mangcoding'");


if ($users) {
    foreach ($users as $user) {
        echo '<p>' . $user->user_id . '</p>';
    }
} else {
    echo 'There are no users with the specified first name.';
}

Kode di atas akan berfungsi jika Anda ingin menemukan ID pengguna dengan nilai meta pengguna apa pun. Ganti saja meta_key dan meta_value dengan yang Anda butuhkan.

Dan tentu saja Anda bisa mendapatkan nama depan dan belakang pengguna dan meta apa pun dengan bantuan get_user_meta( $id, $meta_key, true) fungsi.

Link Mangcoding9. Dapatkan ID penulis melalui ID pos?

Dalam hal ini Anda bisa mendapatkan ID pengguna dari WP_Post objek.

$my_post = get_post( $id ); // $id - Post ID
echo $my_post->post_author; // print post author ID

 

Link Mangcoding10. Dapatkan ID pelanggan dari pesanan WooCommerce?

Ada dua cara berbeda untuk melakukannya, yang pertama adalah mendapatkan ID pelanggan dari meta pesanan dengan cara berikut :

$customer_id = get_post_meta( 541, '_customer_user', true ); // 541 is your order ID

 

Yang kedua adalah dengan bantuan WC_Order objek. Tetapi metode ini hanya akan berfungsi untuk WooCommerce 3.0+.

$order = wc_get_order( 541 ); // 541 is your order ID
$customer_id = $order->get_customer_id(); // or $order->get_user_id() – the same

 

Referensi : Rudrastyh