เกริ่นปัญหา
ปัญหาของเรื่องนี้มาจากโพสนี้ครับ สรุปคือเค้าอยากได้ WordPress 2 ตัวที่ใช้ฐานข้อมูลผู้ใช้อันเดียวกัน และเข้าสู่ระบบที่นึง อีกที่จะเข้าสู่ระบบด้วย โดยหลังจากผมลองค้นหาดู พบว่าสามารถทำได้ แต่ทำได้ในระดับแค่ Sub Domain หรือ Sub Directory เท่านั้นนะครับ และ Database ต้องใช้ Database เดียวกัน (ผมเข้าใจว่าสามารถทำได้ถึงระดับที่อยู่คนละ Database แต่ต้องเป็นที่เดียวกันและใช้ Username/Password เหมือนกัน)
วิธีทำ
- ก่อนอื่นให้ลง WordPress ทั้ง 2 ที่แบบปกติให้เรียบร้อยก่อน (ถ้ามีแล้ว ข้ามไปครับ)
- ลง Plugins “WP-Orphanage Extended” ให้ WordPress ทั้ง 2 ตัว แล้วไปตั้งค่าใส่ prefix ให้เรียบร้อยครับ
- ทำการแก้ไข wp-config.php ของ WordPress ทุกตัวดังนี้ครับ
<?php // แทน xxx ด้วยค่าเดิมนะครับ แต่ทุกไฟล์ที่เป็น wp-config.php ต้องเหมือนกันหมด define('AUTH_KEY', 'xxx'); define('SECURE_AUTH_KEY', 'xxx'); define('LOGGED_IN_KEY', 'xxx'); define('NONCE_KEY', 'xxx'); define('AUTH_SALT', 'xxx'); define('SECURE_AUTH_SALT', 'xxx'); define('LOGGED_IN_SALT', 'xxx'); define('NONCE_SALT', 'xxx'); // ตั้งค่า Cookie ให้ Login แล้วใช้ได้ทุก sub domain // อย่าลิมแก้ .example.com เป็น domain ตัวเอง (ไม่ต้อง www) // อย่าลืมจุดหน้า domain มันสำคัญมาก ผมไม่ได้พิมพ์ผิด define('COOKIE_DOMAIN', '.example.com'); define('COOKIEPATH', '/'); define('SITECOOKIEPATH', '/'); define('PLUGINS_COOKIE_PATH', '/'); define('ADMIN_COOKIE_PATH', '/'); // ตั้งชื่อ Cookie ที่ใช้เวลา Login define('AUTH_COOKIE','wordpress_auth_cookie'); define('SECURE_AUTH_COOKIE','wordpress_auth_cookie'); // บอกว่าจะใช้ User จากตารางไหน define('CUSTOM_USER_TABLE','wp1_users'); define('CUSTOM_USER_META_TABLE','wp1_usermeta');
- ทดสอบได้เลยครับ
ความเห็นส่วนตัว
จริงๆคิดว่าถ้าจะทำแบบนี้น่าจะทำเว็บเดียวแล้วแยก Category ของบทความน่าจะดีกว่า แล้วปรับ Theme เอา โดยใช้ Template Hierarchy หรือ Condition Tags ช่วยก็จะได้ 2 ส่วนที่หน้าตาไม่เหมือนกัน แต่ข้อมูลเหมือนกันแล้ว (ช่วยได้ระดับนึงนะ) หรือไม่ก็แยก Post Type ไเลยก็ได้ครับ