آیا میخواهید با طراحی و عملکرد قالب وردپرس خود بازی کنید؛ اما میترسید که ممکن است تم اصلی شما را مختل کند؟ نگران نباشید! استفاده از پوسته فرزند وردپرس یک راه عالی برای اصلاح، تغییر و تست قالب خود بدون نگرانی در مورد خطرات احتمالی است. ازآنجاییکه پوستهٔ فرزند را تغییر میدهید، هیچگونه سفارشیسازی را هنگام بهروزرسانی قالب والد از دست نخواهید داد. اگر پس از انجام تغییرات با مشکلی مواجه شدید، همیشه میتوانید با حذف چایلد تم، به قالب اصلی بازگردید.
در اینجا نحوه ایجاد یک پوستهٔ فرزند و سفارشیسازی آن را به شما آموزش خواهیم داد.
پوستهٔ فرزند وردپرس چیست؟
چایلد تم (Child Theme)، همانطور که از نام آن پیداست، قالبی است که عملکردها را از یک قالب والد مشتق میکند. ویرایش قالب وردپرس میتواند کاری خطرناک باشد؛ زیرا هرگونه سفارشیسازی ممکن است قالب والد را تغییر دهد؛ بنابراین، پوستهٔ فرزند میتواند یک جایگزین بدون خطر برای اعمال تغییرات در قالب وردپرس شما باشند.
پوستههای فرزند وردپرس در یکپوشهٔ مجزا از تم والد قرار میگیرند و عملکرد آنها به تم والد بستگی دارد مگر اینکه اصلاح شوند. هنگام نصب آن در داشبورد وردپرس، متوجه خواهید شد که به تم والد متصل است. اگر از یک چایلد تم در وب سایت خود استفاده کنید، هسته وردپرس ابتدا فایلهای آن را بررسی میکند سپس در صورت عدم تغییر، فایلهای تم والد را اجرا میکند.
به یاد داشته باشید که یک پوستهٔ فرزند نمیتواند به طور مستقل عمل کند و باید در کنار تم والد نصب شود.
تفاوت بین قالب وردپرس والد و فرزند چیست؟
تم والد یک قالب کامل وردپرس است که شامل فایلهای قالب، استایلشیتها، CSS، فایلهای جاوا اسکریپت و سایر اجزای موردنیاز برای اجرای یک وبسایت وردپرس است و چایلد تم کارایی خود را از آن به ارث میبرد.
در اینجا یک جدول برای کمک به درک بهتر تفاوت بین این دو آمده است.
قالب والد | چایلد تم |
از ابتدا در خود وردپرس قرار دارد | بعداً توسعه مییابد |
مستقل از سایر قالبهاست | به تم والد وابسته است و عملکرد آن را به ارث میبرد |
شامل تمام فایلها و داراییها است | معمولاً فقط دو فایل دارد: style.css و functions.php |
داشتن آن الزامی است | برای سفارشیسازی بهترین است |
چه زمانی از پوستهٔ فرزند در وردپرس استفاده کنیم؟
میتوانید از چایلد تم زمانی استفاده کنید که:
- میخواهید تم یا استایل آن را بدون تغییر کد قالب والد سفارشیسازی کنید.
- میخواهید بدون هیچ ریسکی، ویژگیها یا سفارشیسازیهای جدید را آزمایش کنید.
- درحالتوسعهٔ یک قالب جدید هستید و ترجیح میدهید از یک قالب موجود برای شروع استفاده کنید.
- میخواهید یک قالب سفارشی برای یک مشتری یا پروژهٔ خاص ایجاد کرده و یک قالب موجود را بهعنوان نقطه شروع استفاده کنید.
پیشنیازهای لازم، قبل از ایجاد چالد تم
اولین و مهمترین کاری که باید قبل از ایجاد چایلد تم انجام دهید این است که از سایت خود یک نسخه ی پشتیبان تهیه کنید. در صورت بروز هرگونه مشکل، باید یک نسخه پشتیبان برای بازیابی سایت خود داشته باشید. راههای مختلفی برای ایجاد پشتیبان وجود دارد. بهعنوانمثال میتوانید از افزونههایی مانند Updraft استفاده کرده یا از پلتفرم هاستینگ خود یک نسخه پشتیبان تهیه کنید.
پیشنهاد دوم این است که یک محیط استیجینگ ایجاد کرده و تغییراتی را در آن اعمال کنید. پس از اتمام تغییرات، روی محیط لایو فشار دهید. ایجاد یک وب سایت استیجینگ وردپرس به شما این امکان را میدهد تا تغییرات خود را بدون تغییر وبسایت لایو خود آزمایش کنید.
نحوه ایجاد یک چالد تم به صورت دستی
ایجاد یک پوستهٔ فرزند در وردپرس فقط چند مرحله طول میکشد. برای درک کامل چالد تم، ما یک پوستهٔ فرزند از قالب پیشفرض Twenty Fifteen وردپرس ایجاد کرده و تغییراتی را روی آن اعمال میکنیم.
در اینجا برای ایجاد پوستهٔ وردپرس، 5 مرحله سادهٔ زیر را دنبال میکنیم:
- یک پوشه چایلد ایجاد کنید.
- یک استایلشیت برای آن ایجاد کنید.
- استایلشیتهای قالب والد و فرزند را به صف کنید.
- فایل style.css Child Theme را ویرایش کنید.
- یک فایل الگوی single.php را ویرایش کنید.
مرحله 1: یکپوشهٔ چایلد تم ایجاد کنید
ابتدا یک پوشه جداگانه ایجاد کنید تا تمام فایلهای لازم برای چایلد تم را در سیستم محلی خود قرار دهید. چرا در سیستم محلی؟ چون پس از تکمیل تمام فایلها، میتوانید پوشه را با استفاده از فناوری FTP (پروتکل انتقال فایل) در وبسایت خود آپلود کنید.
دوم، نام این پوشه جدید ایجاد شده را شبیه فایل والد آن گذاشته و کلمه “child” را به آخر آن اضافه کنید. بهعنوانمثال، اگر بخواهم یک چایلد تم برای Twenty Twenty-Two ایجاد کنیم، نام پوشه را Twenty-Twenty-Two-child میگذاریم. این نشان میدهد که این پوشه مربوط به پوستهٔ فرزند قالب Twenty Twenty-Two است.

مرحله 2: یک استایلشیت برای چایلد تم خود ایجاد کنید
در مرحله بعد، باید فایل “style.cs” را در پوشهٔ فرزند خود ایجاد کنید. فایل CSS حاوی تمام قوانین و اعلانهای استایلسازی برای پوستهٔ فرزند شما خواهد بود.
برای ایجاد فایل CSS، می توانید از یک ویرایشگر متن مانند Notepad یا هر ویرایشگر کدی مانند Sublime Text استفاده کنید.
برای اینکه استایلشیت شما بهدرستی کار کند، باید کدهای هدر را در بالای فایل CSS خود اضافه کنید. این کدها حاوی اطلاعات اولیه در مورد چایلد تم است، از جمله اینکه این یک چالد تم از یک قالب والد مشخص است.
مهمترین عناصر این کدها، نام و دایرکتوری قالب است که معمولاً در پوشه wp-content/theme قرار دارد.
Notepad را باز کنید، کد زیر را کپی و در فایل خود جایگذاری کرده و آن را با پسوند فایل css ذخیره کنید.
/*
Theme Name: Twenty Twenty Two Child
Theme URI: https://wordpress.org/themes/twentytwentytwo/
Author: the WordPress team
Author URI: https://wordpress.org/
Template: twentytwentytwo
Description: Child Theme of Twenty Twenty-Two
Version: 1.1
License: GNU General Public License v2 or later
License URI: http://www.gnu.org/licenses/gpl-2.0.html
Tags: black, blue, gray, pink, purple, white, yellow, dark, light, two-columns, left-sidebar, fixed-layout, responsive-layout, accessibility-ready, custom-background, custom-colors, custom-header, custom-menu, editor-style, featured-images, microformats, post-formats, rtl-language-support, sticky-post, threaded-comments, translation-ready
Text Domain: twentytwentytwo-child
This theme, like WordPress, is licensed under the GPL.
Use it to make something cool, have fun, and share what you’ve learned with others.
*/
حال، اگر به داشبورد مدیریت وردپرس ← Appearance ← Theme بروید، میبینیم که Twenty Fifteen Child ظاهر شده است. اکنون میتوانیم این قالب را در سایت خود اعمال کنیم.
ازآنجاییکه style.css در دایرکتوری چایلد تم وردپرس وجود دارد، وردپرس style.css آن را به جای قالب والد بارگیری میکند. البته فایلهای دیگر مانند index.php، page.php و functions.php از تم والد بارگیری میشود.
ازآنجاییکه ما هیچ استایلی در style.css چایلد تم نداریم، باید استایلها را وارد کنیم. بهترین روشی که در کدکس وردپرس توصیه میشود، به صف کردن استایلشیتها با استفاده از فایل functions.php است.
مرحله 3: استایلشیتهای قالب والد و فرزند را به صف کنید.
برخلاف سایر فایلها، تئوری پشت فایل functions.php در قالبهای فرزند وردپرس این است که وردپرس ابتدا functions.php پوستهٔ فرزند را بارگیری کرده و توابع موجود در آن را مقداردهی اولیه میکند سپس به سراغ functions.php تم والد میرود.
همانطور که اشاره کردیم، واردکردن استایلشیتها بهترین راه برای به صف کردن آنها از طریق فایل functions.php است.
فایل functions.php را در دایرکتوری چالد تم خود ایجاد کرده و کد زیر را اضافه کنید:
<?php
add_action( 'wp_enqueue_scripts', 'enqueue_parent_styles' );
function enqueue_parent_styles() {
wp_enqueue_style( 'parent-style', get_template_directory_uri().'/style.css' );
}
این استایلشیت را style.css از فایل تمهای والد مینامد. اگر بخواهید هر چیزی را در استایلشیتها ویرایش کنید، میتوانید قوانین آن را در style.css پوستهٔ فرزند اضافه کنید.
مرحله 4: فایل style.css پوستهٔ فرزند را ویرایش کنید
در چایلد تمها، میتوانید بهراحتی با تعریف قوانین style.css در پوشهٔ فرزند، استایلها را ویرایش کنید. برای مثال، اگر بخواهیم رنگ لنگر را تغییر دهیم، تنها کاری که باید انجام دهیم این است که کد زیر را در style.css چایلد تم اضافه کنیم:
a {
color: #D54E21;
text-decoration: none;
}
آنچه در اینجا اتفاق میافتد این است که قانون style.css چایلد تم برای a، style.css قالب والد را لغو میکند و بقیه دست نخورده باقی میمانند.
مرحله 5: یک فایل الگوی single.php را ویرایش کنید.
ما میتوانیم بهراحتی فایلهای قالب را در چایلد تم ویرایش کنیم. بهعنوانمثال اگر بخواهیم single.php را ویرایش کنیم، باید فایل آن را از پوشه والد کپی کرده و در پوشهٔ فرزند قرار دهیم.
فرض کنید میخواهیم بخش نظرات را از صفحات تک پست حذف کنیم. پس از کپیکردن فایل آن در پوشه چایلد تم، میتوانیم آن را ویرایش کرده و بخش نظرات (کامنت) را حذف کنیم:
// If comments are open or we have at least one comment, load up the comment template.
if ( comments_open() || get_comments_number() ) :
comments_template();
endif;
آنچه در اینجا اتفاق میافتد این است که وردپرس پوشهٔ فرزند را برای single.php بررسی میکند. اگر در دایرکتوری وجود داشته باشد، آن را از آنجا بارگذاری کرده و در غیر این صورت، به پوشهٔ والد بازمیگردد.
به همین راحتی ما میتوانیم هر فایل قالب جداگانهای را ویرایش کنیم. این رویکرد بهطورکلی بسیار خوب است؛ زیرا قالب والد ما دستنخورده مانده و درعینحال سفارشیسازی میشود.
نحوه ایجاد پوستهٔ فرزند وردپرس با استفاده از افزونه
اگر توسعهدهنده نیستید یا نمیخواهید از یک روش دستی استفاده کنید، میتوانید با استفاده از یک افزونه بهراحتی چایلد تم خود را ایجاد کنید. در مخزن وردپرس چندین افزونه برای ایجاد چایلد وجود دارد. در اینجا 3 مورد از محبوبترین این افزونههای رایگان آورده شده است:
- Child Theme Wizard
- WPS Child Theme Generator
- WP Child Theme Generator
برای آموزش در اینجا، ما از افزونه Child theme Wizard برای تولید پوستهٔ فرزند استفاده میکنیم. برای شروع:
- به WordPress Dashboard > Plugin > Add New بروید.
- افزونه Child Theme Wizard را در نوار جستجوی سمت راست سرچ کنید.
- بر روی دکمه Install کلیک کنید.
- پس از نصب بر روی دکمه Activate کلیک کرده تا افزونه فعال شود.

- هنگامی که افزونه با موفقیت فعال شد، گزینه Child Theme Wizard را در زیر گزینه Tools در نوار مدیریت WP در سمت چپ مشاهده خواهید کرد.

- اکنون باید تم والد خود را انتخاب کنید. برای انجام این کار، باید عنوان، URL چایلد تم و توضیحات آن را اضافه کرده و روی Create Child Theme کلیک کنید.

- حالا به Appearance > Theme بروید و چایلد تم ایجاد شدهٔ خود را ببینید.

به این صورت میتوانید بهسادگی با استفاده از پلاگین Child Theme Wizard پوستهٔ فرزند ایجاد کنید.
چگونه پوستهٔ فرزند را پس از نصب بررسی کنیم؟
یا بهصورت دستی یا از طریق افزونه یک چایلد تم ایجاد کنید، میتوانید با رفتن به Appearance > Theme، پوستهٔ فرزند خود را ببینید. از اینجا میتوانید چایلد تم نصب شده را مشاهده، فعال یا حذف کنید. اگر هر مشکلی داشتید به بخش پشتیبانی وردپرس داده چین مراجعه کنید.
سؤالات متداول
چگونه در وردپرس یک پوستهٔ فرزند ایجاد کنیم؟
دوراه برای ایجاد آن وجود دارد. میتوانید این کار را بهصورت دستی یا با استفاده از افزونهای مانند Child Theme Wizard انجام دهید. روش دستی نیاز به دانش فنی داشته و فرایند آن در مقایسه با افزونه طولانی است.
مزیت ایجاد چایلد تم چیست؟
مزیت اصلی چایلد تم این است که به شما امکان می دهد بدون تغییر کد قالب والد، تغییراتی را در سایت خود ایجاد کنید؛ زیرا هرگونه سفارشیسازی که روی تم والد انجام میدهید با بهروزرسانی قالب از بین میرود.
چگونه میتوانم بهصورت دستی یک تم کودک ایجاد کنم؟
5 مرحله زیر را دنبال کنید:
یک پوشه چایلد ایجاد کنید.
یک استایلشیت برای آن ایجاد کنید.
استایلشیتهای قالب والد و فرزند را به صف کنید.
فایل style.css Child Theme را ویرایش کنید.
یک فایل الگوی single.php را ویرایش کنید.