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

Filters the value of an existing option.


Description

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


Top ↑

Parameters

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

Top ↑

More Information

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


Top ↑

Source

File: wp-includes/option.php. View all references

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


Top ↑

Changelog

Changelog
Version Description
4.4.0 The $option parameter was added.
3.0.0
1.5.0 Introduced.

Top ↑

User Contributed Notes

  1. Skip to note 1 content
    Contributed by ptasker

    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 2 content

    Please note: this filter hook does NOT run when the option does NOT exist in the database. So it can only be used to filter existing options, not to filter the false response when there is no option found. For that, you’ll need the hook default_option_{$option}

  3. Skip to note 3 content
    Contributed by Steven Lin

    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.