Mysql
 sql >> Teknologi Basis Data >  >> RDS >> Mysql

Buat login situs web juga berfungsi di WordPress

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
};
?>


  1. Database
  2.   
  3. Mysql
  4.   
  5. Oracle
  6.   
  7. Sqlserver
  8.   
  9. PostgreSQL
  10.   
  11. Access
  12.   
  13. SQLite
  14.   
  15. MariaDB
  1. Tetapkan jumlah kolom ke satu tanggal di kolom lain jika kriteria terpenuhi

  2. int(11) vs. int(lainnya)

  3. mysql_fetch_assoc():argumen yang diberikan bukan sumber hasil MySQL yang valid

  4. Pisahkan string menjadi baris

  5. Pernyataan yang disiapkan MySQL dengan daftar variabel ukuran variabel