add_allowed_options()
云策文档标注
概述
add_allowed_options() 函数用于向允许选项列表中添加一组选项,主要用于 WordPress 设置页面权限管理。它接受新选项数组和可选的目标选项数组参数,并返回更新后的允许选项数组。
关键要点
- 函数功能:将新选项数组添加到允许选项列表中,确保选项在设置页面中可安全更新。
- 参数说明:$new_options 为必需参数,指定要添加的选项数组;$options 为可选参数,默认为空字符串,用于指定目标选项数组。
- 返回值:返回更新后的允许选项数组,可直接用于后续操作或存储。
- 内部逻辑:通过嵌套循环处理新选项,检查并避免重复添加,维护 $allowed_options 数组的结构。
- 相关函数:与 option_update_filter() 和 add_option_whitelist() 相关,后者为已弃用函数。
- 版本历史:自 WordPress 5.5.0 版本引入。
代码示例
function add_allowed_options( $new_options, $options = '' ) {
if ( '' === $options ) {
global $allowed_options;
} else {
$allowed_options = $options;
}
foreach ( $new_options as $page => $keys ) {
foreach ( $keys as $key ) {
if ( ! isset( $allowed_options[ $page ] ) || ! is_array( $allowed_options[ $page ] ) ) {
$allowed_options[ $page ] = array();
$allowed_options[ $page ][] = $key;
} else {
$pos = array_search( $key, $allowed_options[ $page ], true );
if ( false === $pos ) {
$allowed_options[ $page ][] = $key;
}
}
}
}
return $allowed_options;
}
原文内容
Adds an array of options to the list of allowed options.
Parameters
$new_optionsarrayrequired$optionsstring|arrayrequired
Source
function add_allowed_options( $new_options, $options = '' ) {
if ( '' === $options ) {
global $allowed_options;
} else {
$allowed_options = $options;
}
foreach ( $new_options as $page => $keys ) {
foreach ( $keys as $key ) {
if ( ! isset( $allowed_options[ $page ] ) || ! is_array( $allowed_options[ $page ] ) ) {
$allowed_options[ $page ] = array();
$allowed_options[ $page ][] = $key;
} else {
$pos = array_search( $key, $allowed_options[ $page ], true );
if ( false === $pos ) {
$allowed_options[ $page ][] = $key;
}
}
}
}
return $allowed_options;
}
Changelog
| Version | Description |
|---|---|
| 5.5.0 | Introduced. |