SHET22

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

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

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

توی این مقاله خیلی ساده توضیح می‌دیم چایلدتم چه مشکلی رو حل می‌کنه، در قالب‌های کلاسیک و بلوکی چه کاربردی داره و فایل‌هایی مثل style.css، functions.php و theme.json چطور با قالب اصلی کار می‌کنن. اگه هنوز با مفهوم چایلدتم آشنا نیستید، اول راهنمای چایلدتم وردپرس چیست رو بخونید.

آنچه در این مقاله می‌خوانید

چایلدتم وردپرس چیه و چه مشکلی رو حل می‌کنه؟

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

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

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

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

جلوگیری از پاک‌شدن تغییرات بعد از آپدیت قالب والد

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

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

جدا نگه‌داشتن کدهای سفارشی از فایل‌های اصلی قالب

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

پیداکردن و مدیریت راحت‌تر تغییرات

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

چه تغییراتی به چایلدتم نیاز ندارن؟

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

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

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

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

چایلدتم در قالب‌های کلاسیک چه کاربردی داره؟

قالب کلاسیک معمولاً برای بخش‌های مختلف سایت فایل‌های PHP مثل header.php، footer.php و single.php داره. اگه می‌خواید ساختار این فایل‌ها رو تغییر بدید، چایلدتم راه مناسبی برای جداکردن نسخه‌های تغییریافته از قالب والد هست.

ویرایش قالب بلوکی از مسیر نمایش ← ویرایشگر

قالب بلوکی به شما اجازه می‌ده بخش‌هایی مثل سربرگ، پابرگ و قالب نوشته رو با بلوک‌ها و بدون ویرایش مستقیم کد تغییر بدید. برای دسترسی به این بخش، وارد پیشخوان وردپرس بشید و روی «نمایش» و بعد «ویرایشگر» کلیک کنید.

ویرایشگر در قالب‌های بلوکی
ویرایشگر در قالب‌های بلوکی

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

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

اگه می‌خواید فایل‌های قالب بلوکی، الگوها، بخش‌های الگو یا فایل theme.json رو در سطح کد تغییر بدید و این تغییرات همراه پروژه قابل انتقال باشن، چایلدتم هنوز انتخاب مناسبیه. این روش برای توسعه‌دهنده‌ای که می‌خواد تغییرات رو با Git مدیریت کنه یا روی چند سایت به کار ببره هم مفیده.

فایل‌های چایلدتم چطور با قالب والد کار می‌کنن؟

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

نقش فایل style.css در معرفی و استایل‌دهی چایلدتم

فایل style.css اطلاعات اصلی چایلدتم رو در یک سربرگ متنی نگه می‌داره. گزینه Theme Name نام چایلدتم رو مشخص می‌کنه و گزینه Template باید دقیقاً نام پوشه قالب والد باشه. وردپرس از همین اطلاعات می‌فهمه این قالب فرزند کدوم قالبه.

وجود style.css به‌تنهایی تضمین نمی‌کنه که استایل قالب والد خودکار بارگذاری بشه. روش بارگذاری استایل به ساختار قالب والد بستگی داره و معمولاً با تابع مناسب داخل functions.php انجام می‌شه. کپی‌کردن همه CSSهای قالب والد داخل چایلدتم کار خوبی نیست، چون نگهداری و هماهنگ‌کردن اون‌ها رو سخت می‌کنه.

چرا functions.php چایلدتم جایگزین فایل قالب والد نمی‌شه؟

فایل functions.php یک استثنای مهمه. وردپرس این فایل رو از چایلدتم بارگذاری می‌کنه و بعد فایل functions.php قالب والد هم اجرا می‌شه. پس نباید فایل قالب والد رو کامل داخل چایلدتم کپی کنید.

فقط کدهای اختصاصی خودتون رو داخل functions.php چایلدتم بذارید. قبل از تعریف تابع هم بررسی کنید نام اون با تابع‌های قالب والد یا افزونه‌ها تداخل نداشته باشه، چون تداخل نام می‌تونه خطای جدی ایجاد کنه.

فایل‌های قالب مثل header.php و footer.php چطور بازنویسی می‌شن؟

در قالب‌های کلاسیک، اگه فایلی مثل header.php رو با همون نام و مسیر داخل چایلدتم بذارید، وردپرس معمولاً نسخه چایلدتم رو به‌جای نسخه قالب والد استفاده می‌کنه. این رفتار برای خیلی از فایل‌های الگو صدق می‌کنه، ولی functions.php از این قاعده پیروی نمی‌کنه.

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

فایل theme.json در قالب‌های بلوکی چه کاری انجام می‌ده؟

فایل theme.json تنظیمات و استایل‌های کلی قالب بلوکی رو تعریف می‌کنه؛ برای مثال رنگ‌ها، فاصله‌ها، تایپوگرافی و امکاناتی که در ویرایشگر در دسترس هستن. وردپرس تنظیمات این فایل در چایلدتم رو با تنظیمات قالب والد ترکیب می‌کنه و مقدارهای چایلدتم اولویت بالاتری دارن.

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

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

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

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

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

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

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

  1. سابقه آپدیت و پشتیبانی قالب والد رو بررسی کنید. چایلدتم همچنان برای بخش زیادی از امکاناتش به قالب والد وابسته‌ست. پس قالب والد باید نصب بمونه و بهتره مرتب به‌روزرسانی بشه.
  2. از سایت نسخه پشتیبان بگیرید. حداقل از فایل‌ها و پایگاه داده یک نسخه سالم داشته باشید تا اگه مشکلی پیش اومد، بتونید سایت رو برگردونید.
  3. تغییرات رو در محیط آزمایشی امتحان کنید. محیط آزمایشی یا Staging یک کپی غیرعمومی از سایته که می‌تونید تغییرات رو بدون به‌خطرانداختن سایت اصلی روی اون بررسی کنید.
  4. فایل‌ها و کدهای تغییریافته رو ثبت کنید. نام فایل، دلیل تغییر و تاریخ اون رو یادداشت کنید. این فهرست موقع آپدیت قالب والد خیلی به کارتون میاد.
  5. بعد از فعال‌سازی همه بخش‌های مهم رو آزمایش کنید. صفحه اصلی، نوشته‌ها، فروشگاه، فرم‌ها، سربرگ، پابرگ و نمایش موبایل رو بررسی کنید. اگه امکانش رو دارید، سایت رو در مرورگرهای مختلف آزمایش کنید.

جمع‌بندی

پاسخ به یک سؤال ساده بستگی داره: آیا می‌خواید فایل‌های قالب رو تغییر بدید؟ اگه جواب مثبته و می‌خواید بعداً قالب والد رو هم آپدیت کنید، چایلدتم معمولاً انتخاب مناسبیه.

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

سؤال‌های رایج

آیا بدون چایلدتم تغییرات قالب بعد از آپدیت پاک می‌شن؟

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

آیا برای تغییر ظاهر سایت حتماً باید چایلدتم بسازیم؟

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

آیا functions.php قالب والد رو باید داخل چایلدتم کپی کنیم؟

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

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

اگه تغییرات رو از مسیر نمایش ← ویرایشگر انجام می‌دید، معمولاً به چایلدتم نیاز ندارید. برای تغییر مستقیم فایل‌های قالب، الگوها یا theme.json می‌تونید از چایلدتم استفاده کنید.

برای تغییرات خیلی گسترده چایلدتم بهتره یا قالب مستقل؟

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

نظر شما در این مورد چیه؟

  1. U37282۱۱ اسفند ۱۳۹۹

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

    • رضا راد۱۲ اسفند ۱۳۹۹

      سلام بله به تمام بخش‌ها دسترسی برای ویرایش خواهید داشت. سپاس از شما

  2. U4794۵ اردیبهشت ۱۳۹۸

    یعنی بجای قالب از چایلدتم قالب استفاده کنیم؟

    • رضا راد۵ اردیبهشت ۱۳۹۸

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

  3. U11236۳۰ خرداد ۱۳۹۷

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

    • رضا راد۳۰ خرداد ۱۳۹۷

      سلام. در سایت سرچ کنید آموزش ساخت چایلدتم

پشتیبانپشتیبانپشتیبانپشتیبانپشتیبان
تیم میهن وردپرس
پشتیبانپشتیبانپشتیبانپشتیبانپشتیبان
تیم میهن وردپرسآنلاین و پاسخگوی شما هستیم.آنلاین

در حال بارگذاری...

هر سوالی دارید بپرسید.پاسخگوی شما هستیم.