【发布时间】:2017-04-10 20:58:27
【问题描述】:
我编写了以下循环来更快地创建 WordPress 自定义控件:
<?php
/* Creates "Color Scheme" section */
$wp_customize->add_panel('color_scheme', array(
'title' => 'Color Scheme',
'priority' => 120,
));
/* Creates "Navbar" section */
$wp_customize->add_section('navbar', array(
'title' => 'Navbar',
'description' => '',
'priority' => 120,
'panel' => 'color_scheme'
));
/* Navbar Color Controls */
$color_controls = array("menu-bg-color", "menu-button-color", "menu-site-title-color", "menu-overlay-bg-color", "menu-items-color");
$color_labels = array("Background Color", "Button Color", "Title Color", "Overlay Background Color", "Overlay Item Color");
foreach($color_controls as $control) {
foreach($color_labels as $label) {
$wp_customize->add_setting($control);
$wp_customize->add_control(new WP_Customize_Color_Control($wp_customize, $control, array(
'label' => $label,
'section' => 'navbar',
'settings' => $control
)));
}
}
?>
这是结果:Screenshot of my WordPress customizer 它不循环遍历标签,只使用最后一个值。
【问题讨论】:
-
您确定要在此处使用嵌套循环吗?您的控件和标签似乎是 1:1 匹配的。您想要一个带有标签“背景颜色”的控件“menu-bg-color”...带有标签“按钮颜色”的控件“menu-button-color”等等,对吧?
-
是的,我希望我的控件和标签匹配。我想我想要一个嵌套循环,但如果有更好的方法,我肯定想学习如何。
标签: php arrays wordpress foreach nested-loops