描述
钩子名称的动态部分$option
指的是选项名称。
参数
$value
mixed-
选项的值。如果存储为序列化,则在返回之前将取消序列化。
$option
string-
选项名称。
更多信息
这个钩子允许您在数据库查找之后过滤任何选项。
源码
更新日志
版本 | 描述 |
---|---|
4.4.0 | 添加了$option 参数。 |
3.0.0 | |
1.5.0 | 开始引入 |
使用示例
使用‘active_plugins’选项在运行时禁用插件的快速提示:
// Outputs an array of all plugins. var_dump( get_option( 'active_plugins' ) ); add_filter( 'option_active_plugins', function( $plugins ){ if ( $my_condition ) { unset( $plugins['my-plugin-slug'] ); } return $plugins; }); // Outputs an empty array. var_dump( get_option( 'active_plugins' ) );
从Codex迁移的示例:
例如,要过滤博客描述,可以使用
option_blogdescription
。在下面的示例代码中,我们更改了存档页面上的博客描述,以包含页码(即更改为“示例描述。第2页”)。这是一个常见的使用场景,以避免Google网站管理员工具中出现重复的meta描述错误。
add_filter( 'option_blogdescription', 'my_theme_filter_blogdescription' ); function my_theme_filter_blogdescription( $description ) { if ( ! is_archive() ) { return $description; } global $page, $paged; if ( ( $paged >= 2 || $page >= 2 ) && ! is_404() ) { $description .= $description . sprintf( __( ' Page %d' ), max( $paged, $page ) ); } return $description; }
请注意:当数据库中不存在该选项时,此过滤器钩子不会运行。因此,它只能用于过滤现有选项,而不能在没有找到选项时过滤
false
响应。为此,您需要使用default_option_{$option}