آموزش های وردپرس

آموزش جامع Child Theme و استفاده از آن در وردپرس

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

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

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

Child Theme چیست؟

وقتی از تم فرزند یا child theme صحبت میکنیم، اولین چیزی که به ذهنمان خطور میکند، وجود یک رابطه پدر و فرزندی است. منظور از پوسته فرزند، پوسته ای است که ویژگی ها و امکانات خود را از یک قالب والد به ارث میبرد.

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

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

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

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

ویژگی های Parent Theme

به طور کلی و ساده باید گفت قالب والد باید به گونه ای بسیار قدرت مند باشد و از توابع محدود و ویژگی های ضعیف در آن ها استفاده نشده باشد. قالب والد باید طوری باشد که طراحان هر لحظه ای که خواستند بتوانند بدون مشکل قالب فرزند را به سادگی سفارشی سازی کنند.

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

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

به طور کلی میتوان گفت که زمانی از Child Theme استفاده میکنیم که میخواهیم از امکانات و ویژگی های قالب والد مورد نظرمان بهره مند شویم ولی در عین حال برخی از بخش های آن را به دلخواه سفارشی کنیم.

مزایای استفاده از قالبهای فرزند(Child Themes)

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

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

یک قالب فرزند می تواند شامل فایل ها و پوشه های تصاویر، جاوا اسکریپت، CSS و … باشد. نکته زیبا اینجاست که، وجود هیچ یک از این فایل ها ضروری نیست، اما در صورت نیاز می توانید به هر تعداد که تمایل دارید از آن ها استفاده کنید.

این مطلب را از دست ندهید :
رفع خطای حالت تعمیر یا maintenance در وردپرس

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

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

هر امکان و ویژگی علاوه بر نکات مثبت ممکن است دارای نکات منفی و معایبی نیز باشد. در زیر به معایب استفاده از قالبهای فرزند اشازه می کنیم:

  • ممکن است شرایطی پیش بیاید که توسعه دهندگان قالب والد شما، تصمیم بگیرند دیگر قالب مورد نظر را آپدیت نکنند. یا ممکن است ویژگی را از قالب والد حذف کنند که موجب از کار افتادن child theme شما شود. البته طبعا با توجه به اپن سورس بودن قالب های وردپرس، ممکن است این مسئله، آنقدر ها هم ترسناک نباشد اما به هر حال باید چنین شرایطی را هم در نظر گرفت. بنابراین بهتر است از قالب ها و فریم ورک هایی به عنوان قالب والد استفاده کنید که پشتوانه ای مناسب و آینده ای قابل پیش بینی داشته باشند.
  • یکی دیگر از معایب استفاده از تم فرزند، زمانی است که باید صرف یادگیری نحوه کارکرد پوسته یا فریم ورک والد شود. طبعا وقتی کار با یک قالب جدید را به عنوان قالب والد انتخاب میکنید، لازم است که مدتی را صرف آشنایی با بخش های مختلف و امکانات آن بکنید تا بتوانید پوسته فرزند خود را به خوبی بر اساس آن بنا کنید.

آموزش ساختن Child Theme در وردپرس

ایجاد تم فرزند در وردپرس به دو شیوه امکان پذیر است. در این آموزش ما به شرح یکی از این روش ها بسنده می کنیم. برای ایجاد پوسته فرزند میتوانید به شکل زیر عمل کنید :

1 -ابتدا یک فولدر برای پوسته فرزند خود ایجاد کنید. برای نامگذاری فولدر بهتر است از فرمت نام قالب والد به همراه عبارت child  پیروی کنید. مثلا اگر نام قالب والد ما wpnarenji باشد، نام پوسته فرزند را به شکل wpnarenji-child انتخاب میکنیم. ( البته این روش نام گذاری اجباری نیست و فقط برای راحتی تشخیص قالب فرزند می باشد.)

2- یک تصویر مناسب با نام screenshot با فرمت png یا jpg در این فولدر قرار دهید. این تصویر را میتوانید از پوسته والد کپی کنید یا اینکه خودتان تصویری را به دلخواه ایجاد کنید.

3- یک فایل با نام style.css ایجاد کرده و اطلاعات قالب فرزند را در آن قرار دهید و سپس استایلهای پوسته والد را نیز در آن فراخوانی کنید. برای مثال:

/*

Theme Name: WPnarenji Child Theme

Theme URI: https://wpnarenji.ir

Author: wpnarenji.ir

Author URI: http:// wpnarenji.ir

Description: Your Description Here

Version: 1.0

Template: wpnarenji

*/

@import url("../wpnarenji/style.css");

/* Start Customizing Here */

در کد بالا توجه ویژه ما باید به خط 8 باشد. با درج عبارت Template: wpnarenji در این بخش به وردپرس اعلام می کنید که قالب فعلی ما یک Child Theme بوده و پوسته والد آن در فولدر wpnarenji قرار گرفته است. توجه داشته باشید که حروف کوچک و بزرگ در اینجا حائز اهمیت هستند بنابراین نام فولدر پوسته والد را به طور دقیق در اینجا وارد کنید. همچنین در خط 11 که استایلهای پوسته والد را فراخوانی کرده ایم، لازم است که بجای عبارت wpnarenji نام فولدر پوسته والد مورد نظرتان را وارد کنید.

این مطلب را از دست ندهید :
افزودن دکمه بازگشت به بالا در وردپرس

4- همین کار را برای فایل rtl.css نیز تکرار کنید. حتی اگر پوسته والد شما فاقد فایل rtl.css باشد نیز وردپرس توصیه میکند این فایل را ایجاد کرده و در فرصت مناسب استایلهای مناسب را برای آن ایجاد کنید. اگر پوسته والد شما دارای فایل rtl.css است، فراموش نکنید که آن را به شیوه ای که در مرحله قبل گفته شد، در فایل rtl.css پوسته فرزندتان فراخوانی کنید. اگر هم پوسته والد فاقد این استایلهاست، نیازی به فراخوانی فایل مورد نظر نخواهد بود.

5- یک فایل با نام functions.php جهت ویرایش های بعدی ایجاد کرده و کد زیر را در آن قرار دهید تا امکان استفاده از php در آن میسر باشد :

<?php

/* Start Custom Functions */

/* End Custom Functions */

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

آموزش نصب Child Theme در وردپرس

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

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

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

عاطفه نوربخش

عاطفه نوربخش هستم؛ هم بنیانگذار " وردپرس نارنجی " که حاصل تجربه های خودم در حوزه تخصصی وردپرس را برایتان می نویسم و تلاش میکنم به شما کمک کنم تا با سیستم مدیریت محتوای وردپرس، سایت وردپرسی ای زیبا و حرفه ای داشته باشید.

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

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

۲ دیدگاه

  1. سلام روز بخیر
    هنگام بروز رسانی فقط باید قالب والد رو بروز کنیم و در هاست آپلود کنیم دیگه ؟ یا فرزند رو هم بروز کنیم؟؟

    1. درود
      بله دقیقا برای همین دلیل هست که از تم فرزند استفاده می کنیم تا اطلاعات و تغییراتی دادیم از بین نروند.
      فراموش نکنید قبل از آپدیت حتما بک آپ بگیرید.

دوره آموزش وردپرس در اصفهانثبت نام رایگان (کد تخفیف : WpNarenji)
+