مدیریت کل سایت Saberian 1,792 ارسال شده در آبان 13، 1393 مدیریت کل سایت گزارش اشتراک گذاری ارسال شده در آبان 13، 1393 آموزش کامل ایجاد ابزارک یا سایدبار در وردپرس محل قرار گرفتن ابزارک های وردپرس درون تم را به اصطلاح سایدبار می گوییم شما می توانید به تعداد دلخواه درون تم خود از سایدبار های متفاوتی استفاده کنید و محدودیتی در این مورد ندارید. این تابع برای تعریف یک سایدبار سایت مورد استفاده قرار می گیرد و به صورت زیر می توانید از آن استفاده کنید. <?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 برای فراخوانی سایدبار مناسب هر کدام از فایل های پوسته باشد. اگر به مشکلی برخورد کردید همین جا مطرح کنید. لینک به دیدگاه به اشتراک گذاری در سایت های دیگر More sharing options...
پست های پیشنهاد شده