«قالب» یا «پوسته» در وردپرس مجموعهای از فایلهاست که ظاهر و چیدمان کلی وبسایت شما را کنترل میکند. قالب تعیین میکند که هدر، فوتر، ستونهای کناری، رنگها، فونتها و به طور کلی نمای بصری سایت شما چگونه باشد. شما میتوانید با چند کلیک، قالب سایت خود را تغییر دهید و ظاهری جدیدی به آن بدهید.
اما وقتی تصمیم میگیرید تغییراتی در کدهای قالب خود ایجاد کنید، مثلا یک استایل CSS سفارشی اضافه کنید یا عملکرد یک فایل PHP را تغییر دهید، با چالشی بزرگ روبرو میشوید. با هر بار بهروزرسانی قالب اصلی، تمام تغییرات شما از بین خواهد رفت. اینجاست که مفهوم «قالب فرزند» یا «پوسته فرزند» (Child Theme) کارایی خود را نشان میدهد. قالب فرزند یک قالب وابسته است که تمام ویژگیها و استایلهای قالب اصلی (که به آن قالب والد میگویند) را به ارث میبرد، اما به شما اجازه میدهد تغییرات خود را در فایلهای جداگانهای ذخیره کنید.
چرا به قالب فرزند (Child Theme) نیاز داریم؟
استفاده از قالب فرزند یک روش استاندارد و حرفهای در توسعه وردپرس است و مزایای زیر را به همراه دارد:
- حفظ تغییرات پس از بهروزرسانی
این مهمترین دلیل استفاده از قالب فرزند است. وقتی شما تغییرات خود را در قالب فرزند اعمال میکنید، میتوانید با خیال راحت قالب والد را بهروزرسانی کنید. وردپرس ابتدا فایلهای قالب فرزند را بررسی میکند و اگر فایلی در آنجا وجود داشته باشد، از آن استفاده میکند؛ در غیر این صورت به سراغ فایلهای قالب والد میرود. به این ترتیب، تغییرات شما دستنخورده باقی میمانند و همزمان از بهبودها و اصلاحات امنیتی آخرین نسخه قالب اصلی بهرهمند میشوید. - سازماندهی بهتر کدها
به جای ویرایش فایلهای متعدد و پیچیده قالب اصلی، شما تمام کدهای سفارشی خود (CSS, PHP, JavaScript) را در پوشه قالب فرزند خود به صورت مرتب و جداگانه نگهداری میکنید. این کار مدیریت، ویرایش و عیبیابی کدها را در آینده بسیار آسانتر میکند. - یادگیری و توسعه امن
قالب فرزند یک محیط امن برای یادگیری و آزمایش است. اگر در حین کدنویسی اشتباهی مرتکب شوید، فقط کافی است فایل مربوطه را از قالب فرزند خود حذف کنید تا سایت به حالت اولیه (بر اساس کدهای قالب والد) بازگردد. این روش ریسک از کار انداختن کل سایت را به شدت کاهش میدهد.
قالب فرزند چگونه کار میکند؟
ایجاد یک قالب فرزند بسیار سادهتر از آن چیزی است که به نظر میرسد. در سادهترین حالت، یک قالب فرزند فقط به دو فایل نیاز دارد: style.css و functions.php.
- فایل
style.cssباید در هدر خود شامل اطلاعاتی باشد که به وردپرس اعلام میکند این یک قالب فرزند است و والد آن کدام قالب است. تمام کدهای CSS سفارشی شما در این فایل قرار میگیرند. - فایل
functions.phpبرای اضافه کردن توابع و کدهای PHP سفارشی به کار میرود. اولین کاری که در این فایل انجام میشود، فراخوانی و بارگذاری فایل استایل قالب والد است تا ظاهر اولیه سایت به درستی نمایش داده شود.
هر زمان که بخواهید فایلی از قالب والد (مثلا header.php یا single.php) را ویرایش کنید، کافی است یک کپی از آن را در پوشه قالب فرزند خود قرار دهید و سپس تغییرات را روی آن اعمال کنید. وردپرس به طور خودکار نسخه موجود در قالب فرزند را بر نسخه والد ارجحیت میدهد.
کارایی پوسته فرزند
اگر تغییرات شما روی فایلهای پوستهی فرزند محدود به چند فایل و مقدار کمی کد باشد، تفاوت معناداری بین عملکرد و حجم سایت رخ نمیدهد ولی در شرایطی که تغییرات شما روی پوستهی فرزند حجیم و زیاد باشد، وردپرس ناچار است تمام این تغییرات را به علاوهی کدهای قالب اصلی بارگزاری کند. این کار میزان پردازش و حجم سایت را بالا میبرد.
در سایتهایی که بازدیدکنندگان زیادی دارند، انجام تغییرات عمده روی قالب با این روش ممکن است روش خوبی نباشد و بهتر است یک قالب اختصاصی یا قالبی که تغییرات کمتری نیاز دارد را برای این سایت در نظر بگیرید.
محدودیتهای پوستهی فرزند
هرچند در بسیاری از موارد، پوستهی فرزند به خوبی میتواند نیازهای سفارشیسازی شما را پوشش بدهد، ولی مواردی هم هم هست که برخی تغییرات به دلیل تداخل با عملکردهای پوستهی اصلی قابلیت انجام ندارند یا مشکل هستند. در این موارد هم اگر تغییرات مهم و بنیادین هستند، میبایست یک روش خلاقانه یا تغییر قالب را برای دستیابی به نتیجه، امتحان کنید.
