web-dev-qa-db-ja.com

Get_sidebar()を使用した後にウィジェットがアラートをアクティブにしない

header.phpget_sidebar()関数を使用して私のワードプレステーマのサイドバーを作成している間、私は非常に奇妙な問題に出会いました。

私はfunction.phpに以下のコードを挿入しました。

function myfunc_sidebars_init() {
    register_sidebar(array(
        'name' => __('Main Sidebar', 'mytheme'),
        'description' => __('Widget area for the main sidebar.', 'mytheme'),
        'id' => 'sidebar-main',
        'before_widget' => '<div id="%1$s" class="widget %2$s">',
        'after_widget' => '</div>',
        'before_title' => '<h3 class="widget-title">',
        'after_title' => '</h3>',
        ));
    }
}
add_action( 'widgets_init', 'myfunc_sidebars_init' );

私のsideber.phpはこんな感じです:

<div id="sidebar1" class="fluid-sidebar sidebar span4" role="complementary">

<?php if ( is_active_sidebar( 'sidebar1' ) ) : ?>

    <?php dynamic_sidebar( 'sidebar1' ); ?>

<?php else : ?>

    <div class="alert alert-message">

        <p><?php _e("Please activate some Widgets","mytheme"); ?>.</p>

    </div>

<?php endif; ?>

</div>

管理パネルの外観 - >メニューでサイドバーを選択し、外観 - >ウィジェットでサイドバーにすべてのデフォルトウィジェットを追加しました(検索、最近の投稿、最近のコメントなど).

しかしテーマをロードした後、サイドバーメニューに「ウィジェットを有効にしてください」という警告があります。それはなぜなのか、どうすれば修正できますか?

1
Ziik

myfunc_sidebars_init()sidebar-mainからsidebar1sidebar.phpに変更しました。 sidebar.phpを使用するように変更します

<?php if ( is_active_sidebar( 'sidebar-main' ) ) : ?>

    <?php dynamic_sidebar( 'sidebar-main' ); ?>
1
Pat J