我正在尝试使用$ wp_registered_sidebars获取包含所有已注册边栏的列表,但它返回一个空数组。
这是我的代码:
foreach ($GLOBALS['wp_registered_sidebars'] as $sidebar)
{
$sidebar_options[$sidebar['id']] = $sidebar['name'];
}
返回Array()
在页面模板中它可以工作,但不在我的functions.php
中有什么想法吗? 感谢
答案 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();
它对我有用