我正在寻找一种在插件的settings\\u字段中将复选框列表保存为数组的方法。我目前有:
<?php
$WPusers = get_users( \'orderby=nicename&role=administrator\' );
foreach ( $WPusers as $user ) { ?>
<input type="checkbox" name="<?php echo $this->plugin_name; ?>[users]" id="<?php echo $this->plugin_name; ?>-users" value="<?php echo $user->ID; ?>" <?php checked( $user->ID, $options[\'users\'], false ); ?> />
<label for="<?php echo $this->plugin_name; ?>[users<?php echo $user->ID; ?>]"><?php echo $user->display_name; ?></label>
<?php } ?>
唯一的问题是,它只保存一个选项,而不是所有复选框的数组。我很想看到一种将所有选中的用户存储在插件的一个选项中的方法。
因为我对WP开发和PHP一般来说都是新手,所以这对我来说是全新的。
最合适的回答,由SO网友:CodeMascot 整理而成
改变现状[user]
到[users][]
. 希望这能解决问题。现在,您将获得以下关联数组中的所有值[users][\'your-checkbox-data-array\']
所以你的代码是-
<?php
$WPusers = get_users( \'orderby=nicename&role=administrator\' );
foreach ( $WPusers as $user ) { ?>
<input type="checkbox" name="<?php echo $this->plugin_name; ?>[users][]" id="<?php echo $this->plugin_name; ?>-users" value="<?php echo $user->ID; ?>" <?php checked( $user->ID, $options[\'users\'], false ); ?> />
<label for="<?php echo $this->plugin_name; ?>[users<?php echo $user->ID; ?>]"><?php echo $user->display_name; ?></label>
<?php } ?>