3

我想使用设置 API 为主题选项页面中的字段使用“多选字段”。

我尝试使用下面的代码,但无法保存所有选定的值,它只保存最后一个选定的值。

add_action('admin_menu', 'create_theme_options_page');

function create_theme_options_page() {  
add_options_page('Theme Options', 'Theme Options', 'administrator', 'inc/site-options.php', 'build_options_page');
}

add_action('admin_init', 'register_and_build_fields');

function register_and_build_fields() {   
register_setting('plugin_options', 'plugin_options', 'validate_setting');
add_settings_field('clusters', 'Choose Clusters to show:', 'cluster_setting', __FILE__, 'site_section');
} 

function cluster_setting() {  
$options = get_option('plugin_options');

echo "<select name='plugin_options[clusters]' multiple='multiple'>
<option value='location'>Location</option>
<option value='role'>Role</option>
<option value='functional'>Functional Area</option>
<option value='industry'>Industry</option>
</select>"
}

如何从选择元素中选择多个值并保存它们。

任何帮助将不胜感激。

4

1 回答 1

7

尝试使用

<select name='plugin_options[clusters][]' multiple='multiple'>

反而。这将确保 clusters 值保存为数组而不是字符串

于 2013-09-07T17:20:09.347 回答