اتصال بخش کاربران چند وب سایت وردپرسی به یکدیگر + آموزش ویدیویی

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

استفاده از افزونه WP Remote Users Sync

برای اینکار از پلاگین WP Remote Users Sync استفاده میکنیم. این افزونه که از امنیت خوبی برخوردار هست به ما اجازه میده تا با وصل کردن دو تا وب سایت وردپرسی بهم، قسمت کاربران اون هارو باهم همگام کنیم.

قابلیت های این پلاگین

این افزونه به ما اجازه میده تا تعیین کنیم دو تا از چند تا وب سایتی که به اون اضافه میکنیم چه ویژگی هایی شون باهم هماهنگ یا در اصطلاح سینک شه. مثلا من میخوام دو تا وب سایتم فقط ثبت نامش باهم سینک و همگام شه ولی دو تا وب سایتم علاوه بر ثبت نام بحث ورودشون هم همگام شده باشه که این افزونه به ما اجازه میده تا موارد دلخواهمون رو تیک بزنیم. موارد قابل انتخاب توی این افزونه : ورود، خروج، ثبت نام، به‌روزرسانی شناسه، حذف، تغییر رمز عبور، نقش‌ها و متا دیتا میشه.

نصب و راه اندازی افزونه

برای نصب مثل بقیه پلاگین های وردپرس باید به پیشخوان وب سایت وردپرسی خودمون مراجعه کنیم.

از منو سمت راست قسمت افزونه‌ها » افزودن رو انتخاب کرده و در قسمت جستجو با سرچ کردن عبارت «Remote User Sync» و کلیک رو گزینه نصب از وردپرس میخواییم تا این افزونه رو برای ما نصب کنه.

نصب Wp Remote Users Sync از مخزن وردپرس
نصب Wp Remote Users Sync از مخزن وردپرس

تنظیم کردن افزونه WP Remote Users Sync

بعد از نصب شدن این افزونه با مراجعه به قسمت تنظیمات » WP Remote Users Sync وارد تنظیمات این افزونه میشیم… از بین زبانه های موجود، زبانه Security رو انتخاب میکنیم.

تنظیمات افزونه WP Remote Users Sync در پنل وردپرس
تنظیمات افزونه WP Remote Users Sync در پنل وردپرس

همونطور که داخل عکس بالا هم مشخص کردم گزینه های 3 و 4 باید دو تا Key بنویسم :

  • Action Encryption Key
  • Action Signature Key

این دو مورد یه جورایی حالت پسورد مانند هستن و برای رمز نگاری اطلاعات موقع رد و بدل شدن اطلاعات بین وب سایت های وردپرسی اتفاق میوفته.

پیشنهاد میکنیم از سایت های تولید کننده رشته های تصادفی یا String Random Generator استفاده کنید. پیشنهاد ما سایت random.org هست.

تنظیمات مربوط به تولید String تصادفی
تنظیمات مربوط به تولید String تصادفی
  • مستطیل قرمز : تعداد رشته هایی که نیاز داریم (2 عدد)
  • مستطیل زرد : طول هر رشته تولیدی (20 عدد)
  • مستطیل آبی : کاراکتر های مورد استفاده در رشته تولیدی (همه موارد – اعداد و حروف بزرگ و کوچک)
  • مستطیل بنفش : تکراری نبودن رشته های تولیدی (همین مورد انتخاب شه)
  • مستطیل سبز : تولید رشته های تصادفی

بعد از تنظیم بر اساس مقادیر بالا روی دکمه سبز رنگ میزنیم و دو رشته تصادفی برای ما تولید میشه…

نمونه رشته ها تصادقی تولید شده
نمونه رشته ها تصادقی تولید شده

همونطور که داخل ویدیو هم انجام دادیم؛ از یکی از رشته ها برای Action Encryption Key و از دیگری برای Action Signature Key استفاده میکنیم. کافیه که رشته های رو کپی و پیست کنید و در نهایت گزینه Save رو بزنید. این کار رو باید در هر دو سایت وردپرسی خودتون انجام بدین…

روشن کردن Activity Logs

برای اینکه بعد از تست کردن ببینیم آی پی های ما به چه صورت هست بهتره این گزینه رو فعال کنیم. مشابه تصویر زیر به زبانه Activity Logs مراجعه کنید.

فعال کردن قابلیت Activity Logs
فعال کردن قابلیت Activity Logs

به ترتیب تیک گزینه Enable Logs رو بزنید و بعدش گزینه Save رو بزنید. اینکار رو باید در همه وب سایت های خودتون انجام بدین.

تنظیم و اضافه کردن آدرس سایت ها، قدم آخر در تنظیم این پلاگین

بعد از تنظیم کردن Key ها در همه وب سایت ها و روشن کردن Activity Logs اون ها داخل وب سایت اولتون به تنظیمات » عمومی مراجعه کنید از قسمت نشانی وردپرس آدرس سایت خودتون رو کپی کنید.

کپی کردن آدرس سایت در تنظیمات وردپرس
کپی کردن آدرس سایت در تنظیمات وردپرس

بعد از کپی کردن آدرس به وب سایت دوم خودتون مراجعه کنید و در قسمت Remote Sites از افزونه ای که نصب کردیم مطابق قسمت قرمز تصویر زیر وب سایت خودتون رو اضافه کنید.

اضافه کردن وب سایت و تنظیم آپشن های آن در افزونه
اضافه کردن وب سایت و تنظیم آپشن های آن در افزونه

قسمت آبی برای مواردی هست که از سایتی که آدرسش رو وارد کردیم به این وب سایت ارسال میشه و قسمت زرد رنگ برای مواردی هست که از این وب سایت به وب سایتی که آدرسش رو وارد کردیم ارسال میشه. بستگی به نیازمون داره که چه مواردی رو تیک میزنیم.

اینکار رو توی اون یکی وب سایت خودتون هم انجام بدین. و همینطور سیو کردن تنظیمات هم فراموشتون نشه!

تست و اطمینان حاصل کردن از تنظیمات

در نهایت؛ با زدن دکمه Test برای یکی از موارد Incoming و Outgoing میتونید عملکرد افزونه رو تست کنید. داخل ویدیو هم اشاره کردیم که نیازی نیست همه موارد تست شن، و تست کردن فقط یکی از موارد Incoming و Outgoing کافی هست.

تنظیم IP Whitelist (اختیاری)

این مورد اختیاری هست و برای افزایش امنیت این افزونه کاربرد داره. اما تنظیم نکردنش تاثیری در کارکرد افزونه نداره. با زدن دکمه Test توی مرحله قبل، Log و تاریخچه کاری که انجام دادیم داخل زبانه Activity Logs ذخیره شده.

بدست آوردن آی‌پی در قسمت Activity Logs
بدست آوردن آی‌پی در قسمت Activity Logs

کافیه به اینجت مراجعه کنیم و آی‌پی وب سایت خودمون رو از اونجا کپی و توی قسمت IP Whitelist افزونه در سایت مورد نظر قرار بدین.

تنظیم کردن آی‌پی در قسمت IP Whitelist
تنظیم کردن آی‌پی در قسمت IP Whitelist

اینکار باعث میشه اگر یه نفر به Action Encryption Key و Action Signature Key ما هم دسترسی داشته باشه نتونه با وب سایت ارتباط برقرار بکنه. چرا که وب سایت فقط از آی پی ای که ما وارد کردیم اطلاعات رو پذیرش میکنه…

تست کردن ارتباط بین دو سایت

بعد از تنظیم همه موارد میتونید با مراجعه به قسمت کاربران » افزودن یک کاربر آزمایشی به کاربر خودتون اضافه کنید و ببینید در سایت دیگر هم این کاربر به طور خودکار اضافه میشه! داخل ویدیو این موضوع رو ملموس تر توضیح دادیم. اگه دوست داشتین میتونید نگاهش کنید. 😉

بازم مثل همیشه تشکر میکنم که تا آخر این مقاله همراه ما بودین. امیدوارم که تونسته باشید وب سایت هاتون رو بهم متصل کنید. اگه انتقادی، پیشنهادی، سوالی چیزی داشتین خوشحال میشم توی قسمت نظرات با ما در میون بزارید.

آرین غفوری صنعتی

در مجموعه آریا وردپرس فعالیت می‌کنم. به زبان های برنامه نویسی علاقه دارم همینطور وردپرس و لینوکس رو هم دنبال میکنم. در صورتی که بتونم تجربیات خودم رو با بقیه در اشتراک بزارم خوشحال میشم. 😉

26 دیدگاه

  1. کاربر
    هومن 12 اردیبهشت 1401

    عالی بود واقعا خیلی دنبال چنین چیزی بودم
    کاملا درست کار میکنه، ممنونم

    پاسخ
    • مدیریت
      آرین غفوری صنعتی 12 اردیبهشت 1401

      سلام هومن جان، ممنونم از نظر لطفت، خوشحالم که بدردت خورده…

      پاسخ
  2. کاربر
    رضا 10 فروردین 1401

    سلام. لطفا اطلاعاتی که امکان جابه جابب دارند رو بفرمایید.
    مثلا شماره تماس، نام و نام خانوادگی، آدرس، و… آیا جابه جا میشه؟

    پاسخ
    • مدیریت
      آرین غفوری صنعتی 10 فروردین 1401

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

      پاسخ
  3. کاربر
    حسین 24 اسفند 1400

    آرین عزیز ممنون بابت این آموزش کاربردی عالی
    فقط سوالی دارم که :
    سایت اول من چون همکاری نویسنده با سایت داریم و مطلب ارسال میکنن، نقش پیشفرض کاربری که عضو سایت میشه نویسنده هست/
    اما سایت دوم چون انجمن داریم با بادی پرس، نقش پیشفرض کاربر عضو جدید سایت مشارکت کننده هست.
    وقتی این دو سایت باهم سینک بشن، چه اتفاقی می افته ؟ بهم نمی ریزه؟
    کدام بخش تنظیمات همسان سازی رو باید چطور تنظیم کنم که هردوسایت کاربرانشون همون نقشی که تابحال پیش بینی شده بوده بمونه؟ میشه؟

    پاسخ
    • مدیریت
      آرین غفوری صنعتی 25 اسفند 1400

      سلام حسین جان، خواهش می کنم. ممنون از نظر لطف شما.

      حسین جان برای اطلاع دقیق از پرسش شما پیشنهاد می کنیم یکبار این مورد رو روی localhost خودتون تست بفرمایین.

      اما بر طبق چیزی که ما میدانیم، زمانی که کاربر از سایت اول ثبت نام شه، در سایت دوم هم همون نقش سایت اول (یعنی نویسنده) رو میگیره و زمانی که از سایت دوم ثبت نام کنه تو سایت اول هم نقش سایت دوم (یعنی مشارکت کننده) رو میگیره…

      درباره سوال آخرتون، متاسفانه در حال حاضر موردی برای این موضوع تو افزونه اضافه نشده…

      پاسخ
  4. کاربر
    حمید نوری 19 اسفند 1400

    با سلام
    ممنون از آموزش عالی تون.
    یک سوال اینکه من میخوام بخش ثبت نام هر دو سایت یکی بشه یعنی وقتی کاربر میخواد ثبت نام کنه فقط به بخش ثبت نام یک سایت منتقل بشه و اونجا ثبت نام کنه و از اینجا به بعد با لینکم بین سایتها جابجا بشه ؟
    یه سوال دیگه اینکه اگه یک افزووه مشترک بین دو سایت داشته باشم ، مثلا کیف پول ، آیا میتونه مجموع موجودی کیف پولها را باهم برای کاربر حساب کنه؟

    پاسخ
    • مدیریت
      آرین غفوری صنعتی 25 اسفند 1400

      سلام آقا حمید ممنون از نظر قشنگی که برامون گذاشتین.

      درباره سوال اولتون بله میشه. درباره سوال دومتون متاسفانه خیر.

      پاسخ
  5. کاربر
    nafas.doran 3 آذر 1400

    سلام
    با سپاس آموزش خوب و کاربردی تان، آیا می توان زمانیکه از افزونه های عضویت یا پروفایل ساز برای ثبت نام در سایت استفاده می کنیم با این افزونه عملیات sync شدن در هر دو سایت و لاگین شدن اتفاق بیفتد یا باید از افزونه دیگری استفاده نمود؟

    پاسخ
    • مدیریت
      آرین غفوری صنعتی 10 آذر 1400

      سلام، متشکرم از نظر زیباتون. با این افزونه میشه عملیات ثبت نام رو Sync کرد ولی اینکه مثلا فیلد های موجود در پروفایل ساز که از افزونه ی جدا میان به احتمال زیاد بین دو وب سایت Sync نمیشن. چرا که این افزونه فقط قابلیت های پایه وردپرس رو Sync می‌کنه.

      پاسخ
  6. کاربر
    عرفان 12 آبان 1400

    سلام و سپاس
    ممنون از آموزش خوبتون

    من در دو سایتم این کار رو انجام دادم هر دو سایت هم روی یک هاست هستند
    در سایت اول همه تست ها هم ورودی و هم خروجی اکی هست ولی در سایت دوم ارور میده
    “Login” action is not activated on http s://…………..ir with remote IP ……………….. (incoming).

    ای پی سایت اول رو هم در سایت دوم ست کردم ولی باز هم درست نشد

    پاسخ
    • مدیریت
      آرین غفوری صنعتی 12 آبان 1400

      سلام خواهش می‌کنم اقا عرفان خوشحالم که راضی بودین.

      این ارور علتش این هست که Login توی اون یکی وب سایت فعال نیست و وقتی تست می‌کنید با ارور مواجه می‌شید.

      پاسخ
  7. کاربر
    محمد 23 مهر 1400

    ممنونم از توضیحات خوبتون
    مدتها بود دنبال چنین چیزی می‌گشتم…‌‌حتیبا نصب دو وردپرس در یک دیتابیس کار رو انجام دادم اما گاهی سایتی داشتم که دامنه خاش متفاوت بود و گیر می‌کردم…. خلاصه که خیلی کارم راه افتاد.

    اما یک سوال: افزونه ای هست که همین کار رو با پست ها بکنه؟؟ یعنی تمام جزئیات اعم از متن و عنوان و عکس و تگ ها و …

    پاسخ
    • مدیریت
      آرین غفوری صنعتی 25 مهر 1400

      سلام خواهش میکنم.
      ممنون از شما که سایت مارو انتخاب کنید. خوشحالیم که کارتون راه افتاده.
      درباره پست ها چیزی نشنیدیم ولی اگر ببینیم همچین افزونه ای هست حتما آموزشش رو قرار میدیم.

      پاسخ
  8. کاربر
    پیمان 29 شهریور 1400

    سلام بی‌نهایت ممنون از آموزش عالیتون
    فقط من طبق آموزش پیش رفتم اما زمان تست گفت
    Error contacting the remote site: Payload error – Syntax error
    سایت اول من نرمال هست و سایت دوم من روی ساب دامین همون سایت هست آیا به خاطر ساب دامین بودن این مشکل وجود داره؟

    پاسخ
    • مدیریت
      آرین غفوری صنعتی 30 شهریور 1400

      سلام خواهش میکنم ممنون از شما که مطالعه کردین. جناب پیمان عزیز این ارور مرتبط با اینکه سایت دوم شما روی ساب دامین وجود داره نیست و یک جایی مشکل وجود داره.
      این ارور می‌تونه مربوط به تنظیم نبودن SSL و یا تنظیم نبودن درست رمز عبور های افزونه در بین دو سایت باشه. این دو مورد رو بررسی کنید اگر وب سایت وردپرسی تون به هم متصل نشدند همین جا بفرمایین تا بیشتر خدمتتون راهنمایی کنم.

      پاسخ
    • کاربر
      محمد اردبیلی 2 آبان 1400

      باسلام
      من هم به همین مشکل برخوردم ولی تنها از یک طرف. یعنی یک طرف تست به خوبی انجام میشود ولی از طرف دیگر که تست میگیرم این خطا نمایش داده میشود.
      هیچ SSL ای هم در طرفین ندارم. KEYهای طرفین نیز مثل هم میباشد و از این جهت هم خطایی وجود ندارد.
      اگر مقدور هست لطفاً راهنمایی فرمایید. باتشکر

      پاسخ
      • مدیریت
        آرین غفوری صنعتی 25 آبان 1400

        سلام در صورتی که همه تنظیمات رو درست انجام بدین باید کار کنه، مجدد بررسی کنید در صورتی که مشکلی بود بفرمایین.
        همینطور قسمت آی پی هارو خالی بزارین تا فیلتر آیپی انجام نشه!

        پاسخ
        • کاربر
          محمد اردبیلی 13 دی 1400

          باسلام
          دوباره از اول تنظیمات را انجام دادم ولی مشکل همچنان وجود دارد! یعنی یک سایت مان بخوبی TEST تأیید میشود ولی سایت دیگر موقع TEST ، خطای زیر را میدهد:
          Error contacting the remote site: Payload error – Syntax error

          پاسخ
          • کاربر
            محمد اردبیلی 13 دی 1400

            باسلام و صلوات برمحمد و آل محمد
            الحمدلله مشکلمان حل شد، گویا یکی از افزونه های سایتمان، با این افزونه تداخل داشت و بخاطر همین خطا میداد. آن افزونه را حذف کردم و مشکل حل شد. باتشکر از شما

          • مدیریت
            آرین غفوری صنعتی 15 دی 1400

            خدا قوت!

          • مدیریت
            آرین غفوری صنعتی 15 دی 1400

            سلام، می‌تواند این مورد از فایروال و حتی این باشد که یک هاست در ایران و هاست دیگر در خارج است. بررسی کنید چون افزونه مشکلی نداره حتما باید اوکی شه…

  9. کاربر
    نام 19 شهریور 1400

    سلام ممنون از آموزش خوبتون
    این روش ارتباط بین دو سایت برقراره؟
    یعنی کسانی که در سایت اول ثبت نام کنند به دو سایت دسترسی دارند و کسانی که در سایت دوم ثبت نام کنند به دو سایت دسترسی دارند؟

    پاسخ
    • مدیریت
      آرین غفوری صنعتی 20 شهریور 1400

      سلام خواهش میکنم. بله دقیقا به همین شکل هست که خودتون نوشتین و در صورت تنظیمات صحیح در افزونه یک کاربر با ثبت نام در یک وب سایت در دو سایت دسترسی داره.

      پاسخ
  10. کاربر
    امید 27 خرداد 1400

    یک سوال مهم برام پیش اومد
    1- من یک سایت با حدود 5 هزار کاربر دارم
    و سایت دومم هم الان حدود 2 هزار کاربر داره
    اگر این افزونه را نصب بکنم آیا کاربر های قدیمی در سایت دوم سینک میشوند
    و اگر می شود
    نکته مهماینجاست : اگر تعدادی کاربر داشته باشم که در سایت دوم قبلا ثبت نام کردند چه اتفاقی می افته

    پاسخ
    • مدیریت
      آرین غفوری صنعتی 29 خرداد 1400

      سلام مرسی که مقاله رو مطالعه کردین. پس از نصب و راه اندازی این افزونه، تنها کاربرانی که به تازگی در وب سایت شما ثبت نام می کنند سینک می شوند. برای سینک کردن کاربران قبلی میتوانید از افزونه ها درون ریز کاربر در وردپرس استفاده کنید.

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

      پاسخ

دیدگاهتان را بنویسید

نشانی ایمیل شما منتشر نخواهد شد. بخش‌های موردنیاز علامت‌گذاری شده‌اند *