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

پاسخ کوتاه: ساخت چایلد تم وردپرس به شما کمک میکند تا تغییرات قالب را برای همیشه حفظ کنید. این راهنمای گام به گام را بخوانید و پوسته فرزند خود را بسازید.
تصور کنید ساعتها وقت صرف کردهاید، فونت سایت را تغییر دادهاید، چند بخش جدید به کدهای قالب اضافه کردهاید و ظاهر سایت دقیقا همان چیزی شده که میخواستید. اما صبح روز بعد با زدن دکمه به روز رسانی قالب، تمام زحمات شما در یک ثانیه ناپدید میشود! این سناریوی تلخ برای بسیاری از وبمسترها پیش آمده است. اگر میخواهید با خیال راحت ظاهر و عملکردهای سایت را سفارشی سازی کنید، ساخت چایلد تم وردپرس تنها راه حل استاندارد و مطمئن شماست. با ساخت پوسته فرزند، تغییرات شما در برابر هر آپدیتی ضد ضربه میشوند.
کلیدنکات ساخت چایلد تم وردپرس در یک نگاه
در این راهنما، با هم یاد میگیریم که چطور یک چایلد تم حرفهای بسازیم. این کار بسیار ساده است. ما تمام مراحل را به دو روش دستی و با افزونه، به همراه رفع خطاهای احتمالی به شما آموزش میدهیم تا بتوانید با اطمینان کامل وب سایت خود را توسعه دهید.
ساخت چایلد تم وردپرس
مراحل اصلی کار در یک نگاه
چیستی چایلد تم و مکانیزم عملکرد پوسته فرزند در وردپرس
چایلد تم یا پوسته فرزند در وردپرس، یک پوسته مجزا است که تمامی امکانات، طراحی و کدهای یک پوسته دیگر به نام قالب والد (Parent Theme) را به ارث میبرد. وقتی کاربری وارد سایت شما میشود، سیستم مدیریت محتوای وردپرس ابتدا پوشه چایلد تم را بررسی میکند. اگر فایلی در آنجا وجود داشته باشد، آن را اجرا میکند و در غیر این صورت، به سراغ فایلهای قالب اصلی میرود. این معماری به شما اجازه میدهد بدون تغییر در کدهای هسته پوسته اصلی، بخشهای دلخواه را ویرایش کنید.
این سیستم دقیقا مانند یک لایه محافظ عمل میکند. تغییرات شما در لایه بالایی قرار میگیرند. بنابراین هسته اصلی قالب شما دست نخورده و سالم باقی میماند.
تفاوت ساختاری قالب والد و فرزند
قالب والد تمام کدهای پایه، فایلهای استایل، توابع و الگوهای صفحات را در خود دارد. در مقابل، پوسته فرزند یک ساختار بسیار سبک است. این پوسته برای کار کردن فقط به دو فایل پایه یعنی style.css و functions.php نیاز دارد. چایلد تم بدون وجود قالب والد نمیتواند کار کند. رابطه این دو درست مانند رابطه والد و فرزندی در دنیای واقعی است که ویژگیها منتقل میشوند. اما فرزند هویت و استقلال خود را حفظ میکند.
پایداری تغییرات کدنویسی در زمان به روز رسانی قالب
توسعه دهندگان قالبها مرتبا آپدیتهای جدیدی برای رفع باگها، بهبود امنیت و اضافه کردن قابلیتهای تازه ارائه میدهند. هنگام به روز رسانی، وردپرس تمام فایلهای پوشه قالب را پاک کرده و نسخه جدید را جایگزین میکند. وقتی تغییرات را در چایلد تم ذخیره کرده باشید، پوشه پوسته فرزند دست نخورده باقی میماند و آپدیت فقط روی پوشه والد اعمال میشود. به این ترتیب پایداری تغییرات کدنویسی در زمان به روز رسانی قالب تضمین میشود.
مزایا، معایب و موارد الزامی استفاده از پوسته فرزند
استفاده از چایلد تم راهکاری استاندارد برای شخصی سازی سایت است که امنیت و انعطاف پذیری فوق العادهای به شما میدهد. مهمترین مزیت آن، امکان آزمایش کدهای جدید بدون ریسک از کار افتادن کل سایت است. با این حال اگر تنها هدفتان تغییر چند رنگ ساده است، شاید ساخت چایلد تم ضروری نباشد و بخش CSS اضافی در سفارشی ساز وردپرس کارتان را راه بیندازد.
| روش سفارشی سازی | حفظ کد با آپدیت | امکان تغییر PHP | پیچیدگی اجرا |
|---|---|---|---|
| ویرایش مستقیم قالب | خیر | بله | بسیار آسان |
| بخش CSS اضافی | بله | خیر | بسیار آسان |
| ساخت دستی چایلد تم | بله | بله | متوسط |
| استفاده از افزونه | بله | بله | آسان |
چه زمانی استفاده از چایلد تم ضروری است؟
آیا قصد دارید فایلهای قالبی مانند single.php یا header.php را دستکاری کنید؟ آیا میخواهید توابع جدید و هوکهای اختصاصی به سایت اضافه کنید؟ در این سناریوها ساخت پوسته فرزند کاملا ضروری است. اگر دست به کدهای قالب والد بزنید، با اولین آپدیت همه کدهای شما حذف میشوند. پس هر زمان که تغییرات شما فراتر از ۵ خط استایل ساده رفت، بلافاصله یک چایلد تم بسازید.
تاثیر پوسته فرزند بر سرعت بارگذاری سایت
شاید بپرسید آیا ساخت و استفاده از چایلد تم باعث کندی سرعت سایت میشود؟ پاسخ کوتاه: خیر. پردازش یک فایل استایل اضافه یا چند تابع کوچک، کسری از میلی ثانیه زمان میبرد. اگر کدهای خود را تمیز بنویسید و شیوه نامه والد را به روش صحیح لود کنید، چایلد تم هیچ افت سرعتی در سایت ایجاد نمیکند. سرعت بارگذاری تغییر محسوسی نخواهد داشت.
آموزش گام به گام ساخت دستی چایلد تم از طریقهاست
ساخت چایلد تم وردپرس به شیوه دستی یکی از تمیزترین و سبکترین راهها برای توسعه سایت است. در این روش شما کنترل کاملی روی تک تک فایلها دارید و هیچ افزونه اضافی روی وردپرس نصب نمیکنید. شما میتوانید از طریق کنترل پنلهاست خود مانند cPanel، DirectAdmin یا حتی نرم افزارهای FTP این فرایند را در چند دقیقه انجام دهید. در این بخش مراحل ایجاد پوشه اختصاصی، ساخت فایل شیوهنامه و معرفی قالب والد را به شکل قدم به قدم بررسی میکنیم.
برای این کار کافی است مراحل زیر را با دقت دنبال کنید.
ایجاد پوشه اختصاصی و تصویر screenshot.png در cPanel
ابتدا وارد فایل منیجرهاست خود شوید و به مسیر public_html/wp-content/themes بروید. در این بخش تمام قالبهای نصب شده روی سایت خود را میبینید. حالا یک پوشه جدید بسازید. نام پوشه را ترجیحا ترکیبی از نام قالب والد و پسوند child قرار دهید؛ مثلا اگر قالب شما astra است، نام پوشه را astra-child بگذارید.
برای زیباتر شدن پیشخوان وردپرس، میتوانید یک تصویر دلخواه با فرمت PNG و ابعاد ۱۲۰۰ در ۹۰۰ پیکسل بسازید و آن را با نام screenshot.png داخل همین پوشه آپلود کنید. این تصویر به عنوان تصویر بندانگشتی پوسته در پیشخوان نمایش داده میشود.
تنظیم دقیق فایل style.css و ساختار سربرگ توضیحات
داخل پوشه جدید، یک فایل با نام style.css ایجاد کنید. این فایل قلب شناسه پوسته شماست. فایل را ویرایش کنید و کدهای زیر را دقیقا در ابتدای آن قرار دهید:
/*
Theme Name: Astra Child
Theme URI: https://example.com
Description: چایلد تم اختصاصی قالب آسترا
Author: نام شما
Author URI: https://example.com
Template: astra
Version: 1.0.0
Text Domain: astra-child
*/
Template است. این خط باید دقیقا با نام پوشه قالب والد (حساس به حروف کوچک و بزرگ) مطابقت داشته باشد. اگر نام پوشه قالب اصلی astra است، در این خط باید دقیقا عبارت astra را بنویسید. هرگونه غلط املایی باعث میشود وردپرس قالب اصلی را پیدا نکند.استانداردسازی فراخوانی استایلها با فایل functions.php
برای اینکه استایلها و ظاهر قالب والد به درستی در پوسته فرزند نمایش داده شوند، باید فایلهای CSS را به شکل اصولی به وردپرس معرفی کنیم. در گذشته برخی کاربران از دستور @import در فایل style.css استفاده میکردند که سرعت لود سایت را به شدت کاهش میداد. روش استاندارد در حال حاضر، استفاده از توابع اختصاصی وردپرس در فایل functions.php است تا استایلها به ترتیب و بدون اختلال اجرا شوند.
این فایل منطق برنامه نویسی پوسته شما را مدیریت میکند.
اتصال شیوه نامه والد با هوک wp_enqueue_scripts
در همان پوشه چایلد تم، یک فایل با نام functions.php بسازید. فایل را باز کنید و کدهای زیر را درون آن قرار دهید:
<?php
function my_theme_enqueue_styles() {
wp_enqueue_style( 'parent-style', get_template_directory_uri() . '/style.css' );
wp_enqueue_style( 'child-style', get_stylesheet_uri(), array( 'parent-style' ) );
}
add_action( 'wp_enqueue_scripts', 'my_theme_enqueue_styles' );
در این کد، تابع get_template_directory_uri آدرس پوشه قالب والد را برمی گرداند و استایل اصلی را لود میکند. سپس با تابع دوم، استایل چایلد تم فراخوانی میشود و با تنظیم وابستگی، مطمئن میشویم که استایلهای فرزند بعد از استایل والد اجرا میشوند تا بتوانند کدهای قبلی را بازنویسی کنند.
راهکار رفع مشکل عدم لود استایلهای قالب مادر
گاهی بعد از فعال سازی چایلد تم میبینید ظاهر سایت به هم ریخته است. علت اصلی این مشکل، عدم هماهنگی شناسهها در فراخوانی استایل است. برخی قالبهای مدرن استایلهای خود را با چندین فایل مختلف یا شناسههای اختصاصی لود میکنند. اگر با این مشکل مواجه شدید، به مستندات رسمی سازنده قالب مراجعه کنید یا از کدهای نمونهای که در سایت سازنده پوسته ارائه شده برای فایل functions.php استفاده کنید.
?> را در انتهای فایل functions.php نگذارید تا از ایجاد خطاهای ناشی از فاصله خالی جلوگیری شود.راه اندازی سریع پوسته فرزند با افزونه Child Theme Configurator
اگر باهاست و کدنویسی میانه خوبی ندارید، میتوانید تمام این کارها را با چند کلیک و به کمک یک افزونه رایگان انجام دهید. افزونه Child Theme Configurator یکی از محبوبترین ابزارها برای ساخت خودکار و اصولی پوسته فرزند در وردپرس است. این افزونه ساختار قالب اصلی شما را آنالیز میکند و تمامی فایلهای مورد نیاز را به صورت خودکار و بدون نیاز به دستکاری فایلهای سرور میسازد.
کار با این ابزار بسیار سریع و لذت بخش است.
مراحل نصب و تولید خودکار فایلهای پوسته
برای شروع به منوی افزونهها و افزودن در پیشخوان وردپرس بروید. عبارت Child Theme Configurator را جستجو و افزونه را نصب و فعال کنید. سپس از منوی ابزارها گزینه Child Themes را انتخاب کنید.
در این صفحه مراحل زیر را انجام دهید:
- انتخاب عملیات: گزینه Create a new Child Theme را انتخاب کنید.
- انتخاب قالب والد: قالب اصلی سایت خود را از لیست کشویی برگزینید.
- آنالیز قالب: دکمه Analyze را بزنید تا افزونه سازگاری قالب را بررسی کند.
- ایجاد پوسته: روی دکمه Create New Child Theme در پایین صفحه کلیک کنید.
بعد از اتمام، پیامی سبز رنگ مبنی بر موفقیت آمیز بودن ساخت پوسته روی صفحه میبینید. حالا میتوانید به بخش نمایش و پوستهها بروید و چایلد تم ساخته شده را فعال کنید.
انتقال تنظیمات سفارشی ساز (Customizer Data) به چایلد تم
یکی از دغدغههای بزرگ کاربران این است که با فعال کردن چایلد تم، تنظیمات رنگها، چیدمانها و فونتهایی که در بخش سفارشی ساز قالب اصلی انجام داده بودند ناپدید میشود. خوشبختانه افزونه Child Theme Configurator این مشکل را حل کرده است. هنگام ساخت پوسته، کافی است تیک گزینه Copy Menus, Widgets and other Customizer Settings را بزنید. افزونه تمام دادههای سفارشی ساز را به پوسته فرزند منتقل میکند تا ظاهر سایت هیچ تغییری نکند.

سفارشی سازی پیشرفته و بازنویسی فایلهای قالب والد
قدرت واقعی چایلد تم زمانی نمایان میشود که بخواهید فراتر از استایلها رفته و کدهای ساختاری سایت را ویرایش کنید. وردپرس از یک سیستم اولویت بندی به نام سلسله مراتب قالبها (Template Hierarchy) استفاده میکند. با شناخت این سازوکار، میتوانید هر صفحه یا بخشی از قالب والد را بدون دست زدن به فایل اصلی تغییر دهید و کدهای PHP خودتان را پیاده سازی کنید.
شما کنترل همه فایلهای ساختاری را در دست میگیرید.
کاربرد سلسله مراتب قالبهای وردپرس (Template Hierarchy)
وقتی کاربری میخواهد یک نوشته وبلاگ را ببیند، وردپرس ابتدا به دنبال فایل single.php در پوشه چایلد تم میشود. اگر این فایل در چایلد تم وجود داشته باشد، همان فایل اجرا میشود و وردپرس اصلا به سراغ فایل قالب والد نمیرود. اگر فایل در چایلد تم نباشد، فایل single.php موجود در قالب والد لود میشود. این منطق ساده به شما قدرت میدهد تا هر فایلی را بازنویسی (Override) کنید.
شیوه ویرایش و بازنویسی فایلهای PHP و CSS
برای ویرایش فایلهای قالبی مانند header.php یا footer.php، کافی است یک کپی از آن فایل را از پوشه قالب والد بردارید و دقیقا با همان نام در پوشه چایلد تم قرار دهید. سپس تغییرات دلخواه را در فایل موجود در پوشه چایلد تم ذخیره کنید.
هشدار: این قانون بازنویسی شامل فایل functions.php نمیشود! کدهای موجود در functions.php چایلد تم به جای جایگزینی، درست پیش از کدهای functions.php قالب والد بارگذاری و اجرا میشوند. پس هرگز کل محتوای فایل توابع قالب والد را در چایلد تم کپی نکنید.
راست چین سازی (RTL) و بومی سازی چایلد تم برای وب فارسی
بسیاری از قالبهای خارجی در چیدمان راست به چپ (RTL) یا نمایش متون فارسی دچار مشکل میشوند. یکی از بهترین کاربردهای چایلد تم، راست چین سازی دقیق المانها و افزودن فونتهای زیبای فارسی است بدون اینکه با آپدیتهای قالب خارجی از بین بروند. شما میتوانید تمام بهینه سازیهای بومی را در لایه فرزند مدیریت کنید.
این تغییرات ظاهر سایت فارسی شما را دگرگون میکند.
افزودن فونتهای سفارشی فارسی به پوسته فرزند
برای اضافه کردن فونت فارسی، ابتدا یک پوشه با نام fonts درون پوشه چایلد تم بسازید و فایلهای فونت (مثل فرمتهای woff2 و woff) را در آن قرار دهید. سپس در انتهای فایل style.css چایلد تم، دستورات font-face را تعریف کنید:
@font-face {
font-family: 'Vazirmatn';
src: url('fonts/Vazirmatn-Regular.woff2') format('woff2');
font-weight: normal;
font-style: normal;
}
body, h1, h2, h3, p {
font-family: 'Vazirmatn', sans-serif !important;
}
تنظیم فایل rtl.css جهت اصلاح چیدمان راست به چپ
اگر زبان وردپرس شما روی فارسی تنظیم باشد، سیستم به طور خودکار فایلی با نام rtl.css را جستجو میکند. شما میتوانید این فایل را در پوشه چایلد تم خود بسازید. تمام کدهایی که برای اصلاح جهت متون، فاصله حاشیهها (مارجین و پدینگ) و شناوری المانها نیاز دارید را داخل این فایل بنویسید تا فقط روی نسخه فارسی سایت اعمال شوند.
مدیریت قالبهای بلوکی نوین (FSE) و عیب یابی خطاهای چایلد تم
با ورود قابلیت ویرایش کامل سایت (Full Site Editing) به هسته وردپرس، ساختار قالبها دستخوش تغییرات بزرگی شده است. در قالبهای بلوکی نوین، تنظیمات اصلی و الگوها از طریق یک فایل پیکربندی به نام theme.json و پوشههای تمپلیت مدیریت میشوند. چایلد تمها در این ساختار نوین نیز نقشی کلیدی ایفا میکنند و میتوانند تنظیمات استایل قالبهای بلوکی را به راحتی گسترش دهند.
یادگیری این بخش شما را آماده کار با نسل جدید وب میکند.
پیکربندی فایل theme.json در پوستههای ویرایش کامل سایت
در قالبهای FSE، میتوانید یک فایل با نام theme.json در پوشه چایلد تم ایجاد کنید. وردپرس به صورت هوشمندانه تنظیمات موجود در theme.json چایلد تم را با تنظیمات همین فایل در قالب والد ادغام (Merge) میکند. این یعنی شما میتوانید پالتهای رنگی جدید، اندازه فونتهای اختصاصی یا تنظیمات فاصله گذاری را بدون حذف تنظیمات قبلی والد اضافه کنید.
جلوگیری از شکستن سایت هنگام آپدیت سنگین قالب اصلی
وقتی سازنده قالب یک آپدیت بزرگ (Major Update) ارائه میدهد، ممکن است ساختار فایلهای PHP را به کلی تغییر داده باشد. اگر شما در چایلد تم خود فایلی مثل header.php را بازنویسی کرده باشید، ممکن است با نسخه جدید قالب والد ناسازگار شود و ارور بدهد. برای پیشگیری از این مشکل:
- همیشه قبل از آپدیت سنگین از سایت بکاپ بگیرید.
- لیست تغییرات (Changelog) نسخه جدید قالب را مطالعه کنید.
- فایلهای بازنویسی شده در چایلد تم را با نسخه جدید مقایسه و به روز کنید.
اگر جواب نداد چه کنیم؟ (رفع خطاهای رایج)
اگر بعد از فعال سازی چایلد تم مشکلی پیش آمد، موارد زیر را بررسی کنید:
۱. خطای صفحه سفید یا Fatal Error: معمولا به خاطر وجود کدهای تکراری در فایل functions.php یا اشتباه در سینتکس PHP رخ میدهد. واردهاست شوید، نام پوشه چایلد تم را موقتا تغییر دهید تا پوسته غیرفعال شود و کدهای فایل توابع را بازبینی کنید.
۲. خطای The parent theme is missing: این خطا یعنی خط Template: در فایل style.css درست پر نشده است. نام پوشه قالب اصلی را درهاست بررسی کنید و مطمئن شوید عینا و با رعایت بزرگی و کوچکی حروف در این خط نوشته شده باشد.
۳. لود نشدن کدهای CSS جدید: کش مرورگر یا افزونه کش وردپرس مانع دیدن تغییرات میشود. کش سایت را به طور کامل پاک کنید یا با تب ناشناس مرورگر (Incognito) سایت را ببینید.
نتیجه گیری
ساخت چایلد تم وردپرس بهترین و حرفهایترین راهکاری است که خیالتان را از بابت حفظ شخصی سازیها و امنیت سایت راحت میکند. چه از روش دستی با ساخت فایلهای style.css و functions.php استفاده کنید و چه از افزونه Child Theme Configurator کمک بگیرید، نتیجه نهایی یک سایت پایدار، ماژولار و آماده توسعه خواهد بود. همین امروز برای قالب خود یک پوسته فرزند بسازید تا هرگز نگران به روز رسانیهای وردپرس نباشید.
منابع
- https://example.com