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

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

دو روش حل کردن مشکل قالب و افزونه‌های وردپرس

در سایت وردپرسی گاهی نصب کردن و سپس فعال کردن یک Plugin‌ یا Theme جدید، مشکلات عدیده‌ای ایجاد می‌کند. ممکن است پنل ادمین سایت به کلی باز نشود و با ارورهای کد ۵۰۰ روبرو شوید و ممکن است مشکل محدودتر باشد و صرفاً به CSS و JavaScript که شیوه‌ی نمایش محتوا را مشخص می‌کنند، محدود شود.

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

یک روش کلی برای حل کردن مشکل افزونه‌ها و قالب‌های مشکل‌ساز در WordPress این است که از پنل مدیریت هاست یا سرور، ابزار مدیریت فایل یا File Manager را اجرا کنید و فولدر مربوط به پلاگین یا قالب را حذف کنید. قبلاً در مورد مسیر پیش‌فرض فولدرهای قالب و همین‌طور پلاگین‌ها صحبت کردیم:

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

چگونه قالب فعال را در وردپرس به کمک دیتابیس تغییر دهیم؟

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

اجرا کردن phpMyAdmin برای مدیریت دیتابیس

پس از تهیه کردن بکاپ، وارد پنل مدیریت هاست شوید و برای شروع تغییر در دیتابیس، phpMyAdmin را اجرا کنید. در cPanel این ابزار در بخش Database قرار دارد.

در DirectAdmin نیز این گزینه در میان گزینه‌های مدیریت اکانت قرار دارد.

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

جدول تنظیمات وردپرس در Database و ستون‌های آن

اغلب تنظیمات WordPress در جدولی با عنوان options ذخیره می‌شود. البته پیشوند جداول نیز قبل از options قرار می‌گیرد. لذا در سمت راست روی چنین جدولی کلیک کنید.

توجه کنید نام پیش‌فرض با توجه به پسوند پیش‌فرض جداول که wp است، wp_options خواهد بود اما معمولاً برای افزایش امنیت سایت، از پیشوند متفاوتی استفاده می‌شود.

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

گام بعدی پیدا کردن یکی از تنظیمات به اسم template است. نام هر تنظیم را در ستون option_name مشاهده می‌کنید و برای مرتب شدن تنظیمات بر حسب آنچه در ستون options_name ذکر شده، کافی است روی عنوان این ستون کلیک کنید. پس از کلیک روی options_name، همان‌طور که در تصویر زیر مشاهده می‌کنید در کنار عنوان یک علامت فلش و عدد اضافه می‌شود.

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

سرچ کردن در جدوال دیتابیس

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

سپس در فیلد روبروی option_name، عبارت template را تایپ کنید و در نهایت روی Go کلیک کنید.

به این ترتیب تنها یک ردیف یافت می‌شود. در این ردیف به آنچه در ستون option_value ذکر شده توجه کنید که چیزی جز نام قالب نیست.

سرچ کردن عبارت‌های منظم یا Regex با REGEXP در دیتابیس

برای تغییر دادن قالب فعال سایت وردپرسی، می‌بایست دو ردیف را ویرایش کنید. ردیف اول همان template است که به مراحل یافتن آن اشاره کردیم. ردیف دیگری به اسم Stylesheet نیز نیاز به تغییر دارد. بنابراین از روش دیگری برای جستجو استفاده می‌کنیم که سرچ کردن عبارت‌های منظم یا Regex است. البته قرار است فقط از  | که معادل OR است، استفاده کنیم.

بنابراین پس از کلیک روی wp_options، روی تب Search کلیک کنید و سپس از منوی کرکره‌ای روبروی option_name حالت REGEXP را انتخاب کنید. اکنون برای سرچ، عبارت template|stylesheet را وارد کنید که به معنی سرچ کردن تمپلیت یا استایل‌شیت است و هر دو ردیف با این روش لیست می‌شود.

برای تغییر دادن options_value کافی است روی عبارت ذکر شده در هر ردیف، دبل‌کلیک کنید و سپس عبارت جدید را تایپ کنید و در نهایت روی سلول دیگری کلیک کنید یا Enter را فشار دهید.

تایپ کردن نام قالب وردپرس در دیتابیس

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

برای یافتن نام اختصاری قالب‌های وردپرس، چند راهکار ساده وجود دارد. ساده‌ترین روش این است که از ابزار مدیریت فایل cPanel یا دیگر کنترل پنل‌های مدیریت هاست، استفاده کنید. فولدر wp-content و سپس فولدر themes را باز کنید. نام کوتاه قالب‌ها در واقع نام فولدر قالب است!

دومین راهکار مراجعه به مخزن قالب‌های وردپرس است. با کلیک روی هر قالب، بخشی به اسم Development log زیرمجموعه‌ی Browse the Code در ستون کناری دیده می‌شود. روی آن کلیک کنید.

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

به این ترتیب به راحتی می‌توانید نام قالب را با نام قالب دیگری جایگزین کنید. فراموش نکنید که هم template و هم stylesheet نیاز به تغییر دارد.