Customize Settings

Setting classes in wp-includes/customize/ that extend WP_Customize_Setting.


WP_Customize_Filter_Setting

A setting used to filter a value but will not save the results. Results should be handled using another setting or callback.

Source: wp-includes/customize/class-wp-customize-filter-setting.php
Since: 3.4.0
Extends: WP_Customize_Setting

Methods

MethodVisibilitySinceDescription
update( $value )public3.4.0No-op. Does not save anything.

WP_Customize_Background_Image_Setting

Setting for background image thumbnail. Removes the background_image_thumb theme mod on update.

Source: wp-includes/customize/class-wp-customize-background-image-setting.php
Since: 3.4.0
Extends: WP_Customize_Setting
Final: Yes

Properties

PropertyTypeVisibilityDefaultSinceDescription
$idstringpublic'background_image_thumb'3.4.0Unique string identifier for the setting

Methods

MethodVisibilitySinceDescription
update( $value )public3.4.0Removes background_image_thumb theme mod. $value parameter is not used.

WP_Customize_Header_Image_Setting

Setting for header image data. Delegates to Custom_Image_Header::set_header_image().

Source: wp-includes/customize/class-wp-customize-header-image-setting.php
Since: 3.4.0
Extends: WP_Customize_Setting
Final: Yes

Properties

PropertyTypeVisibilityDefaultSinceDescription
$idstringpublic'header_image_data'3.4.0Unique string identifier for the setting

Methods

MethodVisibilitySinceDescription
update( $value )public3.4.0Initializes Custom_Image_Header if needed, falls back to header_image setting if value is empty, then calls set_header_image() with the value or $value['choice'] if array.

WP_Customize_Custom_CSS_Setting

Custom Setting to handle WP Custom CSS. Handles validation, sanitization and saving.

Source: wp-includes/customize/class-wp-customize-custom-css-setting.php
Since: 4.7.0
Extends: WP_Customize_Setting
Final: Yes

Properties

PropertyTypeVisibilityDefaultSinceDescription
$typestringpublic'custom_css'4.7.0The setting type
$transportstringpublic'postMessage'4.7.0Setting transport
$capabilitystringpublic'edit_css'4.7.0Capability required to edit this setting
$stylesheetstringpublic''4.7.0Stylesheet identifier, extracted from setting ID pattern custom_css[$stylesheet]

Methods

MethodVisibilitySinceDescription
__construct( $manager, $id, $args )public4.7.0Validates ID matches custom_css[$stylesheet] pattern. Throws Exception on mismatch.
preview()public4.7.9Adds wp_get_custom_css filter for preview. Returns false if already previewed.
filter_previewed_wp_get_custom_css( $css, $stylesheet )public4.7.0Filters wp_get_custom_css to return the customized value during preview.
value()public4.7.0Returns CSS from wp_get_custom_css_post() post content, or default. Applies customize_value_custom_css filter.
validate( $value )public4.7.0Checks for HTML markup in CSS (adds illegal_markup error). Delegates to parent for further validation.
update( $value )public4.7.0Saves via wp_update_custom_css_post(). Caches post ID in theme mod custom_css_post_id. Returns post ID or false.

Hooks Used

HookTypeSinceDescription
wp_get_custom_cssfilter4.7.0Filtered during preview via filter_previewed_wp_get_custom_css()
customize_value_custom_cssfilter4.7.0Applied in value() (documented in class-wp-customize-setting.php)

WP_Customize_Nav_Menu_Item_Setting

Setting to represent a nav_menu_item post. Handles previewing, sanitizing, and CRUD for individual menu items.

Source: wp-includes/customize/class-wp-customize-nav-menu-item-setting.php
Since: 4.3.0
Extends: WP_Customize_Setting

Constants

ConstantValueDescription
ID_PATTERN/^nav_menu_item[(?P<id>-?d+)]$/Regex for valid setting IDs
POST_TYPE'nav_menu_item'Associated post type
TYPE'nav_menu_item'Setting type identifier

Properties

PropertyTypeVisibilityDefaultSinceDescription
$typestringpublicself::TYPE4.3.0Setting type
$defaultarraypublic(see below)4.3.0Default menu item data
$transportstringpublic'refresh'4.3.0Default transport. Changed to 'refresh' in 4.5.0.
$post_idintpublic4.3.0The post ID (db_id). Negative = placeholder for unsaved item.
$valuearray|nullprotected4.3.0Cached pre-setup menu item
$previous_post_idintpublic4.3.0Previous placeholder post ID before insert
$original_nav_menu_term_idintpublic4.3.0Previous nav_menu_term_id for preview filtering
$is_updatedboolprotectedfalse4.3.0Whether update() was called
$update_statusstringpublic4.3.0Status: updated|inserted|deleted|error
$update_errorWP_Errorpublic4.3.0Error from wp_update_nav_menu_item()

Default value array:

php
array(
    'object_id'        => 0,
    'object'           => '',
    'menu_item_parent' => 0,
    'position'         => 0,
    'type'             => 'custom',
    'title'            => '',
    'url'              => '',
    'target'           => '',
    'attr_title'       => '',
    'description'      => '',
    'classes'          => '',
    'xfn'              => '',
    'status'           => 'publish',
    'nav_menu_term_id' => 0,
    '_invalid'         => false,
)

Methods

MethodVisibilitySinceDescription
__construct( $manager, $id, $args )public4.3.0Validates ID pattern, extracts $post_id, adds wp_update_nav_menu_item flush hook. Throws Exception on invalid ID or missing nav_menus.
flush_cached_value( $menu_id, $menu_item_id )public4.3.0Clears cached $value when this item is updated.
value()public4.3.0Returns menu item data array (or false for deletion). Adds read-only type_label and original_title. Uses wp_setup_nav_menu_item() for existing items.
js_value()public6.8.3Prepares value for JS client; decodes original_title entities.
get_original_title( $item )protected4.7.0Gets original title for post_type, taxonomy, or post_type_archive items.
get_type_label( $item )protected4.7.0Gets human-readable type label.
populate_value()protected4.3.0Normalizes value array: translates menu_orderposition, post_statusstatus, resolves nav_menu_term_id, casts types, detects _invalid items, strips irrelevant post properties.
preview()public4.3.0Sets up preview filters on wp_get_nav_menu_items. Returns false if no-op.
filter_wp_get_nav_menu_items( $items, $menu, $args )public4.3.0Filters menu items for preview: removes deleted/moved items, updates modified items, appends new items.
sort_wp_get_nav_menu_items( $items, $menu, $args )public static4.3.0Re-applies sort/filter logic from wp_get_nav_menu_items(). Removes invalid items on front end.
value_as_wp_post_nav_menu_item()public4.3.0Converts setting value to a WP_Post object set up as a nav_menu_item via wp_setup_nav_menu_item().
sanitize( $value )public4.3.0Sanitizes menu item value. Returns false for deletion, null for invalid, WP_Error for invalid URL, or sanitized array.
update( $value )protected4.3.0Creates/updates/deletes the nav_menu_item post. Resolves placeholder IDs for newly-created parent menus and items. Uses wp_update_nav_menu_item() / wp_delete_post().
amend_customize_save_response( $data )public4.3.0Exports post_id, previous_post_id, error, status to JS via customize_save_response filter.

Hooks

HookTypeSinceDescription
wp_nav_menu_item_custom_fields_customize_templateaction5.4.0Fires at end of menu item form template for additional custom fields
customize_save_responsefilter4.3.0Used via amend_customize_save_response() to export save results
wp_get_nav_menu_itemsfilter4.3.0Filtered during preview
the_titlefilterApplied when getting original title (documented in wp-includes/post-template.php)
nav_menu_attr_titlefilterApplied in value_as_wp_post_nav_menu_item() (documented in wp-includes/nav-menu.php)
nav_menu_descriptionfilterApplied in value_as_wp_post_nav_menu_item() (documented in wp-includes/nav-menu.php)
wp_setup_nav_menu_itemfilterApplied in value_as_wp_post_nav_menu_item() (documented in wp-includes/nav-menu.php)
title_save_prefilterApplied during sanitization (documented in wp-includes/post.php)
excerpt_save_prefilterApplied during sanitization (documented in wp-includes/post.php)
content_save_prefilterApplied during sanitization (documented in wp-includes/post.php)
customize_sanitize_{$this->id}filterApplied at end of sanitize (documented in class-wp-customize-setting.php)

WP_Customize_Nav_Menu_Setting

Setting to represent a nav_menu taxonomy term.

Source: wp-includes/customize/class-wp-customize-nav-menu-setting.php
Since: 4.3.0
Extends: WP_Customize_Setting

Constants

ConstantValueDescription
ID_PATTERN/^nav_menu[(?P<id>-?d+)]$/Regex for valid setting IDs
TAXONOMY'nav_menu'Associated taxonomy
TYPE'nav_menu'Setting type identifier

Properties

PropertyTypeVisibilityDefaultSinceDescription
$typestringpublicself::TYPE4.3.0Setting type
$defaultarraypublic['name'=>'', 'description'=>'', 'parent'=>0, 'auto_add'=>false]4.3.0Default menu data
$transportstringpublic'postMessage'4.3.0Default transport
$term_idintpublic4.3.0Term ID. Negative = placeholder.
$previous_term_idintpublic4.3.0Previous placeholder term ID
$is_updatedboolprotectedfalse4.3.0Whether update() was called
$update_statusstringpublic4.3.0Status: updated|inserted|deleted|error
$update_errorWP_Errorpublic4.3.0Error from wp_update_nav_menu_object()
$_current_menus_sort_orderbystringprotected4.3.0Temp storage for orderby (workaround for lack of closures)
$_widget_nav_menu_updatesarrayprotectedarray()4.3.0Data for customize_save_response

Methods

MethodVisibilitySinceDescription
__construct( $manager, $id, $args )public4.3.0Validates ID pattern, extracts $term_id. Throws Exception on invalid.
value()public4.3.0Returns menu data array from wp_get_nav_menu_object() including auto_add from nav_menu_options.
preview()public4.3.0Adds filters on wp_get_nav_menus, wp_get_nav_menu_object, nav_menu_options. Returns false if no-op.
filter_wp_get_nav_menus( $menus, $args )public4.3.0Inserts/updates/removes menu in the menus list during preview. Re-sorts by $args['orderby'].
_sort_menus_by_orderby( $menu1, $menu2 )protected4.3.0Deprecated 4.7.0. Use wp_list_sort().
filter_wp_get_nav_menu_object( $menu_obj, $menu_id )public4.3.0Returns previewed menu object. Only handles integer ID lookups.
filter_nav_menu_options( $nav_menu_options )public4.3.0Filters nav_menu_options to reflect auto_add preference.
sanitize( $value )public4.3.0Sanitizes menu value. Names unnamed menus as (unnamed). Returns false for deletion, null for invalid.
update( $value )protected4.3.0Creates/updates/deletes nav menu via wp_update_nav_menu_object() / wp_delete_nav_menu(). Handles name conflicts by appending suffix. Updates nav_menu_locations and widget references for inserted menus.
filter_nav_menu_options_value( $nav_menu_options, $menu_id, $auto_add )protected4.3.0Adds/removes menu ID from nav_menu_options['auto_add'] array.
amend_customize_save_response( $data )public4.3.0Exports term_id, previous_term_id, error, status, saved_value and widget updates to JS.