آموزش ساخت سایدبار برای وردپرس

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

<?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 قرار گیرند.
<?php
register_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>',
));
?>
دقت داشته باشید که من در مثال بالا لاین های ۰۰۶ و ۰۱۷ از دو کلاس متفاوت برای هر کدام از سایدبار های خودم استفاده کرده ام تا در مراحل بعد با استفاده از خصوصیت های مناسب فایل 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 فراخوانی خواهد شد.

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

<?php get_header(); ?>
<h2>Error 404 - Not Found</h2>
<?php
if ( 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 برای فراخوانی سایدبار مناسب هر کدام از فایل های پوسته باشد.

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

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

منبع : webnma.com

خشایار توکلی

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

اضافه کردن دیدگاه

تماس با ما

جهت تماس با مدیر وب سایت با شماره 09307957745 در تماس باشید یا به این ایمیل webnma.com@gmail.com پیام دهید