Wordpress - 侧边栏列表

时间:2013-09-05 13:35:05

标签: wordpress global sidebar

我正在尝试使用$ wp_registered_sidebars获取包含所有已注册边栏的列表,但它返回一个空数组。

这是我的代码:

foreach ($GLOBALS['wp_registered_sidebars'] as $sidebar)
{
    $sidebar_options[$sidebar['id']] = $sidebar['name'];
}

返回Array()

在页面模板中它可以工作,但不在我的functions.php

有什么想法吗? 感谢

2 个答案:

答案 0 :(得分:3)

将此功能放在主题functions.php

    function get_my_widgets()
    {
    foreach ($GLOBALS['wp_registered_sidebars'] as $sidebar)
    {
        $sidebar_options[$sidebar['id']] = $sidebar['name'];
    }
    }

add_action('init','get_my_widgets');

并像往常一样调用此函数get_my_widgets();以获取已注册的侧栏列表

答案 1 :(得分:0)

在主题functions.php

中添加以下功能
<?php
function my_sidebar_selectbox( $name = '', $current_value = false ) {
    global $wp_registered_sidebars;
    if ( empty( $wp_registered_sidebars ) )
        return;
     foreach ( $wp_registered_sidebars as $sidebar ) :
     echo $sidebar['name'];
     endforeach; 

}
?>

并将其称为my_sidebar_selectbox();它对我有用