Support

Account

Home Forums General Issues $wp_registered_sidebars is showing an empty array?

Solved

$wp_registered_sidebars is showing an empty array?

  • Hello, I am trying to load array $wp_registered_sidebars in my select box but I have no idea why this variable which returns array of sidebar, returning an empty array.

    When same variable is called from template files its returning sidebar array as expected.

    Please help.

    
    global $wp_registered_sidebars;
    
    $sidebar_array = array();
    $dp_sidebars = $wp_registered_sidebars;
    
    foreach ( $dp_sidebars as $sidebar ) {
    	$sidebar_array[$sidebar['name']] = $sidebar['name'];
    }
    
    array (
    	'key'               => 'field_51defba5324c3',
    	'label'             => 'Choose Sidebar',
    	'name'              => 'choose_post_sidebar',
    	'type'              => 'select',
    	'instructions'      => 'Select the sidebar you wish to display on this post. Note: You must first create the sidebar under Appearance > Sidebars.',
    	'conditional_logic' => array (
    		'status' => 1,
    		'rules'  => array (
    			array (
    				'field'    => 'field_51defb45324c2',
    				'operator' => '==',
    				'value'    => 'default',
    			),
    			array (
    				'field'    => 'field_51defb45324c2',
    				'operator' => '==',
    				'value'    => 'right_sidebar',
    			),
    			array (
    				'field'    => 'field_51defb45324c2',
    				'operator' => '==',
    				'value'    => 'left_sidebar',
    			),
    		),
    		'allorany' => 'any',
    	),
    	'choices'       => $sidebar_array,
    	'default_value' => '',
    	'allow_null'    => 0,
    	'multiple'      => 0,
    ),
    
  • Hi @Haikbvn

    Have you attempted to debug the code?

    You are assuming that variable such as $wp_registered_sidebars hold the data, but what if they don’t?

    A simple debug test is to dump the varaible:

    
    print_r( $wp_registered_sidebars );
    
  • Hi @elliot

    I tried to debug the code, but it still does not work? Do you have any idea?

    Thanks for your support!

  • Please @Haikbvn, post the “print_r” result here.

  • Hi @roberto.c, @elliot

    print_r( $wp_registered_sidebars );

    It returns empty array.

    Array()

    What is my code missing?

    Thanks

  • I bet that you need to call it inside a hook, in order to use it.
    Where did you put that code?

    Try to call it inside hook “init” or “wp”.

  • Hi @elliot, @roberto.c

    I called it inside a hook, and it worked. 😀

    Thanks for your support. 😀

Viewing 7 posts - 1 through 7 (of 7 total)

The topic ‘$wp_registered_sidebars is showing an empty array?’ is closed to new replies.