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

Filters the value of an existing option.


The dynamic portion of the hook name, $option, refers to the option name.


Value of the option. If stored serialized, it will be unserialized prior to being returned.
Option name.

More Information

This hook allows you to filter any option after database lookup.


return apply_filters( "option_{$option}", maybe_unserialize( $value ), $option );


4.4.0The $option parameter was added.

User Contributed Notes

  1. Skip to note 4 content

    Quick tip for disabling a plugin at run time using the ‘active_plugins’ option:

    // 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. Skip to note 6 content

    Example migrated from Codex:

    For example, to filter the blog description, you may use option_blogdescription.

    In the following sample code, we change the blog description on archive pages to include a page number (i.e. changing to “Example description. Page 2“). This is a common usage scenario to avoid duplicate meta description error in Google Webmaster Tools.

    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;

You must log in before being able to contribute a note or feedback.