Save Plugin Options as Array

时间:2021-04-22 作者:Fredrik

我正在尝试创建一个简单的选项页面。这些选项由每个用户角色的文本字段组成。但我不想每次添加新用户角色时都编辑代码。

因此,我试图;对于每个用户角色并从中生成文本字段。但该值不会保存在选项中。我想我需要在保存之前将值保存在数组中。

像这样:

add_settings_field( 
\'weborder_leveranstext\',
__( \'Header\', \'weborder\' ), 
\'weborder_leveranstext_render\', 
\'pluginPage\', 
\'weborder_pluginPage_leveransalternativ\'
);

function weborder_leveranstext_render(  ) {

   $options = get_option( \'weborder_settings\' );
    
   global $wp_roles;
   $all_roles = $wp_roles->get_names();

   foreach ($all_roles as $role => $value) {
      echo \'<input type="text" name="??" value="\' . $options[\'weborder_leveranstext\'] . \'">\';
   }
}
我已经尝试了很多东西,但我认为这必须保存在数组中。我尝试过类似的事情,但没有成功:

echo \'<input type="text" name="weborder_leveranstext_\'.$role.\'" value="\' . $options[\'weborder_leveranstext_\'.$role.\'\'] . \'">\';

1 个回复
SO网友:Fredrik

好的,我知道了。我一直都很亲密:)

function weborder_leveranstext_render(  ) {

$options = get_option( \'weborder_settings\' );
    
global $wp_roles;
$all_roles = $wp_roles->get_names();

foreach ($all_roles as $role => $value) {
    echo \'<br><span style="width: 180px; display: inline-block;">\' . $value . \'</span>\';
    echo \'<input type="text" style="width: 300px;" name="weborder_settings[weborder_leveranstext][\'.$role.\']" value="\'.$options[\'weborder_leveranstext\'][$role].\'">\';
}
}

相关推荐

wp_options is GB in size

我怎样才能找到占用这么大空间的选项或插件?这不是暂时的,因为删除所有数据后,它仍然是13GB。SELECT option_name, option_value FROM hihgv_options WHERE autoload = \'yes\'在0.141秒内返回833行SELECT SUM(LENGTH(option_value)) as autoload_size FROM hihgv_options WHERE autoload=\'yes\';返回670540当我将所有内容从我的自定义函数插件移