آموزش ساختن مکان ابزارک (سایدبار) برای وردپرس

wordpress sidebar
wordpress sidebar
wordpress sidebar

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

کافیست این کد را درون فایل functions.php قالب سایت خود اضافه کنید
متغییر args از نوع آرایه است و به صورت پیش فرض مانند زیر می توانید از آن استفاده کنید.

name : نام سایدبار را مشخص می کند (پیش فرض آن ستون کناری + id عددی آن)
id : id سایدبار را مشخص می کند توجه داشته باشید که در پارامتر id از حروف انگلیسی کوچک و بدون فاصله باید استفاده شود (پیش فرض به صورت عددی بوده و به طور خودکار به آن عدد اضافه می شود.)
description : تعریف سایدبار در این قسمت قرار می گیرد. این تعریف بر روی صفحه نمایش مدیریت ابزارک ها نشان داده می شود. (پیش فرض آن خالی است)
before_widget : قبل از هر ابزارک وردپرس به صورت تگ html قرار می گیرد.
نکته : متغییرها با استفاده از تابع sprintf جایگزین می شوند.
after_widget : بعد از هر ابزارک وردپرس به صورت تگ html قرار می گیرد
before_title: قبل از هر عنوان ابزارک به صورت تگ های html قرار می گیرد.
after_title: بعد از هر عنوان ابزارک به صورت تگ های html قرار می گیرد.

تابع dynamic_sidebar
با استفاده از این تابع می توانیم سایدبار هایی را که درون فایل functions.php تعریف کرده ایم مورد استفاده قرار دهیم از این تابع به شکل زیر استفاده می کنیم. می توانید این کد را درون sidebar.php و یا مستقیما درون قالب های سایت قرار دهید.

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

مثال:
می خواهیم دو عدد سایدبار برای سایت تعریف کنیم سپس درون قالب home.php قرار دهیم.
در ابتدا با استفاده از تابع register_sidebar به وردپرس می گوییم که ما دو سایدبار داریم. این نوع توابع باید درون فایل functions.php قرار گیرند.

دقت داشته باشید که من در مثال بالا لاین های 006 و 017 از دو کلاس متفاوت برای هر کدام از سایدبار های خودم استفاده کرده ام تا در مراحل بعد با استفاده از خصوصیت های مناسب فایل css متفاوتی برای هرکدام از ساید بار های خودم ایجاد کنم
حالا که سایدبار خودمان را تعریف کرده ایم کافیست آن ها را درون فایل home.php وارد کنیم این کار را با فراخوانی تابع dynamic_sidebar در مکان دلخواه انجام می دهیم.

تابع register_sidebars
این تابع برای ثبت یک یا چند سایدبار مورد استفاده قرار می گیرد.

پارامتر number اختیاری , از نوع عددی بوده و تعداد سایدباری که می خواهید داشته باشید را مشخص می کند. پیش فرض آن مقدار یک می باشد.
متغییر args از نوع آرایه است و به صورت پیش فرض مانند زیر می توانید از آن استفاده کنید.

مثال:
با اضافه کردن کد های زیر به functions.phpدو سایدبار با نام های foobar 1 و foobar 2 می سازیم.

تابع get_sidebar
این تابع فایل sidebar.php تم جاری وردپرس را فراخوانی می کند. نحوه استفاده از آن به شکل زیر است.

در صورتی که شما نام (name) خاصی را برای ستون کناری (سایدبار) در نظر گرفته باشید این تابع فایل  sidebar-{name}.php را جهت نمایش فراخوانی خواهد نمود.
در حقیقت شما می توانید بخش ستون کناری را برای صفحات خاصی از سایت سفارشی سازی نمایید تنها کافیست فایلی با نام  sidebar-{name}.php ایجاد نموده به پوشه تم مورد نظر بیافزایید. سپس توسط تابع فوق در صفحات مورد نظر فراخوانی نمایید . (بخش {name} با نامی که برای ستون کناری سفارشی در نظر گرفته اید جایگزین شود)
در صورتی که پوشه پوسته جاری حاوی فایل sidebar.php یا  sidabar-{name}.php نباشد فایل ستون کناری از پوسته پیش فرض وردپرس در آدرس wp-includes/theme-compat/sidebar.php فراخوانی خواهد شد.

مثال:
اسکریپت زیر قالبی ساده را جهت نمایش صفحه 404 نشان می دهد.

در مثال بالا مشاهده می کنید که پوسته با استفاده از تگ های شرطی وردپرس صفحه جاری را شناسایی نموده و ستون کناری مخصوصی را جهت نمایش فراخوانی می نماید.
جهت اجرای صحیح کد های فوق تم شما باید حاوی فایل های زیر باشد.
sidebar-home.php
sidebar-404.php
محتویات فایل های بالا باید شامل تابع dynamic_sidebar برای فراخوانی سایدبار مناسب هر کدام از فایل های پوسته باشد.

اگر به مشکلی برخورد کردید با ما به اشتراک بگذارید.

۶ پاسخ

  1. به ملودی گفت:

    ممنون ولی نتونستم ساید بار بسازم. میشه کمکم کنید

  2. ممنون از اموزشتون ، ولی میتونید یخورده ساده ترش رو توضیح بدید؟ من خیلی گیج شدم 🙁

  3. الیاس گفت:

    سلام . آدرس و ب سایتم بفرستم خدمت شما می تونید یه ساید بار برام اضافه کنید

  4. رضا گفت:

    خیلی ممنون ولی ای کاش آموزش تصویری هم درست می کردین
    در کل دستتون در نکنه

  5. vbfc گفت:

    سلام من میخواستم سایدبار از چند خط پایین تر اجرا بشه. مثلا از دو سانتی متر پایین تر شروع به نمایش کنه. باید چه تابع و کدی بزنم توی توابع سایدبار

پاسخ دهید

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

2 × پنج =