钩子文档

whitelist_options

💡 云策文档标注

概述

whitelist_options 是一个已弃用的 WordPress 过滤器,用于允许开发者修改允许的选项列表。自 5.5.0 版本起,建议使用 allowed_options 替代。

关键要点

  • whitelist_options 过滤器用于过滤允许的选项列表,参数为 $allowed_options 数组。
  • 该过滤器在 WordPress 5.5.0 中已弃用,应改用 allowed_options 过滤器。
  • 开发者可以通过此过滤器动态添加或修改选项到白名单中,例如在设置页面中管理自定义选项。

代码示例

$sections = array(
    'section-one' => array(
        'option-one',
        'option-two'
    ),
    'section-two' => array(
        'option-one',
        'option-two'
    ),
);

add_filter('whitelist_options', function($whitelist_options) use ($sections) {
    foreach($sections as $section => $fields) {
        foreach($fields as $field) {
            $whitelist_options[$section][] = $field;
        }
    }
    return $whitelist_options;
});

注意事项

由于 whitelist_options 已弃用,建议在开发新代码时使用 allowed_options 过滤器,并考虑编写更具包容性的代码。


📄 原文内容

Filters the allowed options list.

Parameters

$allowed_optionsarray
The allowed options list.

Source

$allowed_options = apply_filters_deprecated(
	'whitelist_options',
	array( $allowed_options ),
	'5.5.0',
	'allowed_options',
	__( 'Please consider writing more inclusive code.' )
);

Changelog

Version Description
5.5.0 Deprecated. Use ‘allowed_options’ instead.
2.7.0 Introduced.

User Contributed Notes

  1. Skip to note 2 content

    Example how to add whitelist_options.

    $sections = array(
    	'section-one' => array(
    		'option-one',
    		'option-two'
    	),
    	'section-two' => array(
    		'option-one',
    		'option-two'
    	),
    );
    
    add_filter('whitelist_options', function($whitelist_options) use ($sections) {
    	foreach($sections as $section => $fields) {
    		foreach($fields as $field) {
    			$whitelist_options[$section][] = $field;
    		}
    	}
    	return $whitelist_options;
    });