theme development - How to add multiple custom widget areas

admin2025-06-04  4

I'm looking to add multiple widget areas to a page in my theme as id like to have widgets within certain pages. I can add one using this code, I'm just struggling with a second.

function new_sidebar_widget_init() {

register_sidebar( array(
    'name' => 'new-sidebar',
    'id' => 'new-sidebar',
    'before_widget' => '<div id="new-sidebar">',
    'after_widget' => '</div>',
    'before_title' => '',
    'after_title' => '',
) );
}
add_action( 'widgets_init', 'new_sidebar_widget_init' ); 

Then to place it in on my page:

<?php  dynamic_sidebar( 'new-sidebar' ); ?> 

I'm looking to add multiple widget areas to a page in my theme as id like to have widgets within certain pages. I can add one using this code, I'm just struggling with a second.

function new_sidebar_widget_init() {

register_sidebar( array(
    'name' => 'new-sidebar',
    'id' => 'new-sidebar',
    'before_widget' => '<div id="new-sidebar">',
    'after_widget' => '</div>',
    'before_title' => '',
    'after_title' => '',
) );
}
add_action( 'widgets_init', 'new_sidebar_widget_init' ); 

Then to place it in on my page:

<?php  dynamic_sidebar( 'new-sidebar' ); ?> 
Share Improve this question edited Jan 14, 2019 at 9:53 Krzysiek Dróżdż 25.6k9 gold badges53 silver badges74 bronze badges asked Jan 14, 2019 at 9:45 Steve KondiaynnisSteve Kondiaynnis 231 silver badge3 bronze badges
Add a comment  | 

1 Answer 1

Reset to default 6

You have to register multiple areas:

function new_sidebar_widget_init() {
   register_sidebar( array(
        'name' => 'new-sidebar',
        'id' => 'new-sidebar',
        'before_widget' => '<div id="new-sidebar">',
        'after_widget' => '</div>',
        'before_title' => '',
        'after_title' => '',
    ) );
    register_sidebar( array(
        'name' => 'new-sidebar-1',
        'id' => 'new-sidebar-1',
        'before_widget' => '<div id="new-sidebar">',
        'after_widget' => '</div>',
        'before_title' => '',
        'after_title' => '',
    ) );
}
add_action( 'widgets_init', 'new_sidebar_widget_init' ); 

And then you can use them based on their ID:

<?php  dynamic_sidebar( 'new-sidebar' ); ?> 

<?php  dynamic_sidebar( 'new-sidebar-1' ); ?> 
转载请注明原文地址:http://conceptsofalgorithm.com/Algorithm/1749015161a315632.html

最新回复(0)