web-dev-qa-db-fra.com

Ajout de plusieurs barres latérales

Bonjour tout le monde, je voudrais ajouter plusieurs barres latérales sur mon site wordpress J'ai actuellement 2 barres latérales enregistrées dans functions.php comme suit:

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' );

dans mon sidebar.php, j'ai actuellement ce code qui ajoutera des données par défaut à mes barres latérales si je n'ai ajouté aucun widget.

<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 -->

Est-ce que quelqu'un saurait comment faire la même chose pour mon sidebar-2 d'après ce que j'ai lu, je dois créer un sidebar-2.php que j'ai fait et inclus le même code que ci-dessus, comme ceci:

            <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 -->

Mais malheureusement, ça ne marche pas, est-ce que quelqu'un sait pourquoi?

1
steamfunk

Si votre fichier de barre latérale s'appelle sidebar-1.php, l'utilisation correcte de la fonction get_sidebar() ( WP Codex ) serait:

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