admin管理员组文章数量:1294707
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.''] . '">';
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.''] . '">';
Share
Improve this question
asked Apr 22, 2021 at 10:02
FredrikFredrik
1567 bronze badges
1 Answer
Reset to default 0Okey I got it. I was close the whole time :)
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].'">';
}
}
本文标签: Save Plugin Options as Array
版权声明:本文标题:Save Plugin Options as Array 内容由网友自发贡献,该文观点仅代表作者本人, 转载请联系作者并注明出处:http://www.betaflare.com/web/1741601669a2387738.html, 本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌抄袭侵权/违法违规的内容,一经查实,本站将立刻删除。
发表评论