Anda dapat mengatur login wordpress untuk menggunakan tabel kustom dengan mengedit config.php dan menambahkan dua baris ini:
define('CUSTOM_USER_TABLE','new_user_table'); //login, pass, email etc
define('CUSTOM_USER_META_TABLE', 'new_usermeta_table'); //optional bio, don't have to include this line
Di mana new_user_table adalah tabel situs web Anda dan new_usermeta_table adalah tabel bio situs web Anda (jika Anda menginginkannya)
Tabel kustom harus memiliki struktur yang sama dengan tabel wordpress normal. Jadi, agar ini berfungsi dengan tabel situs web Anda yang ada, Anda harus menambahkan beberapa bidang dan memastikan kata sandi di-hash dengan cara yang sama.
Berikut adalah cara menyusun tabel pengguna
Berikut adalah cara menyusun tabel meta pengguna
Untuk hash kata sandi dengan benar saat pendaftaran, sertakan file wp-includes/pluggable.php dan gunakan fungsi<?php $hash = wp_hash_password( $password ) ?>
Untuk kata sandi yang ada yang tidak di-hash dengan benar, Anda harus mengatur pengaturan ulang kata sandi email.
Atau. jika Anda ingin mempertahankan hash kata sandi Anda saat ini (tidak disarankan karena alasan keamanan tetapi dapat dilakukan), Anda dapat mengubah fungsi hashing wordpress. Di wp-includes/pluggable.php ubah:
if ( !function_exists('wp_hash_password') ){
function wp_hash_password($password) {
//apply your own hashing structure here
return $password;
}
}
Dan ubah:
if ( !function_exists('wp_check_password') ){
function wp_check_password($password, $hash, $user_id = '') {
//check for your hash match
return apply_filters('check_password', $check, $password, $hash, $user_id);
}
}
Untuk detail tentang wp_check_password Buka Di Sini
Alternatifnya
Anda dapat melewatkan bermain-main dengan tabel pengguna khusus Anda dan meminta login wordpress berlaku untuk seluruh situs Anda. Untuk melakukannya, cukup gunakan kode berikut:
<?php
include 'wp-config.php';
if ( is_user_logged_in() ) {
echo 'Welcome, registered user!';
} else {
header( 'Location: http://google.com' ) ;
};
?>
Pastikan 'wp-config.php' adalah path relatif lengkap ke file, lalu tempatkan kode ini di setiap halaman di situs non wordpress Anda. ganti gema dengan konten apa pun yang akan ditampilkan untuk pengguna yang masuk, dan ganti header dengan apa pun yang akan ditampilkan untuk tamu. Jika kontennya html sederhana, Anda dapat melakukan hal berikut:
<?php
include 'wp-config.php';
if ( is_user_logged_in() ) {
?>
<html>
<head></head>
<body><p>Welcome Registered user</p></body>
</html>
<?php
} else {
?>
<html>
<head></head>
<body><p>Please log in</p></body>
</html>
<?php
};
?>