0

从这个全局变量:

echo '<pre>';
print_r($wp_registered_sidebars);
echo '</pre>';

我得到这样的输出:

Array
(
    [sidebar-1] => Array
        (
            [name] => Main Sidebar
            [id] => sidebar-1
            [description] => text
            [before_widget] => 
            [after_widget] => 
            [before_title] => 
            [after_title] =>
        )

    [sidebar-2] => Array
        (
            [name] => Footer Sidebar 1
            [id] => sidebar-2
            [description] => text
            [before_widget] => 
            [after_widget] => 
            [before_title] => 
            [after_title] =>
        )

    [sidebar-3] => Array
        (
            [name] => Footer Sidebar 2
            [id] => sidebar-3
            [description] => text
            [before_widget] => 
            [after_widget] => 
            [before_title] => 
            [after_title] =>
        )
)

我永远不知道有多少个侧边栏以及它们是如何命名的。

有没有办法:

  • 仅列出所有侧边栏 ID - sidebar-1、sidebar-2、sidebar-3、
  • 仅列出所有侧边栏名称 - 主侧边栏、页脚侧边栏 1、页脚侧边栏 2、

谢谢!

4

4 回答 4

2
$resultSlideBars = array();
foreach($wp_registered_sidebars as $slidebars)
{
   $resultSlideBars[$slidebars['id']] = $slidebars['name'];    // will store array as array(id => name

}

// ids 
echo implode(' ', array_keys($resultSlideBars)); 
echo implode(' ', $resultSlideBars);   // echo names

或者

foreach($wp_registered_sidebars as $slidebars)
{
   echo $slidebars['id'];      // echo id 
   echo $slidebars['name'];    // echo name
}
于 2011-03-17T13:13:23.317 回答
0
foreach(array_keys($wp_registered_sidebars) as $sidebarID) {
    echo $sidebarID;
}

foreach($wp_registered_sidebars as $sidebar) {
    echo $sidebar['name'];
}
于 2011-03-17T13:13:43.023 回答
0
$sidebarIds = array_keys($wp_registered_sidebars);

$sideBarNames = array();
foreach($wp_registered_sidebars as $row)
{
  $sideBarNames[] = $row['name'];
}
于 2011-03-17T13:14:16.760 回答
0
foreach ($wp_registered_sidebars as $key => $sidebars) {
    回显“侧边栏 ID”。$键;
    回声“侧边栏名称”。$sidebar['name'];
}
于 2011-03-17T13:14:25.623 回答