بررسی Child theme

بررسی Child theme

بررسی و ایجاد Child theme


 

با سلام و احترام خدمت تمامی کاربران وب سایت رسمی پرستیژ استور

امروز قصد داریم در مورد Child Theme ها در وردپرس که ما آن را در این مقاله با عنوان تمهای زیرمجموعه می نامیم صحبت کنیم .

در حقیقت فلسفه قالبهای هر سیستم مدیریت محتوایی بروزرسانی های مداوم است که این امر در وردپرس با سرعت و نمود بیشتری مشهود است ، برای مثال:

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

اینجاست که تمهای زیرمجموعه (Child theme) کارایی و انعطاف خودشون رو نشان می دهند و به راحتی با تغییراتی که توسط اونها بر روی پوسته ایجاد می شه نیازی به انجام تمام عملیات فارسی سازی و راست چین سازی نداریم . یعنی در واقع فایلهای مجزا از فایلهای اصلی پوسته داریم که با بروزرسانی تغییر در آنها ایجاد نمی شود .

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

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

ایجاد یک تم زیر مجموعه (Child theme):

ابتدا یک پوشه همنام با پوشه اصلی و با عبارت child در انتهای آن می سازیم و از این به بعد فایلها موردنظر خودمان را در این پوشه قرار می دهیم

فقط یک فایل برای پوشه تم زیر مجموعه ضروری است و آن هم style.css است.

هدف اصلی این فایل این است که اطلاعات سربرگ (header) را به وردپرس برای تشخیص دادن تم زیر مجموعه ارائه دهد، یا دقیق تر اینکه، تشخیص دهد که تم اصلی کدام است.

/*
Theme Name: Folo Child
Description: Child theme for Folo theme
Author: Themify
Template: folo
*/

@import url(“../writer/style.css”);

خط الگو نام فهرست تم اصلی را نشان می دهد (بسته به نوع مورد متفاوت است).

البته، هدف دیگر style.css به خاطر شما است که بتوانید برای طراح ظاهری تم زیر مجموعه ی خود را، ایجاد کنید.
من توصیه می کنم که دستور @ import را دست نخورده باقی بگذارید. این دستور از بارگذاری style.css اصلی (از تم اصلی) به همراه این تم جدید، اطمینان حاصل می کند. به این ترتیب شما می توانید در این فایل، نوشته های جدید ایجاد کنید، یا آنهایی که از قبل موجود هستند را نادیده بگرید و هنوز هم آنهایی را که تغییر داده نشده اند را به طور معمول بارگذاری کنید.

بجز فایل ضروری style.css، تم زیر مجموعه ی شما می تواند هر چیز دیگری را که شما مناسب بدانید را در بر داشته باشد. به عنوان مثال: فایل functions.php، فایل قالب ها، گرافیک ها و فایل های دیگر.

فایل functions.php و فایل های دیگر

فایل functions.php تم زیر مجموعه همتای خود را باطل نمی کند (مانند کاری که style.css می کند – از این رو بود که دستور @ import قبلا ذکر شد). در عوض، درست قبل از فایل functions.php اصلی بارگذاری می شود.

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

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

<?php
/**
* Enqueues child theme stylesheet, loading first the parent theme stylesheet.
*/
function themify_custom_enqueue_child_theme_styles() {
wp_enqueue_style( 'parent-theme-css', get_template_directory_uri() . '/style.css' );
}
add_action( 'wp_enqueue_scripts', 'themify_custom_enqueue_child_theme_styles' );

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

به عنوان مثال، اگر شما یک page.php جدید ایجاد کنید، این فایل به قالب پیش فرض برای هر صفحه ی جدید در وبلاگ شما تبدیل می شود. فایل page.php اصلی از تم اصلی دیگر بارگذاری نخواهد شد.

شما همچنین می توانید فایل های کاملا جدید که در تم اصلی گنجانده نشده است را نیز اضافه کنید. مثلا شاید یک فایل tag.php یا ۴۰۴٫php . همچنین اگر می خواهید یک قالب صفحه سفارشی ایجاد کنید، تم های زیر مجموعه عالی خواهند بود.

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

مثالی برای درک بهتر :

فرض کنید بخواهیم فایل loop.php را در پوشه includes ویرایش کنیم :

فایل loop.php را باز کرده و سپس یک نسخه از آن کپی می گیریم . پس از ویرایش همین فایل را در پوشه includes در پوشه زیرمجموعه ذخیره می کنیم.

 

برچسب ها:
مطالب زیر را حتما بخوانید

دیدگاهتان را بنویسید

نشانی ایمیل شما منتشر نخواهد شد. بخش‌های موردنیاز علامت‌گذاری شده‌اند *

question