همه محصولات دانلودسنتر مستندات آموزش اتصال دیتابیس اطلاعات کاربران دو سایت وردپرس جدا از هم

یکی از نیازهای سایت های متعدد روی یک هاست شاید اتصال دیتابیس مربوط به کاربران در این سایت ها باشد. به گونه ای که کاربران با ثبت نام و عضویت در سایت اصلی، بتوانند در سایت های نصب شده به صورت سابدامین ما هم وارد حساب خود شوند و نیازی به ثبت نام مجدد نداشته باشند. چنین قابلیتی در وردپرس شبکه (چند سایته) وجود دارد به گونه ای که کاربران در یک سایت ثبت نام کرده اما اجازه ی ورود به حساب در تمامی سایت های زیرمجموعه و وبلاگ ها را خواهند داشت.

User Login

در وردپرس های مجزا و جدا از هم (به صورتی که دو وردپرس نصب شده اند) نیز می توانیم چنین امکانی داشته باشیم اما این مورد شرایطی نیاز دارد:

  1. اولا دو یا چند وردپرس روی یک دیتابیس نصب شده باشند
  2. دوما نسخه وردپرس ها باید کاملا مشابه هم باشند (برای مثال تمامی آنها از ۴.۹.۱ استفاده کنند). دلیل استفاده مشابه از یک نسخه این است که احتمال متفاوت بودن جداول و دستورات دیتابیس در نسخه های متفاوت وجود دارد.

در این مستند از مارکت دِومی قصد داریم مراحل انجام این کار را برای شما شرح دهیم.


۱ . نصب وردپرس ها روی یک دیتابیس

انجام اینکار بسیار آسان است . برای اینکار، می توانید چندین ساب دامین ایجاد کنید، وردپرس ها را به صورت جداگانه در هر سابدامین آپلود کنید. اما مهم ترین شروط برای انجام اینکار به این ترتیب است:

  1. در مراحل نصب وردپرس ها، دقیقا اطلاعات یک دیتابیس وارد شود.
  2. پیشوند جدول دیتابیس در مراحل نصب با مابقی وردپرس ها متفاوت باشد.

در حالت عادی، زمانی که وارد مرحله نصب وردپرس می شوید، پیشوند جداول وردپرس به صورت wp_ در نظر گرفته می شود. اگر قصد دارید چند وردپرس را روی یک دیتابیس نصب کنید، این پیشوندها باید متفاوت باشند. برای مثال در نصب وردپرس دوم، پیشوند جدول دیتابیس را wps_ و یا وردپرس سوم wpt_ یا از هر پیشوند دلخواه دیگری مانند xy_ یا devme_  و … می توانید استفاده کنید.

WordPress Installation

تنها هدف اینکار، جدا شدن و جلوگیری از ترکیب شدن جداول دیتابیس وردپرس هاست .


۲ . معرفی جدول اطلاعات کاربران به وردپرس های دوم به بعد

پس از نصب وردپرس ها، فایل wp-config.php مربوط به وردپرس دوم را باز کنید. پیش از خط /* That’s all, stop editing! Happy blogging. */ کد زیر را قرار دهید:

  1. define(‘CUSTOM_USER_TABLE’, ‘wp_users’);
  2. define(‘CUSTOM_USERMETA_TABLE’, ‘wp_usermeta’);

نکته ضروری:

در دو خط بالا، عبارات wp_users و wp_usersmeta را مشاهده می کنید. در این کد فرض شده که پیشوند جدول های دیتابیس در وردپرس اول wp_ است. حال اگر پیشوند جداول دیتابیس وردپرس اول شما چیز دیگری است حتما باید آن را در کد بالا وارد نمایید. در واقع با این کدها قصد داریم اطلاعات کاربران را از سایت اصلی دریافت کنیم.


۳ . جلوگیری از تداخلات کوکی و کش مرورگر

با انجام مرحله قبل، اطلاعات کاربران بین وردپرس اول و وردپرس دوم به اشتراک گذاشته خواهد شد و اگر کاربری در سایت اصلی شما عضو شده باشد، در وردپرس دوم شما که به صورت ساب دامین نصب شده نیز با همان اطلاعات خواهد توانست وارد حساب کاربری خود شود.

اما اتصال یک جدول به دو وردپرس ممکن است مشکلات کش و کوکی مرورگر به همراه داشته باشد، پس فایل wp-config.php وردپرس دوم را مجددا باز کنید و کد پایین را زیر کد مرحله قبل قرار دهید:

  1. define(‘COOKIE_DOMAIN’, ‘.yoursite.com’);
  2. define(‘COOKIEPATH’, ‘/’);

تنظیمات:

  • در خط اول بجای yoursite.com دامنه اصلی سایتتان را وارد کنید. از وارد کردن سابدامین خودداری کنید! تنها آدرس سایت وردپرس اول را وارد نمایید.
  • در خط اول، نقطه ی قبل از آدرس سایت را حذف نکنید!

پس همانطور که مشاهده کردید، تمامی تغییرات ما روی وردپرس دوم بود. هم اکنون کاربران شما خواهند توانست به راحتی بین سابدامین های شما گشت و گذار کنند و نیازی به ثبت نام مجدد برای هر کدام نخواهند داشت.

مطالعه بیشتر