所有, 我有以下代码:
array(
'id' => 'tweet_slider',
'name' => __( 'Slide', TB_GETTEXT_DOMAIN ),
'desc' => __( 'Select the icon you\'d like shown before the Tweet.', TB_GETTEXT_DOMAIN ),
'type' => 'select',
'std' => 'twitter_display_option',
'options' => array(
'single_twitter' => __( 'Show Single Tweet', TB_GETTEXT_DOMAIN ),
'slider_twitter' => __( 'Show Twitter Slider', TB_GETTEXT_DOMAIN ),
)
),
这工作正常,但我基本上想动态地将选项添加到我的选项数组中。我尝试做这样的事情:
$menus = wp_get_nav_menus();
foreach ( $menus as $menu ) :
$menu_options = 'single_twitter' => __( 'Show Single Tweet', TB_GETTEXT_DOMAIN ),
endforeach;
$menu_options = (array)$menu_options;
array(
'id' => 'menu_options',
'name' => __( 'Enter in your Menu Options', TB_GETTEXT_DOMAIN ),
'desc' => __( 'Enter in your menu options.', TB_GETTEXT_DOMAIN ),
'std' => '',
'type' => 'select',
'options' => $menu_options,
),
这给了我错误:
解析错误:语法错误,意外的T_DOUBLE_ARROW
有没有办法去做这样的事情?谢谢
试试这个:
$menu_options = array();
foreach ( $menus as $menu ) :
$menu_options[] = array( 'single_twitter' => __( 'Show Single Tweet', TB_GETTEXT_DOMAIN));
endforeach;
编辑:根据评论,您可以尝试以下操作:
foreach ( $menus as $menu ) :
$menu_options[] = array( $menu->menu_id => __( $menu->name, TB_GETTEXT_DOMAIN));
endforeach;
您收到语法错误,因为您不能在该位置使用
=>
符号。您可以使用以下方法将项目添加到数组中:
$menu_options['single_twitter'] = __( 'Show Single Tweet', TB_GETTEXT_DOMAIN );
或者一般来说:
$menu_options = array();
foreach ($menus as $menu) {
$key = ...
$value = ...
$menu_options[$key] = $value;
}
其中
$key
和 $value
是使用 $menu
获得的。在主数组中,您可以编写:
'options' => $menu_options
从头开始构建数组的方法是
$myArray = array();
$myArray['some_key'] = some_value ;
$myArray['some_other_key'] = some_other_value ;
尝试将其应用于 foreach 循环中的情况。