函数文档

filter_default_option()

💡 云策文档标注

概述

filter_default_option() 是一个 WordPress 钩子函数,用于过滤选项的默认值。它主要应用于通过 register_setting() 注册的设置,作为 default_option_{$option} 过滤器的一部分。

关键要点

  • 函数用于过滤选项的默认值,确保在未传递默认值时返回注册设置中的默认值。
  • 接受三个参数:$default_value(现有默认值)、$option(选项名称)和 $passed_default(是否传递了默认值)。
  • 如果 $passed_default 为 true,则直接返回 $default_value;否则,检查注册设置并返回相应的默认值。

代码示例

function filter_default_option( $default_value, $option, $passed_default ) {
	if ( $passed_default ) {
		return $default_value;
	}

	$registered = get_registered_settings();
	if ( empty( $registered[ $option ] ) ) {
		return $default_value;
	}

	return $registered[ $option ]['default'];
}

注意事项

  • 此函数从 WordPress 4.7.0 版本开始引入。
  • 相关函数包括 get_registered_settings(),用于检索注册设置的数组。

📄 原文内容

Filters the default value for the option.

Description

For settings which register a default setting in register_setting(), this function is added as a filter to default_option_{$option}.

Parameters

$default_valuemixedrequired
Existing default value to return.
$optionstringrequired
Option name.
$passed_defaultboolrequired
Was get_option() passed a default value?

Return

mixed Filtered default value.

Source

function filter_default_option( $default_value, $option, $passed_default ) {
	if ( $passed_default ) {
		return $default_value;
	}

	$registered = get_registered_settings();
	if ( empty( $registered[ $option ] ) ) {
		return $default_value;
	}

	return $registered[ $option ]['default'];
}

Changelog

Version Description
4.7.0 Introduced.