
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
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:
Metode lain tanpa merubah codingan yang memungkinkan untuk mengetahui ID pengguna tertentu adalah dengan membuat kolom di tabel Pengguna. Seperti ini :
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>';
}
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();
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
);
Cukup sederhana. Anda dapat dengan mudah menggunakan get_user_by() fungsi yang sudah saya sebutkan sebelumnya.
$user = get_user_by( 'email', '[email protected]' ); $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;
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.
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.
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
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
Itulah artikel yang dapat Mangcoding sharing. Mudah-mudahan artikel ini bisa bermanfaat dan dapat memberikan pengetahuan baru untuk Anda. Jika ada kritik serta saran yang dapat membangun, silahkan komentar atau kirim melalui Email dan Media sosial Mangcoding.
Referensi : 10 Cara Mendapatkan User ID pada WordPress