我正在注册我的边栏,如下所示:
$sidebars = array (
\'sidebar-10\' => \'Main Sidebar\',
\'sidebar-11\' => \'Homepage Area One\',
\'sidebar-12\' => \'Homepage Area Two\',
\'sidebar-13\' => \'Homepage Area Three\',
\'sidebar-14\' => \'Homepage Area Four\',
\'sidebar-15\' => \'Footer Area One\',
\'sidebar-16\' => \'Footer Area Two\',
\'sidebar-17\' => \'Footer Area Three\',
\'sidebar-18\' => \'Footer Area Four\',
\'sidebar-19\' => \'After first post area\',
\'sidebar-20\' => \'Below header area\',
);
foreach ( $sidebars as $sidebar ) {
register_sidebar(
array (
\'name\' => __( $sidebar, \'pietergoosen\' ),
\'id\' => $sidebar,
\'before_widget\' => \'<aside id="%1$s" class="widget %2$s">\',
\'after_widget\' => \'</aside>\',
\'before_title\' => \'<h3 class="widget-title">\',
\'after_title\' => \'</h3>\',
));
}
Main Sidebar
是我的小部件的名称。我需要设置
sidebar-10
作为小部件id。与我的数组中的其余部分相同。
有没有解决这个问题的建议
最合适的回答,由SO网友:Andrew Bartel 整理而成
您只需要使用foreach的备用语法。从php manual:
foreach构造提供了一种在数组上迭代的简单方法。foreach仅适用于数组和对象,当您尝试在具有不同数据类型的变量或未初始化的变量上使用它时,它将发出错误。有两种语法:
foreach (array_expression as $value)
statement
foreach (array_expression as $key => $value)
statement
例如:
foreach ( $sidebars as $id => $sidebar) {
register_sidebar(
array (
\'name\' => __( $sidebar, \'pietergoosen\' ),
\'id\' => $id,
\'before_widget\' => \'<aside id="%1$s" class="widget %2$s">\',
\'after_widget\' => \'</aside>\',
\'before_title\' => \'<h3 class="widget-title">\',
\'after_title\' => \'</h3>\',
));
}