Поддержка Темы и шаблоны Настройка виджетов

  • Здравствуйте, создал и зарегистрировал сайтбар. Вывожу виджеты в нем через такой код:

    <div class="sidebar">
    <div class="widget">
    <?php if(!function_exists('dynamic_sidebar') || !dynamic_sidebar('sidebar-novosti')) : ?>
    <?php endif; ?>
    </div>
    </div>

    class «sidebar» — это размеры самого сайтбара, а widget это стили виджетов. Все выводится, однако если добавить несколько виджетов «текст» они сливаются в один блок, Как сделать чтоб все виджеты в данном сайтбаре были в отдельных блоках?

Просмотр 6 ответов — с 1 по 6 (всего 6)
  • ого)) Почему у вас такой необычный код отображения сайдбара?

    Там надо при объявлении сайдбара задавать обертку вокруг виджета, примерно так:

    register_sidebar( array(
    	'name'          => __( 'Sidebar Novosti' ),
    	'id'            => 'sidebar-novosti',
    	'description'   => __( 'Description' ),
    	'before_widget' => '<aside id="%1$s" class="widget %2$s">',
    	'after_widget'  => '</aside>',
    	'before_title'  => '<h1 class="widget-title">',
    	'after_title'   => '</h1>',
    ) );

    А сайдбар выводить вот так:

    <?php if ( is_active_sidebar( 'sidebar-novosti' ) ) : ?>
    	<div class="sidebar">
    		<?php dynamic_sidebar( 'sidebar-novosti' ); ?>
    	</div><!-- .sidebar -->
    <?php endif; ?>

    Свой код я нашел в интернете, он работает но не так как надо, Ваш код мне полностью подошел, спасибо.

    Можно выводить виджеты таким образом?
    Внешне все работает как надо, зарегистрировал 4 сайтбара и для каждого создал свои стили.
    Результат можно посмотреть на тестовом сайте http://fh3806a1.bget.ru
    В индексе их вывожу так:
    (в файле single.php два сайтбара убираю)

    <div class="sidebar">
    <?php get_sidebar(); ?>
    <?php get_sidebar(novosti); ?>
    <?php get_sidebar(films); ?>
    <?php get_sidebar(serial); ?>
    </div>

    В файле function регистрирую так:

    register_sidebar( array(
    'name' => 'sidebar-films',
    'before_widget' => '<div class="films %2$s">',
    				'after_widget'  => '</div>',
    ) );
    
    register_sidebar( array(
    'name' => 'sidebar-serial',
    'before_widget' => '<div class="serial %2$s">',
    				'after_widget'  => '</div>',
    ) );
    
    register_sidebar( array(
    'name' => 'sidebar-novosti',
    'before_widget' => '<div class="novosti %2$s">',
    				'after_widget'  => '</div>',
    ) );
    
    register_sidebar( array(
    'name' => 'sidebar',
    ) );

    А в самих сайтбарах пишу следующий код:

    <?php if(!function_exists('dynamic_sidebar') || !dynamic_sidebar('sidebar-novosti')) : ?>
    <?php endif; ?>

    Можно, только в get_sidebar наверное нужны кавычки.

    чтоб не создавать много тем на форуме, спрошу в этой еще один вопрос.

    Сверстал чистую тему, на которой остается настроить корректную работу плагинов. Скрипт jquery подключил, но плагин со слайдером работает только если его подключать через вот такой код:
    <?php if( function_exists('cyclone_slider') ) cyclone_slider('sl'); ?>

    а если его выводить через код: [cycloneslider id=»sl»] то выводится только код вместо слайдера.
    так же подключил функции:
    <?php wp_head(); ?>
    <?php wp_footer(); ?>
    Скорей всего что-то не хватает для корректной работы тестовый сайт с активной темой: http://fh3806a1.bget.ru/

    Модератор Sergey Biryukov

    (@sergeybiryukov)

    Live and Learn

    чтоб не создавать много тем на форуме, спрошу в этой еще один вопрос.

    Лучше всё-таки создать новую, согласно правилам форума.

Просмотр 6 ответов — с 1 по 6 (всего 6)
  • Тема «Настройка виджетов» закрыта для новых ответов.