arrays - WordPress 插件设置类中的动态数组选项

标签 arrays wordpress api plugins multi-select

对于我的一个插件,我需要向我的插件选项添加多选,但多选中的选项是动态的(从给定站点的用户角色自动生成)。

    $this->settings['manageraccess'] = array(
        'section' => 'manager',
        'title'   => __('Manager Mode Access'),
        'desc'    => __(''),
        'type'    => 'manageraccess',
        'std'     => '',
        'dflt'    => '',
        'helplink'=> 'yes',
        'submit' => 'yes'                   
    );

通常我会添加:

'choices' => array(
    'op1' => 'Option 1',
    'op2' => 'Option 2',
),

到上面的数组,但我需要动态生成它们,就像我在选择框中所做的那样。我的现场案例如下所示:

        case 'manageraccess':
            global $wp_roles;
            $all_roles = $wp_roles->roles; 
            $editable_roles = apply_filters('editable_roles', $all_roles); 
            echo '<select multiple="multiple" class="select chozed-select' . $field_class . '" name="myplugin_options[' . $id . '][]" data-placeholder="&nbsp;">';
            foreach($editable_roles as $role=>$theroles){
                echo '<option value="' . esc_attr($role) . '" '.selected($options[$id], $role, false) . '>'.$wp_roles->role_names[$role].'</option>';
            }
            echo '</select>' . $helplink;
            if ($desc != '')
            echo '<br /><div class="ssfa-description">' . $desc . '</div>'; 
            if ($submit != null)
            echo '<br /><br /><br />'.$submit;                  
        break;          

最佳答案

好吧,我想通了。

public function get_settings(){
    global $wp_roles;

    $this->settings['managertest'] = array(
        'section' => 'manager',
        'title'   => __('Manager Mode Access'),
        'desc'    => __(''),
        'type'    => 'multi_select',
        'std'     => '',
        'dflt'    => '',
        'choices' => $wp_roles->role_names,
        'helplink'=> 'yes',
        'submit' => 'yes'                   
    );         

关于arrays - WordPress 插件设置类中的动态数组选项,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/22495477/

相关文章:

java - 有没有一种方法可以将 1's and 0' 数组转换为字节数组?

java - 计算 JSONArray 有多少个特定的 JSONObject

java - 梳排序在java中的实现

php - 如何将 PayPal 经典支付表单转换为 PayPal REST API PHP 应用程序?

api - Office 365 日历休息 API : Meeting Vs. 预约

ruby-on-rails - 如何分组处理大型 ActiveRecord 结果集

php - 使用 "If"语句的 mysql 查询搜索

php - 向产品属性添加新术语并将其设置在 Woocommerce 的产品中

WordPress:对不同的自定义帖子类型使用自定义类别模板(category.php)

java - 如何在放心地实现 get 请求时设置特定条件的等待