قالب فرزند یا Child Theme چیست و چرا باید همین امروز یکی بسازید؟

قالب فرزند یا Child Theme چیست و چرا باید همین امروز یکی بسازید؟
محصولات زیر برای شماست...
جدیدترین مقالات
دسترسی سریع
فهرست محتوا

تصور کنید ساعت‌ها، روزها و حتی هفته‌ها برای شخصی‌سازی ظاهر سایت خود وقت گذاشته‌اید. رنگ‌ها، فونت‌ها، چیدمان‌ها و کدهای CSS سفارشی که با وسواس زیاد اضافه کرده‌اید، همگی دست به دست هم داده‌اند تا وب‌سایت شما دقیقاً همان چیزی شود که در ذهن داشتید. حالا یک اعلان ساده در پیشخوان وردپرس ظاهر می‌شود: “نسخه جدیدی از قالب شما در دسترس است. لطفاً به‌روزرسانی کنید.” 😨

شما با خیال راحت روی دکمه آپدیت کلیک می‌کنید و در یک چشم به هم زدن، تمام زحماتتان نابود می‌شود! سایت به حالت اولیه قالب برگشته و شما مانده‌اید با یک فاجعه دیجیتال. این سناریوی ترسناک، کابوس بسیاری از کاربران وردپرس است، اما یک راه‌حل ساده و قدرتمند برای جلوگیری از آن وجود دارد: قالب فرزند یا Child Theme.

قالب فرزند یک لایه محافظ روی قالب اصلی شما (که به آن قالب مادر یا Parent Theme می‌گوییم) است. تمام شخصی‌سازی‌ها، کدنویسی‌ها و تغییرات ظاهری شما در این لایه امن ذخیره می‌شود. به این ترتیب، شما می‌توانید با خیال راحت قالب مادر را آپدیت کنید، از ویژگی‌های جدید و پچ‌های امنیتی آن بهره‌مند شوید، بدون اینکه حتی یک خط از کدهایی که نوشته‌اید از بین برود. در این مقاله از وردپرس نیاز، ما فقط به شما نمی‌گوییم چایلد تم چیست؛ بلکه به شما نشان می‌دهیم چرا استفاده از آن یک انتخاب نیست، بلکه یک ضرورت است.


اصلاً چرا باید از قالب فرزند (Child Theme) استفاده کنیم؟

شاید با خودتان فکر کنید: “سایت من که تغییرات زیادی ندارد، چرا باید کار را پیچیده کنم؟” این یک تصور اشتباه رایج است. استفاده از قالب فرزند فقط برای برنامه‌نویسان حرفه‌ای نیست؛ بلکه یک استراتژی هوشمندانه برای هر صاحب سایت وردپرسی است که به پایداری و امنیت وب‌سایت خود اهمیت می‌دهد. در حقیقت، مزایای چایلد تم فراتر از حفظ تغییرات است و مستقیماً بر روی سرعت توسعه و مدیریت سایت شما تأثیر می‌گذارد.

بیایید دو دلیل حیاتی که شما را مجاب می‌کند همین امروز برای ساخت چایلدتم اقدام کنید را با هم بررسی کنیم.

آیا با آپدیت قالب، تمام شخصی‌سازی‌های شما از بین می‌رود؟

بله، متاسفانه همین‌طور است! این بزرگترین و مهم‌ترین دلیلی است که وجود چایلد تم را توجیه می‌کند. وقتی شما فایل‌های یک قالب (مثلاً style.css یا functions.php) را مستقیماً ویرایش می‌کنید، در واقع در حال دستکاری فایل‌های اصلی هستید. به محض اینکه توسعه‌دهنده قالب یک آپدیت منتشر می‌کند، وردپرس تمام فایل‌های قدیمی را با فایل‌های جدید جایگزین می‌کند و تمام کدهای سفارشی شما برای همیشه پاک می‌شوند. 💣

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

اما حفاظت از کدها تنها مزیت نیست. چایلد تم به شما کمک می‌کند تا به یک توسعه‌دهنده بهتر و کارآمدتر تبدیل شوید. بیایید ببینیم چطور این اتفاق می‌افتد.

چگونه چایلد تم به توسعه و عیب‌یابی سایت شما سرعت می‌بخشد؟

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

اما با استفاده از چایلد تم، همه چیز تغییر می‌کند:

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

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


برای ساخت چایلد تم به چه فایل‌هایی نیاز داریم؟

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

این دو سرباز خط مقدم عبارتند از:

  1. style.css
  2. functions.php

بیایید ببینیم هر کدام از این فایل‌ها دقیقاً چه وظیفه‌ای بر عهده دارند و چرا وجودشان ضروری است.

فایل style.css در چایلد تم چه نقشی دارد؟

این فایل شناسنامه و کارت هویتی چایلد تم شماست. 📜 وردپرس از طریق اطلاعاتی که در بخش نظرات (Comments) بالای این فایل نوشته می‌شود، متوجه می‌شود که این یک قالب فرزند است و به کدام قالب مادر تعلق دارد. بدون این فایل، وردپرس هرگز پوشه شما را به عنوان یک قالب شناسایی نخواهد کرد.

مهم‌ترین اطلاعاتی که باید در این فایل قرار بگیرد، نام قالب (Theme Name) و نام پوشه قالب مادر (Template) است. بقیه اطلاعات مانند نویسنده، نسخه و توضیحات اختیاری هستند اما به حرفه‌ای‌تر شدن کار شما کمک می‌کنند. در ادامه به شما نشان خواهیم داد که چطور این فایل را با چند خط کد ساده بسازید.

اما داشتن شناسنامه به تنهایی کافی نیست؛ چایلد تم باید بداند چطور از امکانات و ظاهر قالب مادر خود استفاده کند. اینجاست که فایل دوم وارد میدان می‌شود.

فایل functions.php چگونه استایل‌های قالب مادر را فراخوانی می‌کند؟

اگر style.css شناسنامه چایلد تم باشد، فایل functions.php مانند پل ارتباطی آن با دنیای قالب مادر است. 🌉 وظیفه اصلی این فایل در یک چایلد تم، این است که به وردپرس بگوید: “هی وردپرس! لطفاً ابتدا تمام فایل‌های CSS و استایل‌های قالب مادر را بارگذاری کن و سپس فایل CSS چایلد تم من را اعمال کن.”

این فرآیند که به آن صف‌بندی اسکریپت‌ها (Enqueuing Scripts) می‌گویند، تضمین می‌کند که چایلد تم شما تمام ویژگی‌های ظاهری قالب مادر را به ارث ببرد و شما بتوانید با نوشتن کدهای CSS در فایل style.css چایلد تم، آن ظاهر را به دلخواه خود تغییر دهید. این فایل قلب تپنده و بخش عملیاتی چایلد تم شماست.

اکنون که با تئوری و اجزای سازنده آشنا شدید، وقت آن است که آستین‌ها را بالا بزنیم و اولین چایلد تم خود را بسازیم!


چطور یک قالب فرزند (Child Theme) را قدم به قدم و به صورت دستی بسازیم؟

آماده‌اید تا به صورت عملی و در کمتر از ۵ دقیقه، اولین چایلد تم خود را بسازید؟ این بخش قلب مقاله ماست و ما فرآیند ساخت چایلدتم را به چهار مرحله ساده، قابل فهم و همراه با کدهای آماده تقسیم کرده‌ایم. فقط کافیست مراحل را دنبال کنید تا در پایان، یک قالب فرزند کاملاً کاربردی داشته باشید.

قدم اول: چگونه یک پوشه جدید برای چایلد تم خود ایجاد کنیم؟

ابتدا باید به فایل‌های سایت خود دسترسی پیدا کنید. این کار را می‌توانید از طریق پنل مدیریت هاست (مانند cPanel یا DirectAdmin) و بخش File Manager یا با استفاده از یک نرم‌افزار FTP مانند FileZilla انجام دهید.

  1. وارد مسیر public_html/wp-content/themes/ شوید. در این پوشه، تمام قالب‌هایی که روی سایتتان نصب کرده‌اید را مشاهده می‌کنید.
  2. یک پوشه جدید بسازید. بهترین روش برای نام‌گذاری این است که نام قالب مادر را به همراه -child در انتهای آن بیاورید.
    • مثال: اگر از قالب woodmart استفاده می‌کنید، نام پوشه را woodmart-child بگذارید. این کار به مرتب بودن فایل‌های شما کمک می‌کند.

تمام! زیربنای کار آماده است. حالا باید این پوشه خالی را با فایل‌های ضروری پر کنیم.

قدم دوم: چطور فایل style.css را با کدهای ضروری بسازیم؟

داخل پوشه‌ای که در مرحله قبل ساختید (woodmart-child)، یک فایل جدید با نام style.css ایجاد کنید. سپس کد زیر را کپی کرده و در آن قرار دهید.

CSS
وردپرس نیاز
/*
 Theme Name:   WoodMart Child
 Theme URI:    http://example.com/woodmart-child/
 Description:  WoodMart Child Theme
 Author:       Your Name
 Author URI:   http://example.com
 Template:     woodmart
 Version:      1.0.0
 License:      GNU General Public License v2 or later
 License URI:  http://www.gnu.org/licenses/gpl-2.0.html
 Tags:         light, dark, two-columns, right-sidebar, responsive-layout, accessibility-ready
 Text Domain:  woodmart-child
*/

نکات مهم:

  • Theme Name: نامی دلخواه برای چایلد تم شما.
  • Template: حیاتی‌ترین بخش! این قسمت باید دقیقاً نام پوشه قالب مادر باشد. اگر نام پوشه قالب اصلی woodmart است، شما هم باید در اینجا woodmart بنویسید (با حروف کوچک).

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

قدم سوم: چطور فایل functions.php را برای فراخوانی استایل‌ها ایجاد کنیم؟

در همان پوشه چایلد تم، یک فایل جدید دیگر به نام functions.php بسازید و کد زیر را درون آن قرار دهید.

PHP
وردپرس نیاز
<?php
add_action( 'wp_enqueue_scripts', 'my_theme_enqueue_styles' );
function my_theme_enqueue_styles() {
    wp_enqueue_style( 'parent-style', get_template_directory_uri() . '/style.css' );
}
?>

این کد به وردپرس می‌گوید که فایل style.css قالب مادر را بارگذاری کند. این روش استاندارد و مورد تایید وردپرس است و تضمین می‌کند که همه چیز به درستی کار کند.

فایل را ذخیره کنید. کار ساخت چایلد تم به پایان رسید! حالا فقط یک قدم تا استفاده از آن باقی مانده است.

قدم چهارم: چگونه چایلد تم ساخته شده را آپلود و فعال کنیم؟

دو راه برای این کار وجود دارد:

  1. اگر فایل‌ها را روی هاست ساخته‌اید: کار تمام است! کافیست وارد پیشخوان وردپرس شوید، به بخش نمایش > پوسته‌ها بروید. خواهید دید که چایلد تم شما (مثلاً WoodMart Child) به لیست قالب‌ها اضافه شده است. روی دکمه فعال کردن کلیک کنید.
  2. اگر فایل‌ها را روی کامپیوتر خود ساخته‌اید:
    • پوشه چایلد تم خود (مثلاً woodmart-child) را به صورت یک فایل .zip فشرده کنید.
    • وارد پیشخوان وردپرس شوید و به بخش نمایش > پوسته‌ها بروید.
    • روی دکمه افزودن پوسته تازه و سپس بارگذاری پوسته کلیک کنید.
    • فایل .zip را انتخاب و نصب کنید. پس از نصب، آن را فعال نمایید.

تبریک می‌گوییم! 🎉 شما با موفقیت اولین چایلد تم خود را ساختید و فعال کردید. از این پس تمام تغییرات CSS خود را در فایل style.css چایلد تم وارد کنید و با خیال راحت آپدیت‌ها را انجام دهید.

اما اگر با کدنویسی راحت نیستید و به دنبال راهی سریع‌تر می‌گردید، راه حل دیگری نیز وجود دارد.


آیا راه ساده‌تری برای ساخت چایلد تم با افزونه وجود دارد؟

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

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

افزونه‌های زیادی برای این کار وجود دارند، اما یکی از محبوب‌ترین، قدرتمندترین و در عین حال ساده‌ترین آن‌ها، افزونه Child Theme Configurator است.

چرا این افزونه را پیشنهاد می‌کنیم؟

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

یک نکته مهم از وردپرس نیاز: استفاده از افزونه برای ساخت چایلدتم عالی است، اما فراموش نکنید که پایه و اساس یک وب‌سایت پایدار، یک قالب اورجینال و استاندارد است. بسیاری از مشکلات در آینده به دلیل استفاده از قالب‌های نال شده و غیر اصلی به وجود می‌آیند. در وردپرس نیاز، ما با افتخار قالب‌هایی مانند قالب وودمارت اورجینال را ارائه می‌دهیم که ۱۰۰٪ دست‌نخورده و سالم هستند. خرید قالب وردپرس از یک منبع معتبر با گارانتی بازگشت وجه، به شما این آرامش خاطر را می‌دهد که زیربنای سایت شما محکم و امن است.

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


چطور فایل‌های دیگر قالب مادر (مثل header.php) را در چایلد تم ویرایش کنیم؟

تا اینجا یاد گرفتیم که چطور با استفاده از فایل style.css ظاهر سایت را تغییر دهیم و با functions.php کدهای PHP سفارشی اضافه کنیم. اما گاهی نیاز داریم ساختار یک بخش از سایت، مانند سربرگ (Header) یا پاورقی (Footer) را تغییر دهیم. وردپرس برای این کار نیز یک راه‌حل هوشمندانه و ساده در نظر گرفته است که به آن بازنویسی فایل‌های الگو (Template File Overriding) می‌گویند.

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

آیا کپی کردن فایل از قالب مادر به فرزند کافی است؟

بله، به همین سادگی! ✨ این یکی از زیباترین ویژگی‌های ساختار وردپرس است. وقتی وردپرس می‌خواهد یک صفحه را رندر کند، ابتدا پوشه چایلد تم را بررسی می‌کند.

  • سناریو: فرض کنید می‌خواهید فایل header.php را ویرایش کنید.
    1. به پوشه قالب مادر خود بروید (مثلاً wp-content/themes/woodmart/).
    2. فایل header.php را پیدا کرده و آن را کپی کنید.
    3. به پوشه چایلد تم خود بروید (wp-content/themes/woodmart-child/) و فایل را در آنجا Paste کنید.

از این لحظه به بعد، وردپرس به طور خودکار فایل header.php موجود در چایلد تم شما را بارگذاری می‌کند و نسخه اصلی در قالب مادر را نادیده می‌گیرد. حالا شما می‌توانید با خیال راحت این فایل کپی شده را ویرایش کنید، ساختار HTML آن را تغییر دهید یا کدهای جدیدی به آن اضافه کنید. این تکنیک برای تمام فایل‌های الگوی وردپرس (مانند footer.php, single.php, page.php و حتی فایل‌های ووکامرس) کار می‌کند.

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


پرتکرارترین سوالات درباره قالب فرزند (FAQ)

در این بخش به ۱۰ سوال رایج که ممکن است در ذهن شما شکل گرفته باشد، به صورت کوتاه و مستقیم پاسخ می‌دهیم تا هیچ ابهامی باقی نماند.

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

قالب مادر یک قالب کامل و مستقل است که تمام فایل‌های لازم برای کارکرد یک سایت را دارد. قالب فرزند یک قالب وابسته است که برای کار کردن حتماً به حضور قالب مادر نیاز دارد و تنها شامل فایل‌های تغییر یافته و سفارشی‌سازی‌ها می‌شود.

آیا استفاده از چایلد تم سرعت سایت را کم می‌کند؟

خیر. تأثیر چایلد تم بر سرعت سایت به قدری ناچیز است که عملاً قابل اندازه‌گیری نیست (در حد چند میلی‌ثانیه). مزایای فوق‌العاده آن در زمینه امنیت و مدیریت، این تأثیر ناچیز را کاملاً بی‌اهمیت می‌کند.

اگر تا الان از چایلد تم استفاده نکرده‌ام، چطور تغییراتم را منتقل کنم؟

شما باید به صورت دستی کدهایی که به فایل‌های قالب مادر (مثل style.css و functions.php) اضافه کرده‌اید را پیدا کرده و آن‌ها را به فایل‌های متناظر در چایلد تم جدید خود منتقل کنید. افزونه Child Theme Configurator می‌تواند در این فرآیند به شما کمک کند.

آیا برای همه قالب‌ها می‌توان چایلد تم ساخت؟

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

در سایت‌های ووکامرسی، استفاده از چایلد تم ضروری است؟

بله، ۱۰۰٪ ضروری است! در سایت‌های فروشگاهی، شخصی‌سازی فایل‌های ووکامرس (مانند صفحه محصول یا پرداخت) بسیار رایج است. بدون چایلد تم، با اولین آپدیت ووکامرس یا قالب، تمام این تغییرات حیاتی از بین خواهند رفت.

چگونه بفهمیم یک قالب، چایلد تم است؟

در بخش نمایش > پوسته‌ها، اگر زیر نام یک قالب، نام قالب دیگری به عنوان “والد” یا “Parent” ذکر شده باشد، آن قالب یک چایلد تم است. همچنین در فایل style.css آن، خط Template نام قالب مادر را مشخص می‌کند.

اگر قالب مادر حذف شود چه اتفاقی برای چایلد تم می‌افتد؟

سایت شما با یک خطای مرگبار (Fatal Error) مواجه شده و از دسترس خارج می‌شود. چایلد تم برای کار کردن به قالب مادر وابسته است. همیشه قبل از حذف یک قالب، مطمئن شوید که والد یک چایلد تم فعال نیست.

آیا می‌توان برای یک چایلد تم، یک چایلد تم دیگر ساخت؟

خیر. این کار از نظر فنی امکان‌پذیر نیست و به آن “Grandchild Theme” می‌گویند. وردپرس تنها یک سطح از وراثت (Parent -> Child) را پشتیبانی می‌کند.

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

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

بعد از فعال‌سازی چایلد تم، آیا نیاز به تنظیم مجدد منوها و ابزارک‌ها داریم؟

در اکثر مواقع بله. وقتی یک قالب جدید (حتی چایلد تم) را فعال می‌کنید، ممکن است وردپرس جایگاه منوها و ابزارک‌ها را فراموش کند. کافیست یک بار به بخش نمایش > فهرست‌ها و نمایش > ابزارک‌ها بروید و تنظیمات را مجدداً ذخیره کنید.

قوانین بارگذاری بهینه در functions.php چایلد تم بدون ایجاد تداخل و افت سرعت

یکی از متداول‌ترین اشتباهات در سفارشی‌سازی قالب فرزند (Child Theme)، فراخوانی استایل والد با دستور سنتی @import در فایل style.css است که به دلیل ایجاد مسدودسازی رندرینگ و ارسال درخواست‌های مجزای HTTP، امتیاز سرعت و Core Web Vitals را به شدت کاهش می‌دهد. رویکرد استاندارد مهندسی وردپرس، استفاده از هوک wp_enqueue_scripts در فایل functions.php چایلد تم است تا فایل‌های استایل والد و فرزند به صورت هماهنگ، غیرهمگام و با متد wp_get_theme()->get('Version') کش‌گذاری و فراخوانی شوند. علاوه بر این، برای اورراید کردن کدهای منطقی بدون ایجاد خطای Fatal Error در زمان آپدیت پوسته، باید از توابع شرطی و locate_template بهره برد. در صورتی که تغییرات اختصاصی قالب شامل کوئری‌های پیچیده باشد، پایش مداوم و استفاده از پشتیبانی فنی و نگهداری کدهای قالب وردپرس از کرش سرور جلوگیری می‌کند. پیشنهاد می‌شود برای حفظ سرعت بهینه، عملکرد پایگاه داده را نیز مطابق راهنمای بهینه‌سازی دیتابیس وردپرس پایش نمایید.

تصویر امین زاهد
امین زاهد
متخصص رشد، توسعه و دیجیتال مارکتینگ در «وردپرس نیاز». تمرکز من بر تدوین استراتژی‌های داده‌محور و هک رشدهای اجرایی است تا به کسب‌وکارهای وردپرسی کمک کنم فروش آنلاین خود را بهینه‌سازی کرده و به رشد پایدار دست یابند. در مقالاتم، این استراتژی‌ها را به راهکارهای عملی تبدیل می‌کنم.
پیشنهاد میکنیم این مقالات را هم بخوانید

16 دیدگاه در “قالب فرزند یا Child Theme چیست و چرا باید همین امروز یکی بسازید؟”

  1. میلاد خسروی
    میلاد خسروی

    سلام و عرض ادب؛ در قدم سوم آموزش به استفاده از تابع wp_enqueue_scripts برای لود استایل‌های قالب مادر اشاره کردید. آیا استفاده از دستور @import در ابتدای فایل style. css چایلد تم منسوخ شده است و چه تاثیری بر سرعت لود سایت دارد؟

    1. امین زاهد
      امین زاهد تیم فنی

      سلام جناب خسروی عزیز؛ بله، استفاده از دستور @import در CSS کاملاً منسوخ شده و ضد الگوهای پرفورمنس Core Web Vitals است. دستور @import مانع از دانلود موازی (Parallel Downloading) فایل‌های CSS توسط مرورگر می‌شود و باعث مسدود شدن رندرینگ صفحه (Render-blocking) و افزایش شاخص FCP می‌گردد. رویکرد استاندارد و بهینه، لود استایل والد و فرزند با هوک wp_enqueue_scripts در فایل functions. php است تا مرورگر بتواند فایل‌ها را هم‌زمان دانلود کند.

  2. سمیرا یزدانی
    سمیرا یزدانی

    سلام وقت بخیر؛ اگر بخواهیم یک تابع PHP را که در فایل functions. php قالب مادر وجود دارد در چایلد تم تغییر دهیم، سایت خطای Cannot redeclare function نمی‌دهد؟ راه حل درست برای اورراید کردن توابع والد چیست؟

    1. امین زاهد
      امین زاهد تیم فنی

      درود بر شما سرکار خانم یزدانی؛ نکته بسیار مهمی را مطرح کردید. فایل functions. php قالب فرزند برخلاف فایل‌های قالب، فایل والد را جایگزین نمی‌کند بلکه قبل از آن اجرا می‌شود! اگر تابع قالب مادر به‌صورت Pluggable تعریف شده باشد (یعنی داخل شرط if (! function_exists(‘my_function’)) قرار گرفته باشد)، شما می‌توانید عیناً تابعی با همان نام در چایلد تم بنویسید و نسخه والد نادیده گرفته می‌شود. اما اگر شرط وجود نداشته باشد، باید با استفاده از هوک‌های remove_action یا remove_filter در یک اولویت بالاتر، تابع والد را جدا کرده و تابع اختصاصی خود را هوک نمایید.

  3. مهندس آرین فراهانی
    مهندس آرین فراهانی

    وقت بخیر؛ آیا ساخت چایلد تم می‌تواند باعث افزایش تعداد درخواست‌های HTTP و در نتیجه افت امتیاز سرعت در سرچ کنسول و پیج اسپید شود؟

    1. امین زاهد
      امین زاهد تیم فنی

      سلام جناب فراهانی عزیز؛ افزودن چایلد تم تنها یک درخواست CSS اضافه (چند کیلوبایت استایل فرزند) تولید می‌کند که در کنار مزیت حیاتی حفظ تغییرات و امنیت آپدیت‌ها، اثر منفی ملموسی بر سئو ندارد. علاوه بر این، با فعال‌سازی افزونه‌های کش و ادغام‌کننده فایل‌های استاتیک نظیر WP Rocket یا LSCache، کد‌های استایل والد و فرزند با یکدیگر ترکیب و فشرده (Minified) می‌شوند و تنها در قالب یک فایل بهینه به کاربر تحویل داده خواهند شد.

  4. بهنام دادخواه
    بهنام دادخواه

    سلام خسته نباشید؛ ما قالب وودمارت داریم. آیا امکان دارد فایل‌های تمپلیت ووکامرس مثل صفحه تسویه حساب یا کارت محصول را در چایلد تم سفارشی‌سازی کنیم تا با آپدیت وودمارت ظاهر آن خراب نشود؟

    1. امین زاهد
      امین زاهد تیم فنی

      سلام جناب دادخواه گرامی؛ بله، این یکی از بزرگترین قدرت‌های چایلد تم است! کافیست پوشه‌ای به نام woocommerce داخل پوشه چایلد تم خود بسازید و فایل تمپلیت مدنظر (مثلاً checkout/form-checkout. php) را از مسیر اصلی ووکامرس یا قالب مادر عیناً کپی کنید و در آن قرار دهید. وردپرس و ووکامرس به‌طور خودکار اولویت بارگذاری را به فایل‌های موجود در چایلد تم می‌دهند و هنگام آپدیت قالب اصلی، هیچ تغییری از فایل‌های شخصی‌سازی‌شده شما بازنویسی نخواهد شد.

  5. فاطمه مقصودی
    فاطمه مقصودی

    با سلام؛ آیا استفاده از افزونه‌های ساخت خودکار چایلد تم مثل Child Theme Configurator بهتر است یا ساخت دستی پوشه و فایل که در این مقاله توضیح دادید؟

    1. امین زاهد
      امین زاهد تیم فنی

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

  6. پوریا کاظمی
    پوریا کاظمی

    وقت بخیر؛ در صورتی که بعد از فعال‌سازی چایلد تم، فونت‌های فارسی سایت یا تنظیمات پنل قالب مادر (Theme Options) ریست شوند، راه حل چیست؟

    1. امین زاهد
      امین زاهد تیم فنی

      درود بر شما پوریا عزیز؛ این مسئله زمانی رخ می‌دهد که قالب مادر تنظیمات پنل را در دیتابیس با کلید نام قالب (Theme Slug) ذخیره کرده باشد. وقتی چایلد تم فعال می‌شود، وردپرس اسلاگ جدید را می‌خواند. برای حل این مشکل، کافیست وارد پنل تنظیمات قالب در پیشخوان شوید و از بخش Import/Export، یک خروجی از تنظیمات قالب مادر بگیرید و روی چایلد تم ایمپورت کنید؛ یا با یک قطعه کد کوچک در functions. php، مقدار دیتابیس را به چایلد تم نگاشت نمایید.

  7. شاهین زمانی
    شاهین زمانی

    سلام و احترام؛ اگر نام پوشه قالب مادر در هدر Template: فایل style. css با حروف کوچک یا بزرگ اشتباه تایپ شود چه اتفاقی می‌افتد؟ آیا ارور فیتال رخ می‌دهد؟

    1. امین زاهد
      امین زاهد تیم فنی

      سلام جناب زمانی گرامی؛ در سرور‌های لینوکسی که سیستم فایل نسبت به حروف بزرگ و کوچک حساس است (Case-sensitive)، در صورت اشتباه بودن اسلاگ قالب در هدر Template:، وردپرس قالب مادر را پیدا نمی‌کند و در پیشخوان خطای «قالب والد یافت نشد (The parent theme is missing)» صادر کرده و قالب غیرفعال می‌شود. بنابراین باید نام پوشه قالب مادر را دقیقاً همان‌طور که در مسیر wp-content/themes وجود دارد درج نمایید.

  8. الهام شریفی
    الهام شریفی

    سلام وقت بخیر؛ ما برای مشتریان زیادی سایت تحویل می‌دهیم. آیا توصیه می‌کنید کد‌های کوتاه و اسنیپت‌ها را داخل چایلد تم بگذاریم یا از افزونه Code Snippets استفاده کنیم؟

    1. امین زاهد
      امین زاهد تیم فنی

      درود بر شما سرکار خانم شریفی؛ قاعده کلی این است: کد‌هایی که مربوط به ظاهر، چیدمان و استایل سایت هستند مستقیماً باید در چایلد تم قرار بگیرند تا با تغییر قالب لود نشوند؛ اما کد‌هایی که ماهیت عملکردی دارند (مثل اتصال به پنل پیامک، هوک‌های پرداخت و متغیرهای سفارش) بهتر است در قالب یک افزونه اختصاصی سایت (Site-Specific Plugin) یا Snippet باشند تا حتی اگر روزی کارفرما قالب را به‌طور کامل تغییر داد، فرآیندهای مالی و پیامکی سایت مختل نگردند.

دیدگاه یا پرسش خود را بنویسید