چند زبانه سازی وردپرس بدون استفاده از افزونه

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

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

 

وبسایت چندزبانه چیست؟

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

 

ساخت وبسایت چند زبانه

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

 

آماده سازی فایل wp-config.php

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


define('WP_DEBUG', true);

/* That's all, stop editing! Happy blogging. */

/** Absolute path to the WordPress directory. */
if ( !defined('ABSPATH') )
	define('ABSPATH', dirname(__FILE__) . '/');

/** Sets up WordPress vars and included files. */
require_once(ABSPATH . 'wp-settings.php');

حالا کد زیر را بالای آن اضافه نمایید:


define( 'WP_ALLOW_MULTISITE', true );

تغییرات را ذخیره نمایید ولی فایل wp-config.php را باز نگه دارید، دوباره به این فایل برخواهیم گشت.

 

آماده سازی پنل ادمین

وارد پنل مدیریت وردپرس سایت شوید و از منوی Tools گزینه Network Setup را انتخاب نمایید. این گزینه بعد از اعمال تغییرات بالا در پنل ایجاد شده است.

انتخاب تنظیمات شبکه برای چند زبانه سازی وبسایت ووردپرس

در صفحه Network Setup از شما خواسته می‌شود که افزونه‌های خود را غیر فعال نمایید. با کلیک بر روی لینک قرار داده شده به صفحه افزونه‌ها ارجاع داده خواهید شد.

غیرفعال سازی افزونه‌ها برای راه‌اندازی شبکه چند زبانه سازی در ووردپرس

دقت داشته باشید بعد از اتمام مراحل نصب مجددا افزونه‌ها را فعال نمایید.

عنوان شبکه و همچنین ایمیل مدیریت سایت را نیز وارد نمایید و دکمه نصب (Install) را کلیک نمایید.

چندزبانه سازی ووردپرس بدون استفاده از افزونه

خب نصب به پایان رسید و شما مانند تصویر زیر صفحه پایانی را مشاهده میکنید که شامل دستورالعمل‌هایی است که باید در محل نصب وردپرس تغییراتی روی فایل‌های htaccess. و wp-config.php اعمال نمایید. وردپرس به شما توصیه میکند تا از این فایل‌ها نسخه پشتیبان تهیه نمایید.

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

  1. کد زیر را در محل نصب وردپرس، در فایل wp-config.php و بالای خط /* That’s all, stop editing! Happy blogging. */ اضافه نمایید.
    
    define('MULTISITE', true);
    define('SUBDOMAIN_INSTALL', true);
    define('DOMAIN_CURRENT_SITE', 'targetdevelop.com');
    define('PATH_CURRENT_SITE', '/');
    define('SITE_ID_CURRENT_SITE', 1);
    define('BLOG_ID_CURRENT_SITE', 1);
    
  2. کد زیر را در محل نصب وردپرس، در فایل htaccess. اضافه نمایید. دقت داشته باشید که اگر از قبل در این فایل چیزی را اضافه نکرده‌اید می‌توانید کل کد زیر را جایگزین کد‌های قبلی نمایید.
    
    RewriteEngine On
    RewriteBase /
    RewriteRule ^index\.php$ - [L]
    
    # add a trailing slash to /wp-admin
    RewriteRule ^wp-admin$ wp-admin/ [R=301,L]
    
    RewriteCond %{REQUEST_FILENAME} -f [OR]
    RewriteCond %{REQUEST_FILENAME} -d
    RewriteRule ^ - [L]
    RewriteRule ^(wp-(content|admin|includes).*) $1 [L]
    RewriteRule ^(.*\.php)$ $1 [L]
    RewriteRule . index.php [L]
    

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

منوی وبسایت چندزبانه ووردپرس

بعد از انجام مراحل فوق وقت این رسیده تا سایت جدید را اضافه کنیم. برای این منظور به مسیر My Sites > Network Admin > Sites بروید و گزینه Add New را انتخاب نمایید.

اضافه کاردن سایت جدید در چندزبانه سازی ووردپرس

من سایت انگلیسی را برای زبان پیش‌فرض ساخته‌ام پس برای سایت فارسی fa/ را وارد می‌کنم و عنوان سایت را نیز به زبان فارسی وارد میکنم. شما هم اطلاعات خود را وارد نمایید و دکمه Add Site را کلیک نمایید.

پس از اینکه سایت را اضافه کردید می‌توانید آن را در لیست سایت‌های خود مشاهده نمایید.

منوی سایتهای ساخته شده در ووردپرس چندزبانه

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

 

آماده سازی تم وبسایت

حال وقت آن رسیده تا تم وبسایت جدید را انتخاب نمایید،‌ قرار دادن تم‌های جداگانه برای وبسایت‌ها در این مطلب آورده نشده است و توصیه هم نمی‌شود، پس ما از یک تم برای تمامی وبسایت‌ها استفاده میکنیم. برای این کار کافیست تا از منو My Sites > Network Admin > Themes را انتخاب نمایید و در آن تم مورد نظر را برای تمامی وبسایت‌ها فعال نمایید.

 

مدیریت محتوا

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

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

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

  • اصغر دوستی 2018/10/09

    امکان داره در مورد نحوه ی کارکرد htaccess توضیحات بیشتری ارايه کنید؟ نمیخام فقط کپی پیست کنم و میخام کمی بیشتر در موردش بدونم.

    • حسین حاجی مالی 2018/10/09

      بله حتمن، سعی می‌کنم بزودی مطلبی در مورد htaccess بنویسم :)

نظر شما چیست؟
فرم شما با خطا مواجه شده است:
    با تشکر. نظر شما با موفقیت ثبت شد و پس از تایید مدیریت نمایش داده خواهدشد.