或者,您可以合并current_user_can()
进入add_settings_field()
每个仅管理员选项的回调:
function somesetting_add_settings_field( $option ) {
// This is an admin-only option
if ( current_user_can( \'administrator\' ) {
// If current user is admin,
// output the form field
} else {
// Otherwise, output a message,
// or display a static value of the option,
// etc.
}
}
使用此方法,您根本不必弄乱实际的设置页面标记。
如果正确编写了清理回调,以便检查要设置的数据,以及array\\u merge()验证/清理的值与现有选项值,则不必担心删除或不正确地覆盖任何仅管理的设置。