WordPress at a glance
filter is not described

pre_option_(option) filter-hook . WP 1.5.0

Filters the value of an existing option before it is retrieved.

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

Passing a truthy value to the filter will short-circuit retrieving the option value, returning the passed value instead.

Usage

add_filter( 'pre_option_(option)', 'filter_function_name_1969', 10, 3 );
function filter_function_name_1969( $pre_option, $option, $default ){
	// filter...

	return $pre_option;
}
$pre_option(true/false/mixed)
The value to return instead of the option value. This differs from $default, which is used as the fallback value in the event the option doesn't exist elsewhere in get_option().
Default: false (to skip past the short-circuit)
$option(string)
Option name.
$default(mixed)
The fallback value to return if the option does not exist.
Default: false

Notes

  • Since 4.4.0 The $option parameter was added.
  • Since 4.9.0 The $default parameter was added.

Where the hook is called

get_option()
pre_option_(option)
wp-includes/option.php 58
$pre = apply_filters( "pre_option_{$option}", false, $option, $default );

Where the hook is used (in WP core)

wp-includes/class-wp-customize-widgets.php 1933
add_filter( "pre_option_{$option_name}", array( $this, 'capture_filter_pre_get_option' ) );
wp-includes/class-wp-customize-widgets.php 1975
remove_filter( "pre_option_{$option_name}", array( $this, 'capture_filter_pre_get_option' ) );
wp-includes/default-filters.php 390
add_filter( 'pre_option_gmt_offset','wp_timezone_override_offset' );
wp-includes/default-filters.php 400
add_filter( 'pre_option_embed_autourls', '__return_true' );
wp-includes/class-wp-customize-setting.php 364
add_filter( "pre_option_{$id_base}", array( $this, '_preview_filter' ) );
wp-includes/class-wp-customize-manager.php 676
add_filter( 'pre_option_current_theme', array( $this, 'current_theme' ) );
wp-includes/class-wp-customize-manager.php 679
add_filter( 'pre_option_stylesheet', array( $this, 'get_stylesheet' ) );
wp-includes/class-wp-customize-manager.php 680
add_filter( 'pre_option_template', array( $this, 'get_template' ) );
wp-includes/class-wp-customize-manager.php 683
add_filter( 'pre_option_stylesheet_root', array( $this, 'get_stylesheet_root' ) );
wp-includes/class-wp-customize-manager.php 684
add_filter( 'pre_option_template_root', array( $this, 'get_template_root' ) );
wp-includes/class-wp-customize-manager.php 714
remove_filter( 'pre_option_current_theme', array( $this, 'current_theme' ) );
wp-includes/class-wp-customize-manager.php 717
remove_filter( 'pre_option_stylesheet', array( $this, 'get_stylesheet' ) );
wp-includes/class-wp-customize-manager.php 718
remove_filter( 'pre_option_template', array( $this, 'get_template' ) );
wp-includes/class-wp-customize-manager.php 721
remove_filter( 'pre_option_stylesheet_root', array( $this, 'get_stylesheet_root' ) );
wp-includes/class-wp-customize-manager.php 722
remove_filter( 'pre_option_template_root', array( $this, 'get_template_root' ) );
wp-admin/options-discussion.php 259
add_filter( 'pre_option_show_avatars', '__return_true', 100 );
wp-admin/options-discussion.php 269
remove_filter( 'pre_option_show_avatars', '__return_true', 100 );
wp-admin/includes/bookmark.php 306
add_filter( 'pre_option_link_manager_enabled', '__return_true', 100 );
wp-admin/includes/bookmark.php 308
remove_filter( 'pre_option_link_manager_enabled', '__return_true', 100 );