تصور کنید روزها وقت گذاشته اید و فونت قالب سایت خود را تغییر داده اید، استایل دکمه ها را در فایل style.css سفارشی کرده اید و چند قطعه کد کاربردی برای بهینه سازی ووکامرس به فایل functions.php اضافه کرده اید. همه چیز عالی کار می کند تا اینکه یک نسخه جدید برای قالب شما منتشر می شود به محض اینکه دکمه به روزرسانی قالب را می زنید، تمام تغییرات، کدها و استایل های سفارشی شما برای همیشه پاک می شوند و قالب به حالت کارخانه برمی گردد!
برای جلوگیری از این اتفاق تلخ، وردپرس قابلیتی استاندارد و هوشمندانه به نام قالب فرزند وردپرس یا Child Theme را ارائه کرده است. در این مقاله جامع، به زبان ساده بررسی می کنیم که قالب فرزند وردپرس چیست، چگونه کار می کند، چه مزایا و معایبی دارد و چطور می توانید در کمتر از ۵ دقیقه یک پوسته فرزند برای سایت خود بسازید.
قالب فرزند وردپرس (که به آن پوسته فرزند یا چایلد تم نیز می گویند) یک زیرپوسته وابسته به قالب اصلی سایت شماست که تمام ویژگی ها، طراحی ظاهری، کدها و امکانات قالب والد یا مادر را به ارث می برد اما به شما اجازه می دهد هرگونه تغییر در استایل ها (CSS)، توابع (PHP) یا ساختار صفحات را بدون دست زدن به فایل های قالب اصلی اعمال کنید.
وقتی شما قالب را آپدیت می کنید، فقط فایل های پوشه قالب مادر جایگزین می شوند و پوشه قالب فرزند که حاوی کدهای اختصاصی شماست کاملاً دست نخورده باقی می ماند.

برای درک نحوه کارکرد پوسته فرزند، فرض کنید روی سایت خود قالب فروشگاهی وودمارت را نصب کرده اید و در کنار آن، قالب فرزند را نیز فعال کرده اید. هنگامی که کاربری وارد سایت شما می شود، هسته وردپرس به ترتیب زیر عمل می کند:
جدول زیر تفاوت دقیق میان پوسته والد و پوسته فرزند در وردپرس را نشان می دهد:
نکته فنی: در حالت استفاده از چایلد تم، قالب مادر باید نصب و چایلد تم فعال باشد. همچنین فایل
functions.phpبرای همه چایلد تم ها الزامی نیست یک چایلد تم ساده می تواند فقط با فایلstyle.cssساخته شود.
| ویژگی | قالب اصلی / مادر (Parent Theme) | قالب فرزند / چایلد تم (Child Theme) |
|---|---|---|
| وابستگی برای اجرا | کاملا مستقل و شامل تمام فایل های هسته قالب | وابسته به حضور قالب مادر در هاست (بدون قالب مادر کار نمی کند) |
| حجم و تعداد فایل ها | حجیم (شامل صدها فایل PHP، CSS، JS و تصاویر) | بسیار سبک (در حالت پایه فقط شامل ۲ فایل style.css و functions.php) |
| سرنوشت تغییرات پس از آپدیت | تمام تغییرات دستی کدها پس از آپدیت قالب پاک می شوند | تمام کدها و استایل های سفارشی پس از آپدیت قالب مادر حفظ می شوند |
| کدام یک باید در پیشخوان فعال باشد؟ | باید در هاست نصب باشد (اما در حالت غیرفعال) | باید از بخش نمایش -> پوسته ها روی حالت فعال قرار بگیرد |
استفاده از چایلد تم در پروژه های حرفه ای وردپرس یک استاندارد طلایی محسوب می شود، اما مانند هر ابزاری مزایا و محدودیت های خاص خود را دارد:
همه سایت های وردپرسی لزوماً به فعال کردن چایلد تم نیاز ندارند:

نکته بسیار خوبی که برای خریداران قالب های اورجینال از مارکت راست چین وجود دارد این است که در بسته دانلودی اکثر قالب های استاندارد راست چین، یک فایل آماده به نام child-theme.zip در کنار قالب اصلی قرار داده شده است که کافی است آن را از بخش پوسته ها نصب و فعال کنید!
اما اگر قالب شما چایلد تم آماده ندارد، می توانید با یکی از دو روش زیر آن را بسازید:
برای ساخت چایلد تم بدون نصب افزونه اضافی، ابتدا وارد کنترل پنل هاست خود (سی پنل یا دایرکت ادمین) شوید. البته پیش از ایجاد تغییر در فایلهای وردپرس، بهتر است یک نسخه پشتیبان از سایت تهیه کنید تا در صورت بروز مشکل، امکان بازیابی اطلاعات وجود داشته باشد. اگر با مراحل انجام این کار آشنایی ندارید، پیشنهاد میکنیم مقاله آموزش بکاپ گیری کامل در سی پنل را مطالعه کنید. سپس برای ساخت قالب فرزند، مراحل زیر را انجام دهید.
گام ۱: ساخت پوشه قالب فرزند در هاست
وارد بخش File Manager هاست شوید و به مسیر public_html/wp-content/themes بروید. در این قسمت، نام پوشه قالب اصلی خود را ببینید (فرض کنید نام پوشه قالب اصلی شما astra است). حالا یک پوشه جدید با نام astra-child بسازید.
گام ۲: ساخت فایل style.css در پوشه قالب فرزند
وارد پوشه astra-child شوید، یک فایل جدید به نام style.css بسازید، روی آن راست کلیک کرده و گزینه Edit را بزنید و کد زیر را داخل آن قرار دهید:
/*
Theme Name: Astra Child
Theme URI: https://example.com/
Description: پوسته فرزند برای قالب آسترا
Author: نام شما
Template: astra
Version: 1.0.0
Text Domain: astra-child
*/
/* کدهای CSS سفارشی خود را زیر این خط بنویسید */
⚠️ مهم ترین خط در کد بالا: مقدار جلوی Template: باید دقیقاً و حرف به حرف (با رعایت حروف کوچک و بزرگ) هم نام پوشه قالب اصلی شما در هاست باشد.
گام ۳: ساخت فایل functions.php برای فراخوانی استایل ها
در همان پوشه astra-child، یک فایل دیگر به نام functions.php بسازید و قطعه کد استاندارد زیر را در آن قرار دهید تا استایل های قالب مادر و فرزند به درستی بارگذاری شوند:
<?php
add_action( ‘wp_enqueue_scripts’, ‘my_theme_enqueue_styles’ );
function my_theme_enqueue_styles() {
$parenthandle = ‘parent-style’;
$theme = wp_get_theme();
wp_enqueue_style( $parenthandle,
get_template_directory_uri() . ‘/style.css’,
array(),
$theme->parent()->get( ‘Version’ )
);
wp_enqueue_style( ‘child-style’,
get_stylesheet_uri(),
array( $parenthandle ),
$theme->get( ‘Version’ )
);
}
گام ۴: فعال سازی قالب فرزند در پیشخوان وردپرس
حالا وارد پیشخوان وردپرس شوید و به مسیر نمایش –> پوسته ها بروید. خواهید دید که قالب فرزند جدید شما به فهرست پوسته ها اضافه شده است روی دکمه فعال سازی کلیک کنید.
اگر تمایلی به ورود به هاست و ساخت دستی فایل ها ندارید، می توانید از افزونه های رایگان ساخت چایلد تم استفاده کنید:
زمانی که از قالب فرزند برای سفارشی سازی کدهای PHP و استایل های سایت استفاده میکنید، حتی یک خطای کوچک در فایل functions.php ممکن است عملکرد سایت را مختل کند. به همین دلیل، علاوه بر انتخاب هاست پایدار و دسترسی آسان به File Manager، تهیه نسخه پشتیبان منظم اهمیت زیادی دارد. برای آشنایی با روشهای محافظت از اطلاعات سایت، میتوانید مقاله بکاپ منظم از سایت وردپرسی را مطالعه کنید.
استفاده از یک سرویس میزبانی مناسب، مدیریت فایلهای قالب و بازیابی اطلاعات سایت را آسان تر میکند. سرویس هاست وردپرس راست چین کلود با بهرهمندی از درایوهای NVMe، وبسرور LiteSpeed، بکاپگیری منظم و پشتیبانی تخصصی وردپرس، زیرساخت مناسبی برای میزبانی سایتهای وردپرسی فراهم میکند. با استفاده از این امکانات، مدیریت تغییرات قالب فرزند و رسیدگی به مشکلات احتمالی سایت سادهتر خواهد بود.
و در پایان
پاسخ به سوال قالب فرزند وردپرس چیست؟ را می توان در یک جمله خلاصه کرد: تضمین تغییرات سفارشی سایت شما در برابر آپدیت ها! اگر قصد دارید کوچک ترین تغییری در فایل های کدنویسی قالب وردپرسی خود ایجاد کنید، هرگز فایل های قالب اصلی را مستقیماً دستکاری نکنید. با فعال کردن پوسته فرزند، هم از مزایای امنیتی و امکانات جدیدِ آپدیت های قالب مادر بهره مند می شوید و هم کدهای اختصاصی خود را برای همیشه حفظ می کنید.
۱. اگر قالب فرزند را فعال کنیم، می توانیم قالب اصلی (مادر) را از هاست پاک کنیم؟
خیر، به هیچ وجه! قالب فرزند به تنهایی فقط حاوی چند فایل سفارشی است و تمام هسته و فایل های اصلی سایت را از پوشه قالب مادر می خواند. اگر قالب مادر را از بخش پوسته ها حذف کنید، قالب فرزند از کار می افتد و سایت بالا نمی آید. قالب مادر باید در هاست نصب اما غیرفعال باشد و قالب فرزند نصب و فعال گردد.
۲. آیا استفاده از قالب فرزند باعث کاهش سرعت سایت وردپرسی می شود؟
تاثیر قالب فرزند بر سرعت بارگذاری سایت تقریباً صفر و غیرقابل محسوس است (در حد چند میلی ثانیه برای خواندن فایل استایل فرزند). در عوض، به دلیل اینکه نیازی به نصب افزونه های سنگین برای اعمال تغییرات جزئی در سایت نخواهید داشت، در عمل به بهینه تر ماندن سایت کمک می کند.
۳. بعد از ساخت و فعال سازی قالب فرزند، کدام قالب را باید آپدیت کنیم؟
شما همیشه فقط قالب اصلی را آپدیت می کنید. قالب فرزند کدهای اختصاصی خودِ شماست و نیازی به آپدیت از طرف سازنده ندارد به محض اینکه قالب مادر را به روزرسانی کنید، تمام ویژگی های نسخه جدید به صورت خودکار به قالب فرزند شما نیز منتقل می شوند.
۴. چرا بعد از فعال کردن قالب فرزند، تنظیمات منوها و ابزارک های سایتم به هم ریخت؟
از نظر وردپرس، قالب فرزند یک پوسته جدید محسوب می شود اگر قبلاً روی قالب اصلی منوها و سفارشی ساز را تنظیم کرده باشید، پس از فعال سازی چایلد تم کافی است یک بار به بخش نمایش –> فهرست ها بروید و تیک جایگاه منوی اصلی را دوباره بزنید (یا پیش از تغییر، از افزونه رایگان Customizer Export/Import برای انتقال تنظیمات سفارشی ساز از قالب مادر به فرزند استفاده کنید).
۵. چطور یک فایل PHP (مثلاً footer.php) را در قالب فرزند ویرایش کنیم؟
هرگز کل فایل های قالب مادر را داخل پوشه قالب فرزند کپی نکنید! فقط همان تک فایلی را که قصد ویرایش آن را دارید (مثلاً footer.php یا header.php) از پوشه قالب اصلی در File Manager هاست کپی کرده و با همان نام و مسیر در پوشه قالب فرزند جای گذاری کنید و تغییرات خود را روی نسخه داخل پوشه فرزند انجام دهید.