در وردپرس قالبها میتوانند به اصطلاح فرزند داشته باشند. یعنی میتوانید یک قالب مشابه قالب اصلی به وجود بیاورید و تغییرات خود را در آن اعمال کنید. در این شرایط به قالب اصلی که معمولا دست نخورده باقی میماند، قالب مادر گفته میشود.
در وردپرس طراحان و توسعه دهندگان برای ایجاد تغییرات در قالب وردپرس به سراغ درست کردن یک قالب فرزند از قالب مادر میروند. زیرا در این حالت روند کار ریسک کمتری دارد و در صورت بروز خطا، قالب مادر بدون تغییر باقی میماند.
در این مطلب از استودیو بهتر قصد داریم به آموزش مخفی کردن قالب مادر در وردپرس بپردازیم. برای این آموزش به سراغ پلاگین، روش دستی و کد میرویم. اما قبل از آن بررسی میکنیم که اصلا چرا باید قالب مادر را مخفی کنیم؟
چرا قالب مادر را مخفی کنیم؟
اصلیترین و در واقع مهمترین دلیل برای مخفی کردن قالب مادر در وردپرس امنیت وبسایت است. قطعا میدانید که قالب مادر همیشه به عنوان یک فایل بکاپ مورد استفاده قرار میگیرد.
ممکن است افرادی غیر از خود شما به ویرایشگر پوسته وردپرس دسترسی داشته باشند. در این حالت بهتر است که تنها تغییرات خود را در قالبهای فرزند اعمال کنند و دسترسی آنها به قالب مادر محدود باشد.
همچنین ممکن است نام قالب فرزند را تغییر داده باشید و نخواهید که نام قالب اصلی مشخص شود.
مخفی کردن قالب مادر در کدهای سایت به صورت دستی
راهکار اصلی برای مخفی کردن قالب مادر در وردپرس، استفاده از یک تابع در کدهای سایت است. در این حالت با کدها و فایلهای هسته سر و کار داریم. به همین خاطر برای اینکه مشکلی بوجود نیاید توصیه میکنیم حتما قبل از اعمال هر تغییراتی یک فایل بکاپ از کل وبسایت خود تهیه کنید.
خب، فیلتری به نام wp_prepare_themes_for_js در مسیر wp-admin/includes/theme.php قرار دارد. این فیلتر توسط wp-admin/themes.php برای تنظیم قالب فراخوانده میشود.
با استفاده از این فیلتر میتوانید که قالب مورد نظر را از لیست حذف کنید. برای این کار حتما باید اسم درست و دقیق قالب را بدانید.
function kill_theme_wpse_188906($themes) {
unset($themes['twentyten']);
return $themes;
}
add_filter('wp_prepare_themes_for_js','kill_theme_wpse_188906');
مخفی کردن قالب مادر در پنل وردپرس از پنل وردپرس
اگر نیازی به پنهانکردن کامل قالب مادر ندارید، میتوانید تنها نام آن را تغییر دهید. مراحل تغییر نام قالب وردپرس را به شکل کامل در مطلب دیگری توضیح دادهایم. به طور خلاصه:
- ابتدا به کنترل پنل هاستتان و سپس به مسیر wp-content/themes/ بروید. در اینجا نام پوشه قالب مورد نظر را به هر نام دلخواه دیگری تغییر دهید.
- در مرحله بعدی باید پوشه قالب را باز کنید و در آن به دنبال فایل style.css بگردید. این فایل را باز کنید. در ابتدای این فایل نام قالب را میبینید، که باید این نام را تغییر دهید.(میتوانید از هر نامی استفاده کنید)
- حال باید به پنل وردپرس بروید در اینجا به مسیر نمایش > پوستهها بروید. در اینجا باید قالب را با نام جدیدش فعال کنید. (بعد از دیدن قالب مورد نظر فقط کافی است بر روی آن کلیک کنید)
- مرحله بعدی یک مرحله اضافه است، در صورتی که از قالب فرزند یا مادر استفاده میکنید. در این حالت علاوه بر اینکه نام پوشه و قالب را تغییر دادهاید باید مسیر قالب مادر را در قالب فرزند تغییر دهید.
مخفی کردن قالب مادر در کدهای سایت با استفاده از پلاگین
یکی دیگر از روشها برای مخفی کردن قالب مادر در وردپرس استفاده از افزونه وردپرس است. از بهترین و مناسبترین افزونهها برای این کار میتوان به افزونه WP Hide & Security Enhancer اشاره کرد. با استفاده از این افزونه میتوانید به راحتی فایلهای هسته وردپرس، افزونه و قالبها را مخفی کنید. برای دانلود این افزونه کافی است به وبسایت رسمی وردپرس بروید یا آن را از بخش افزونهها به وردپرس اضافه کنید.
این پلاگین بسیار جامع عمل میکند و قالب را به شکل کامل پنهان میکند.
این افزونه با حذف توضیحات از فایل style.css، تغییر مسیر پیش فرض قالبها، ایجاد مسیر تازه برای قالبها و… باعث میشود قالب مادر، افزونه یا فایلهای هسته مخفی شوند.