Pertama-tama, Multisite bukan yang saya cari. Saya memiliki 5 situs web yang menggunakan Wordpress semua di domain terpisah yang ingin saya aktifkan untuk akun pengguna. Saya perlu data pengguna untuk dibagikan di seluruh jaringan dan ketika pengguna membuat akun, mereka akan memiliki akses instan ke semua situs web lain juga. Apa yang saya coba lakukan tidak direkomendasikan oleh Wordpress saat menggunakan Multisite:
Jika Anda berencana membuat situs yang sangat terhubung satu sama lain, yang berbagi data, atau berbagi pengguna, maka jaringan multisite mungkin bukan solusi terbaik. - http://codex.wordpress.org/Before_You_Create_A_Network (paragraf 1, kalimat ke-3)
Saya sudah mencoba menggunakan "trik tabel pengguna bersama" seperti yang disebutkan di sini http://wordpress.org/support/topic/multiple-sites-same-users-how dan di sini http://xentek.net/articles/528/ mengimplementasikan-the-wordpress-shared-users-table-trick / dan sejumlah tempat lain ... masalahnya adalah bahwa informasi ini berusia 2-7 tahun dan saya menggunakan Wordpress 3.5.1 dan "trik" ini tidak sepertinya berhasil.
Saya telah mencoba memasukkan kode ini ke wp-config di sekitar $table_prefix
baris.
define('CUSTOM_USER_TABLE', 'wp_users');
define('CUSTOM_USER_META_TABLE', 'wp_usermeta');
Singkatnya, saya rasa trik ini tidak berfungsi lagi karena saya tidak dapat masuk ke situs kedua di sisi admin sama sekali.
Adakah saran tentang cara terbaik untuk menautkan data ini?
CUSTOM_USER_TABLE
tidak bekerja ... Lihat apakah ada sesuatu di sini: wordpress.stackexchange.com/search?q=CUSTOM_USER_TABLEJawaban:
Ok, pertama-tama, saya merasa seperti orang idiot, walaupun dalam pembelaan saya sebagian besar artikel yang berbicara tentang ini tidak menyebutkan detail yang sangat penting dalam membuat pekerjaan ini. Jawabannya adalah Anda harus menetapkan izin untuk setidaknya satu admin di database. Info ini dapat ditemukan di Codex di sini: http://codex.wordpress.org/Editing_wp-config.php#Custom_User_and_Usermeta_Tables
Setelah Anda mengatur file wp-config.php, Anda harus melakukan perubahan pada tabel usermeta master (dalam kasus saya wp_usermeta) bidang wp_capabilities baris, dan kolom meta_value. Lakukan ini melalui phpMyAdmin.
Catatan: Lakukan ini untuk setidaknya satu admin pengguna untuk masuk. Anda dapat menyesuaikan semua peran pengguna / admin lainnya dari backend setelah Anda masuk.
Untuk setiap situs web yang dibuat, harus ada awalan situs baru yang ditetapkan peran pengguna admin.
Dalam kasus saya karena saya hanya menjalankan ini di 2 situs saat ini terlihat seperti ini:
Baris pertama menetapkan izin untuk awalan tabel default (dalam hal ini wp_), dan baris kedua menetapkan izin untuk situs web kedua (dalam hal ini dengan awalan tbs_).
Terima kasih kepada brasofilo untuk komentar yang mengarahkan saya untuk menggali sedikit lebih jauh untuk akhirnya menyelesaikan masalah saya!
Saya harap jawaban ini dapat membantu orang lain yang memiliki masalah yang sama dengan saya.
sumber
Saat berbagi wp_users dan wp_meta ada masalah lain, instalasi wordpress lain memang mengenali pengguna tetapi tidak mengenali peran pengguna yang berasal dari situs web lain . Peran muncul sebagai tidak terdefinisi.
Jadi, Anda mengedit wp-config.php sesuai kebutuhan:
Saya pikir cara termudah untuk melakukan ini, tanpa bermain-main dengan db, adalah dengan menggunakan wp internal. Setelah masuk, dimungkinkan untuk menetapkan peran. Katakanlah, kita membutuhkan peran kontributor untuk semua orang, dan peran administrator untuk pengguna 'superman'.
Jadi, pengguna yang berasal dari situs web awal mendapatkan peran 'kontributor' yang ditugaskan saat mereka masuk.
http://codex.wordpress.org/Class_Reference/WP_User
sumber
Saya harus membuat baris baru:
meta_key='tbs_capabilities' meta_value='a:1:{s:13:"administrator";b:1;}'
dan
user_id=1
. Metode yang Anda jelaskan tidak berfungsi.sumber