رفتن به مطلب

آموزش کامل ایجاد ابزارک یا سایدبار در وردپرس


پست های پیشنهاد شده

  • مدیریت کل سایت

آموزش کامل ایجاد ابزارک یا سایدبار در وردپرس

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

شما می توانید به تعداد دلخواه درون تم خود از سایدبار های متفاوتی استفاده

کنید و محدودیتی در این مورد ندارید.

 

این تابع برای تعریف یک سایدبار سایت مورد استفاده قرار می گیرد و به صورت زیر می توانید از آن استفاده کنید.

 

 

<?php register_sidebar( $args ); ?> 

 

 

کافیست این کد را درون فایل functions.php قالب سایت خود اضافه کنید

 

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

 

$args = array('name'          => __(  'Sidebar name', 'theme_text_domain' ),'id'            =>  'unique-sidebar-id','description'   => '','class'     	=>  '','before_widget' => '<li id="%1$s" class="widget  %2$s">','after_widget'  => '</li>','before_title'  =>  '<h2 class="widgettitle">','after_title'   => '</h2>' ); 

 

 

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 و یا مستقیما

درون قالب های سایت قرار دهید.

 

 

<?php dynamic_sidebar($index)?> 

 

 

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

 

<?php dynamic_sidebar($index)?> 

 

 

مثال:

 

می خواهیم دو عدد سایدبار برای سایت تعریف کنیم سپس درون قالب home.php قرار دهیم.

 

در ابتدا با استفاده از تابع register_sidebar به وردپرس می گوییم که ما دو

سایدبار داریم. این نوع توابع باید درون فایل functions.php قرار گیرند.

 

<?phpregister_sidebar(array('name' =>  'Sidebar1','id' => 'left-top','description' =>  'سایدبار سمت چپ  بالا' ,'before_widget' => '<div class="widget   widget_top">','after_widget' => '</div>','before_title'  => '<div class="widget_title"><h4>','after_title' =>  '</h4></div>',));register_sidebar(array('name' =>  'Sidebar2','id' => 'top-right','description' =>  'سایدبار سمت  راست','before_title' => '<div  class="widget_title"><h4>','after_title' =>  '</h4></div>','before_widget' => '<div class="widget   widget_right">','after_widget' => '</div>',)); ?> 

 

 

دقت داشته باشید که من در مثال بالا لاین های 006 و 017 از دو کلاس متفاوت

برای هر کدام از سایدبار های خودم استفاده کرده ام تا در مراحل بعد با

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

خودم ایجاد کنم

 

حالا که سایدبار خودمان را تعریف کرده ایم کافیست آن ها را درون فایل

home.php وارد کنیم این کار را با فراخوانی تابع dynamic_sidebar در مکان

دلخواه انجام می دهیم.

 

 

<?php dynamic_sidebar('Sidebar1'); ?><?php dynamic_sidebar('Sidebar2'); ?> 

 

 

 

تابع register_sidebars

 

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

 

کد:

 

 

 <? php register_sidebars( $number, $args ); ?> 

 

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

 

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

 

کد:

 

 

 $args = array('name'          => __('Sidebar %d'),'id'             => "sidebar-$i",'description'   => '','class'     	=>  '','before_widget' => '<li id="%1$s" class="widget  %2$s">','after_widget'  => '</li>','before_title'  =>  '<h2 class="widgettitle">','after_title'   => '</h2>' ); 

 

 

 

 

مثال:

 

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

کد:

 

 

 <?php register_sidebars(2, array('name'=>'Foobar %d')); ?> 

 

 

 

تابع get_sidebar

 

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

 

کد:

 

 

 <?php get_sidebar( $name ); ?> 

 

 

 

 

در صورتی که شما نام (name) خاصی را برای ستون کناری (سایدبار) در نظر

گرفته باشید این تابع فایل sidebar-{name}.php را جهت نمایش فراخوانی

خواهد نمود.

 

در حقیقت شما می توانید بخش ستون کناری را برای صفحات خاصی از سایت سفارشی

سازی نمایید تنها کافیست فایلی با نام sidebar-{name}.php ایجاد نموده به

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

نمایید . (بخش {name} با نامی که برای ستون کناری سفارشی در نظر گرفته اید

جایگزین شود)

 

در صورتی که پوشه پوسته جاری حاوی فایل sidebar.php یا sidabar-{name}.php

نباشد فایل ستون کناری از پوسته پیش فرض وردپرس در

آدرس wp-includes/theme-compat/sidebar.php فراخوانی خواهد شد.

 

مثال:

 

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

کد:

 

<?php  get_header(); ?><h2>Error 404 - Not Found</h2><?phpif  ( is_home() ) {get_sidebar( 'home' );}elseif ( is_404() ) {get_sidebar(  '404' );} else {get_sidebar();}?><?php get_footer(); ?>

 

 

 

 

 

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

صفحه جاری را شناسایی نموده و ستون کناری مخصوصی را جهت نمایش فراخوانی می

نماید.

 

جهت اجرای صحیح کد های فوق تم شما باید حاوی فایل های زیر باشد.

 

sidebar-home.php

 

sidebar-404.php

 

محتویات فایل های بالا باید شامل تابع dynamic_sidebar برای فراخوانی سایدبار مناسب هر کدام از فایل های پوسته باشد.

 

اگر به مشکلی برخورد کردید همین جا مطرح کنید.

لینک به دیدگاه
به اشتراک گذاری در سایت های دیگر

مهمان
این موضوع برای عدم ارسال قفل گردیده است.
×
×
  • اضافه کردن...