当前浏览:首页 / WordPress钩子 / option_{$option}

apply_filters( "option_{$option}", mixed $value, string $option )

过滤现有选项的值

option 选项more...


描述

钩子名称的动态部分$option指的是选项名称。


参数

$valuemixed
选项的值。如果存储为序列化,则在返回之前将取消序列化。
$optionstring
选项名称。

更多信息

这个钩子允许您在数据库查找之后过滤任何选项。



源码

查看源码 官方文档


更新日志

版本描述
4.4.0添加了$option参数。
3.0.0
1.5.0开始引入

使用示例

  • 示例1

    使用‘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' ) );
  • 示例2

    从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;
    }
  • 示例3

    请注意:当数据库中不存在该选项时,此过滤器钩子不会运行。因此,它只能用于过滤现有选项,而不能在没有找到选项时过滤false响应。为此,您需要使用default_option_{$option}