قالب فرزند وردپرس چیست؟ راهنمای کامل چایلد تم (Child Theme) و آموزش ساخت آن

قالب فرزند وردپرس چیست؟ راهنمای کامل چایلد تم (Child Theme) و آموزش ساخت آن

تصور کنید روزها وقت گذاشته اید و فونت قالب سایت خود را تغییر داده اید، استایل دکمه ها را در فایل style.css سفارشی کرده اید و چند قطعه کد کاربردی برای بهینه سازی ووکامرس به فایل functions.php اضافه کرده اید. همه چیز عالی کار می کند تا اینکه یک نسخه جدید برای قالب شما منتشر می شود به محض اینکه دکمه به روزرسانی قالب را می زنید، تمام تغییرات، کدها و استایل های سفارشی شما برای همیشه پاک می شوند و قالب به حالت کارخانه برمی گردد!

0 7 آبان 1405

برای جلوگیری از این اتفاق تلخ، وردپرس قابلیتی استاندارد و هوشمندانه به نام قالب فرزند وردپرس یا Child Theme را ارائه کرده است. در این مقاله جامع، به زبان ساده بررسی می کنیم که قالب فرزند وردپرس چیست، چگونه کار می کند، چه مزایا و معایبی دارد و چطور می توانید در کمتر از ۵ دقیقه یک پوسته فرزند برای سایت خود بسازید.

قالب فرزند وردپرس (Child Theme) چیست؟

قالب فرزند وردپرس (که به آن پوسته فرزند یا چایلد تم نیز می گویند) یک زیرپوسته وابسته به قالب اصلی سایت شماست که تمام ویژگی ها، طراحی ظاهری، کدها و امکانات قالب والد یا مادر را به ارث می برد اما به شما اجازه می دهد هرگونه تغییر در استایل ها (CSS)، توابع (PHP) یا ساختار صفحات را بدون دست زدن به فایل های قالب اصلی اعمال کنید.

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

قالب فرزند وردپرس چیست و چه ارتباطی با قالب مادر دارد

چایلد تم وردپرس چگونه کار می کند؟

برای درک نحوه کارکرد پوسته فرزند، فرض کنید روی سایت خود قالب فروشگاهی وودمارت را نصب کرده اید و در کنار آن، قالب فرزند را نیز فعال کرده اید. هنگامی که کاربری وارد سایت شما می شود، هسته وردپرس به ترتیب زیر عمل می کند:

  1. بررسی پوشه قالب فرزند: وردپرس ابتدا به سراغ پوشه Child Theme می رود. اگر فایلی (مثلاً header.php یا استایل سفارشی در style.css) در پوشه قالب فرزند وجود داشته باشد، همان نسخه سفارشی شما را اجرا می کند.
  2. مراجعه به قالب مادر (در صورت نبودن فایل): برای تمام بخش های دیگری که شما آن ها را در قالب فرزند تغییر نداده اید، وردپرس به طور خودکار سراغ پوشه قالب اصلی می رود و فایل های اصلی را بارگذاری می کند.
  3. استثنای مهم درباره فایل functions.php: برخلاف سایر فایل های قالب که جایگزین نسخه مادر می شوند، فایل functions.php قالب فرزند جایگزین فایل مادر نمی شود بلکه درست قبل از فایل functions.php قالب اصلی بارگذاری و به آن اضافه می گردد.

مقایسه قالب اصلی (مادر) و قالب فرزند در یک نگاه

جدول زیر تفاوت دقیق میان پوسته والد و پوسته فرزند در وردپرس را نشان می دهد:

نکته فنی: در حالت استفاده از چایلد تم، قالب مادر باید نصب و چایلد تم فعال باشد. همچنین فایل functions.php برای همه چایلد تم ها الزامی نیست یک چایلد تم ساده می تواند فقط با فایل style.css ساخته شود.

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

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

استفاده از چایلد تم در پروژه های حرفه ای وردپرس یک استاندارد طلایی محسوب می شود، اما مانند هر ابزاری مزایا و محدودیت های خاص خود را دارد:

مهم ترین مزایای قالب فرزند وردپرس

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

معایب یا چالش های احتمالی چایلد تم

  • نیاز به آشنایی اولیه با ساختار فایل ها: برای ویرایش فایل های PHP در پوسته فرزند، باید با ساختار فایل های وردپرس آشنا باشید.
  • احتمال تغییر ساختار در آپدیت های بسیار بزرگ قالب مادر: اگر سازنده قالب مادر در یک آپدیت اساسی نام کلاس های CSS یا ساختار فایل header.php را به کلی بازنویسی کند، ممکن است نیاز باشد فایل کپی شده در قالب فرزند خود را نیز با نسخه جدید هماهنگ کنید.

چه زمانی به قالب فرزند نیاز داریم (و چه زمانی نیاز نداریم)؟

همه سایت های وردپرسی لزوماً به فعال کردن چایلد تم نیاز ندارند:

  • چه زمانی نیاز ندارید؟ اگر فقط می خواهید از پنل تنظیمات خودِ قالب رنگ ها و لوگو را عوض کنید، با صفحه ساز المنتور برگه طراحی کنید، یا نهایتاً ۲ تا ۳ خط کد کوچک CSS به بخش نمایش –> سفارشی سازی –> CSS اضافی اضافه نمایید، همان قالب اصلی برایتان کافی است.
  • چه زمانی قالب فرزند الزامی است؟ اگر قصد دارید به فایل functions.php کدهای PHP یا هوک های سفارشی ووکامرس اضافه کنید، فونت فارسی جدیدی را در کدهای قالب تعریف نمایید، فایل های ساختاری قالب (مانند single.php یا footer.php) را ویرایش کنید یا استایل های گسترده در فایل style.css و rtl.css بنویسید، حتماً باید از قالب فرزند استفاده کنید.

فعال سازی قالب فرزند در بخش پوسته های پیشخوان وردپرس

آموزش ساخت قالب فرزند در وردپرس (به ۲ روش دستی و افزونه)

نکته بسیار خوبی که برای خریداران قالب های اورجینال از مارکت راست چین وجود دارد این است که در بسته دانلودی اکثر قالب های استاندارد راست چین، یک فایل آماده به نام 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’ )

);

}

گام ۴: فعال سازی قالب فرزند در پیشخوان وردپرس

حالا وارد پیشخوان وردپرس شوید و به مسیر نمایش –> پوسته ها بروید. خواهید دید که قالب فرزند جدید شما به فهرست پوسته ها اضافه شده است روی دکمه فعال سازی کلیک کنید.

روش دوم: ساخت قالب فرزند با افزونه و بدون کدنویسی

اگر تمایلی به ورود به هاست و ساخت دستی فایل ها ندارید، می توانید از افزونه های رایگان ساخت چایلد تم استفاده کنید:

  1. از مسیر افزونه ها –> افزودن در پیشخوان وردپرس، افزونه رایگان Child Theme Configurator (یا افزونه WP Child Theme Generator) را جستجو، نصب و فعال کنید.
  2. از منوی ابزارها –> Child Themes وارد تنظیمات افزونه شوید.
  3. قالب اصلی سایت خود را از لیست انتخاب کرده و روی دکمه Analyze کلیک کنید.
  4. در پایان، گزینه Create New Child Theme را بزنید تا افزونه به طور خودکار پوشه و فایل های قالب فرزند را بسازد.
  5. پس از ساخته شدن قالب فرزند، دیگر به این افزونه نیازی ندارید و می توانید افزونه را حذف کنید تا سایت شما سبک بماند!

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

زمانی که از قالب فرزند برای سفارشی‌ سازی کدهای PHP و استایل‌ های سایت استفاده می‌کنید، حتی یک خطای کوچک در فایل functions.php ممکن است عملکرد سایت را مختل کند. به همین دلیل، علاوه بر انتخاب هاست پایدار و دسترسی آسان به File Manager، تهیه نسخه پشتیبان منظم اهمیت زیادی دارد. برای آشنایی با روش‌های محافظت از اطلاعات سایت، می‌توانید مقاله بکاپ منظم از سایت وردپرسی را مطالعه کنید.

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

و در پایان

پاسخ به سوال  قالب فرزند وردپرس چیست؟ را می توان در یک جمله خلاصه کرد: تضمین تغییرات سفارشی سایت شما در برابر آپدیت ها! اگر قصد دارید کوچک ترین تغییری در فایل های کدنویسی قالب وردپرسی خود ایجاد کنید، هرگز فایل های قالب اصلی را مستقیماً دستکاری نکنید. با فعال کردن پوسته فرزند، هم از مزایای امنیتی و امکانات جدیدِ آپدیت های قالب مادر بهره مند می شوید و هم کدهای اختصاصی خود را برای همیشه حفظ می کنید.

سوالات متداول

۱. اگر قالب فرزند را فعال کنیم، می توانیم قالب اصلی (مادر) را از هاست پاک کنیم؟

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

۲. آیا استفاده از قالب فرزند باعث کاهش سرعت سایت وردپرسی می شود؟

تاثیر قالب فرزند بر سرعت بارگذاری سایت تقریباً صفر و غیرقابل محسوس است (در حد چند میلی ثانیه برای خواندن فایل استایل فرزند). در عوض، به دلیل اینکه نیازی به نصب افزونه های سنگین برای اعمال تغییرات جزئی در سایت نخواهید داشت، در عمل به بهینه تر ماندن سایت کمک می کند.

۳. بعد از ساخت و فعال سازی قالب فرزند، کدام قالب را باید آپدیت کنیم؟

شما همیشه فقط قالب اصلی  را آپدیت می کنید. قالب فرزند کدهای اختصاصی خودِ شماست و نیازی به آپدیت از طرف سازنده ندارد به محض اینکه قالب مادر را به روزرسانی کنید، تمام ویژگی های نسخه جدید به صورت خودکار به قالب فرزند شما نیز منتقل می شوند.

۴. چرا بعد از فعال کردن قالب فرزند، تنظیمات منوها و ابزارک های سایتم به هم ریخت؟

از نظر وردپرس، قالب فرزند یک پوسته جدید محسوب می شود اگر قبلاً روی قالب اصلی منوها و سفارشی ساز را تنظیم کرده باشید، پس از فعال سازی چایلد تم کافی است یک بار به بخش نمایش –> فهرست ها بروید و تیک جایگاه منوی اصلی را دوباره بزنید (یا پیش از تغییر، از افزونه رایگان Customizer Export/Import برای انتقال تنظیمات سفارشی ساز از قالب مادر به فرزند استفاده کنید).

۵. چطور یک فایل PHP (مثلاً footer.php) را در قالب فرزند ویرایش کنیم؟

هرگز کل فایل های قالب مادر را داخل پوشه قالب فرزند کپی نکنید! فقط همان تک فایلی را که قصد ویرایش آن را دارید (مثلاً footer.php یا header.php) از پوشه قالب اصلی در File Manager هاست کپی کرده و با همان نام و مسیر در پوشه قالب فرزند جای گذاری کنید و تغییرات خود را روی نسخه داخل پوشه فرزند انجام دهید.

نظر شما چیست؟
سهیل دهقانی
سهیل دهقانی

کاوش در دنیای وب، از هاست و سرور تا وردپرس و امنیت. 🍀

شبکه های اجتماعی
به جواب سوالت رسیدی؟

ثبت دیدگاه ها

100days
×