I am trying to create a simple option page. The options consist of a text field per user role. But I don't want to edit the code every time I add a new user role.
So I am trying to "for each"- user roles and build text fields from it. But the value does not get saved in the options. I think I need to save the values in an array before save.
Like this:
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'] . '">';
}
}
I have tried a lot of thing but I think that this must be saved in array. I have tried similar thing to this without success:
echo '<input type="text" name="weborder_leveranstext_'.$role.'" value="' . $options['weborder_leveranstext_'.$role.''] . '">';