web-dev-qa-db-ja.com

複数のサイドバーを追加する

こんにちはすべて私は私の現在2つのサイドバーがfunctions.phpに登録されているように私のワードプレスサイトに複数のサイドバーを追加したいと思います。

function themename_widgets_init() {
    register_sidebar( array(
        'name'          => __( 'Sidebar', 'themename' ),
        'id'            => 'sidebar-1',
        'description'   => 'Sidebar for all pages',
        'before_widget' => '<aside id="%1$s" class="widget %2$s">',
        'after_widget'  => '</aside>',
        'before_title'  => '<h1 class="widget-title">',
        'after_title'   => '</h1>',
    ) );

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



}
add_action( 'widgets_init', 'themename_widgets_init' );

私のsidebar.phpに私は現在私のサイドバーにデフォルトのデータを追加するこのコードを持っています。

<div id="secondary" class="widget-area" role="complementary">
        <?php if ( ! dynamic_sidebar( 'sidebar-1' ) ) : ?>

            <aside id="search" class="widget widget_search">
                <?php get_search_form(); ?>
            </aside>

            <aside id="archives" class="widget">
                <h1 class="widget-title"><?php _e( 'Archives', 'themename' ); ?></h1>
                <ul>
                    <?php wp_get_archives( array( 'type' => 'monthly' ) ); ?>
                </ul>
            </aside>

            <aside id="meta" class="widget">
                <h1 class="widget-title"><?php _e( 'Meta', 'themename' ); ?></h1>
                <ul>
                    <?php wp_register(); ?>
                    <li><?php wp_loginout(); ?></li>
                    <?php wp_meta(); ?>
                </ul>
            </aside>

        <?php endif; // end sidebar widget area ?>
    </div><!-- #secondary -->

私の読んだものから私のsidebar-2に対して同じことをする方法を誰かが知っているなら、私は私がやったsidebar-2.phpを作成しなければなりません。

            <aside id="search" class="widget widget_search">
                <?php get_search_form(); ?>
            </aside>

            <aside id="archives" class="widget">
                <h1 class="widget-title"><?php _e( 'Archives', 'themename' ); ?></h1>
                <ul>
                    <?php wp_get_archives( array( 'type' => 'monthly' ) ); ?>
                </ul>
            </aside>

            <aside id="meta" class="widget">
                <h1 class="widget-title"><?php _e( 'Meta', 'themename' ); ?></h1>
                <ul>
                    <?php wp_register(); ?>
                    <li><?php wp_loginout(); ?></li>
                    <?php wp_meta(); ?>
                </ul>
            </aside>

        <?php endif; // end sidebar widget area ?>
    </div><!-- #secondary -->

しかし残念ながらそれはうまくいっていません誰もが理由を知っていますか?

1
steamfunk

サイドバーファイルの名前がsidebar-1.phpの場合、get_sidebar()WP Codex )関数の正しい使い方は次のようになります。

<?php get_sidebar( '1' ); ?>
0
karpstrucking