it-swarm.com.ru

В моей пользовательской теме

Я занимаюсь разработкой этой пользовательской темы WordPress: http://onofri.org/WP_BootStrap и пытаюсь вставить область виджетов в раздел Partner e Sostenitori , но не могу работать.

Я выполнил следующие операции:

1) Я поместил следующий код в файл темы functions.php :

/**
 * Register our sidebars and widgetized areas.
 *
 */
function arphabet_widgets_init() {

    register_sidebar(array(
        'name' => 'My_Widgtet_Area',
        'id' => 'partner-slide',
        'before_widget' => '<div>',
        'after_widget' => '</div>',
        'before_title' => '<h2 class="rounded">',
        'after_title' => '</h2>',
    ));
}

add_action('widgets_init', 'arphabet_widgets_init');

Как вы можете видеть название области виджетов: My_Widgtet_Area

2) Затем я вставил следующий код в мой файл index.php для отображения виджетов в нужных местах:

<section id="partnerSlide">
    <header class="header-sezione">
        <h2>Partner e Sostenitori</h2>
    </header>
    <div class="row">
        <?php
            // 'My_Widgtet_Area' area, where the id is called:
            if (is_active_sidebar( 'My_Widgtet_Area' ) ) : ?>

            <div id="widget-sidebar">
                <ul>
                    <?php dynamic_sidebar( 'My_Widgtet_Area' ); ?>
                </ul>
            </div><!-- #widget-sidebar .widget-area -->

        <?php endif; ?>
    </div>
</section>

3) Затем я вошел в административную панель WP и ​​в раздел Внешний вид ---> Виджет . У меня есть поле My_Widget_Area ", куда я могу перетащить виджеты в моей установке WordPress. Поэтому я вставил в него какой-нибудь виджет (как Календарь и Поиск wigets), чтобы попробовать его

Проблема в том, что, как вы можете видеть в предыдущей ссылке, текст Partner e Sostenitori записан, но на моей странице не отображается виджет.

Зачем? Что мне не хватает? Как я могу решить эту проблему?

Tnx

Andrea

2
AndreaNobili

Вы используете имя виджета, а не i.d, поэтому он не работает.

Правка это:

if (is_active_sidebar( 'My_Widgtet_Area' ) ) : ?>

        <div id="widget-sidebar">
            <ul>
                <?php dynamic_sidebar( 'My_Widgtet_Area' ); ?>
            </ul>

К этому:

if (is_active_sidebar( 'partner-slide' ) ) : ?>

        <div id="widget-sidebar">
            <ul>
                <?php dynamic_sidebar( 'partner-slide' ); ?>
            </ul>

I.d в теге шаблона, приведенном выше, должен совпадать с i.d, который вы используете для регистрации виджета в файле функций, в данном случае partner-slide

register_sidebar(array(
    'name' => 'My Widget Area',
    'id' => 'partner-slide',

Это одна очевидная проблема, и могут быть и другие, однако вы должны следовать Кодексу, поскольку он предоставляет рабочие примеры со связанными ссылками http://codex.wordpress.org/Function_Reference/dynamic_sidebar

2
Brad Dalton