Title: Version 4.6
Author: Kelly Choyce-Dwan
Published: January 30, 2019
Last modified: January 11, 2023

---

# Version 4.6

## In this article

 * [Installation/Upgrading Information](https://wordpress.org/documentation/wordpress-version/version-4-6/?output_format=md#installation-upgrading-information)
 * [Highlights](https://wordpress.org/documentation/wordpress-version/version-4-6/?output_format=md#highlights)
    - [The Finer Points](https://wordpress.org/documentation/wordpress-version/version-4-6/?output_format=md#the-finer-points)
    - [For Developers](https://wordpress.org/documentation/wordpress-version/version-4-6/?output_format=md#for-developers)
 * [What’s New](https://wordpress.org/documentation/wordpress-version/version-4-6/?output_format=md#whats-new)
    - [General](https://wordpress.org/documentation/wordpress-version/version-4-6/?output_format=md#general)
    - [Posts](https://wordpress.org/documentation/wordpress-version/version-4-6/?output_format=md#posts)
    - [Media](https://wordpress.org/documentation/wordpress-version/version-4-6/?output_format=md#media)
    - [Comments](https://wordpress.org/documentation/wordpress-version/version-4-6/?output_format=md#comments)
    - [Appearance](https://wordpress.org/documentation/wordpress-version/version-4-6/?output_format=md#appearance)
    - [Users](https://wordpress.org/documentation/wordpress-version/version-4-6/?output_format=md#users)
    - [Install Process](https://wordpress.org/documentation/wordpress-version/version-4-6/?output_format=md#install-process)
    - [Multisite](https://wordpress.org/documentation/wordpress-version/version-4-6/?output_format=md#multisite)
    - [Accessibility](https://wordpress.org/documentation/wordpress-version/version-4-6/?output_format=md#accessibility)
 * [Under The Hood](https://wordpress.org/documentation/wordpress-version/version-4-6/?output_format=md#under-the-hood)
    - [General](https://wordpress.org/documentation/wordpress-version/version-4-6/?output_format=md#general-2)
    - [Images](https://wordpress.org/documentation/wordpress-version/version-4-6/?output_format=md#images)
    - [Bootstrap / Load](https://wordpress.org/documentation/wordpress-version/version-4-6/?output_format=md#bootstrap-load)
    - [Bug Fixes](https://wordpress.org/documentation/wordpress-version/version-4-6/?output_format=md#bug-fixes)
    - [Multisite](https://wordpress.org/documentation/wordpress-version/version-4-6/?output_format=md#multisite-2)
    - [Classes](https://wordpress.org/documentation/wordpress-version/version-4-6/?output_format=md#classes)
    - [Functions](https://wordpress.org/documentation/wordpress-version/version-4-6/?output_format=md#functions)
    - [Actions & Filters](https://wordpress.org/documentation/wordpress-version/version-4-6/?output_format=md#actions-filters)
    - [External Libraries](https://wordpress.org/documentation/wordpress-version/version-4-6/?output_format=md#external-libraries)
    - [Miscellaneous](https://wordpress.org/documentation/wordpress-version/version-4-6/?output_format=md#miscellaneous)

[ Back to top](https://wordpress.org/documentation/wordpress-version/version-4-6/?output_format=md#wp--skip-link--target)

On August 16, 2016, WordPress Version 4.6, named for jazz musician Pepper Adams,
was released to the public. For more information on this enhancement and bug-fix
release, read the [WordPress Blog](https://wordpress.org/news/2016/08/pepper/).

For **Version 4.6**, the database version (**db_version** in **wp_options**) changed
to 37965, and the [Trac](https://core.trac.wordpress.org/) revision was 38270.

 * [View Closed Tickets.](https://core.trac.wordpress.org/query?status=closed&milestone=4.6)

## 󠀁[Installation/Upgrading Information](https://wordpress.org/documentation/wordpress-version/version-4-6/?output_format=md#installation-upgrading-information)󠁿

To download WordPress 4.6, visit [https://wordpress.org/download/release-archive/](https://wordpress.org/download/release-archive/)

## 󠀁[Highlights](https://wordpress.org/documentation/wordpress-version/version-4-6/?output_format=md#highlights)󠁿

### 󠀁[The Finer Points](https://wordpress.org/documentation/wordpress-version/version-4-6/?output_format=md#the-finer-points)󠁿

**Shiny Updates v2**

[Shiny Updates](https://make.wordpress.org/core/features/shiny-updates) replaces
progress updates with a simpler and more straight forward experience when installing,
updating, and deleting plugins and themes. Those actions are now all performed via
AJAX.

One big user facing change is about search. There is now an AJAX search on both 
the Installed Plugins screen as well as the Add New Plugin screen, this means the
search results change as you type, drastically simplifying your workflow. ([read more](https://make.wordpress.org/core/2016/07/06/shiny-updates-in-4-6/))

[⌊Multiple Puglins Update⌉⌊Multiple Puglins Update⌉[

Multiple plugins update

[⌊Shiny updates v2_1⌉⌊Shiny updates v2_1⌉[

Plugin delete

 
**Native Font supports in the** [Administration Screen](https://codex.wordpress.org/Administration_Screens)

The operating system’s UI font is used for any text that’s part of the WordPress
user interface. Although WordPress switched to Open Sans in [Version 3.8](https://codex.wordpress.org/Version_3.8)
at the end of 2013 by various reasons, today, the background condition and technology
have changed. Then, experience faster load times, especially when working offline,
a removal of a third-party dependency, and a more [native-feeling experience](https://make.wordpress.org/core/features/font-natively/)
as the lines between the mobile web and native applications continue to blur. ([read more](https://make.wordpress.org/core/2016/07/07/native-fonts-in-4-6/))

[⌊macOS Safari⌉⌊macOS Safari⌉[

Browser: Safari, OS: macOS, Font: San Francisco

[⌊Windows Edge⌉⌊Windows Edge⌉[

Browser: Edge, OS: Windows 10, Font: Segoe UI

    
**Import Screen overhaul**

The Import Screen was overhauled, improving accessibility and making it much easier
to install and run an importer.

[⌊Import Screen⌉⌊Import Screen⌉[

Overhauled Import Screen

**Internationalization improvements**

The translation platform for plugins and themes was opened up in December 2015. 
Since then 15,000 plugins and themes were imported and are now benefiting from automated
translation updates. Translations files are usually inside wp-content/languages,
and WordPress now scans that directory for available translations and automatically
loads them if it encounters a text domain for the first time. Also, jQuery UI datepicker
was localized. ([read more](https://make.wordpress.org/core/2016/07/06/i18n-improvements-in-4-6/))

**Editor Improvements**

A more reliable recovery mode and detection of broken URLs while you type them.

**Emoji**

Emoji support has been updated to include all of the latest Unicode 9.0 emoji characters.

### 󠀁[For Developers](https://wordpress.org/documentation/wordpress-version/version-4-6/?output_format=md#for-developers)󠁿

**Resource Hints**

Resource Hints is a rather new W3C specification that “defines the dns-prefetch,
preconnect, prefetch, and prerender relationships of the HTML Link Element (<link
>)”. Allow browsers to prefetch specific pages, render them in the background, perform
DNS lookups, or to begin the connection handshake (DNS, TCP, TLS) in the background.(
[read more](https://make.wordpress.org/core/2016/07/06/resource-hints-in-4-6/))

**HTTP API internal changes**

The HTTP API ([wp_remote_request()](https://developer.wordpress.org/reference/functions/wp_remote_request)
and family) have undergone a large internal change. Rather than using a WordPress-
specific HTTP library, WordPress now uses the open-source independent [Requests library](http://requests.ryanmccue.info/).(
[read more](https://make.wordpress.org/core/2016/07/27/http-api-in-4-6/))

**Language Packs**

Translations managed through [translate.wordpress.org](https://translate.wordpress.org/)
now have a higher priority and are loaded just-in-time.

**WP_Site_Query**

New WP_Site_Query class to query sites with lazy loading for details.

**WP_Network_Query**

New WP_Network_Query class to query networks with lazy loading for details.

**WP_Term_Query**

New WP_Term_Query is modeled on existing query classes and provides a more consistent
structure for generating term queries. ([read more](https://make.wordpress.org/core/2016/07/06/wp_term_query-in-wordpress-4-6/))

**WP_Post_Type**

New WP_Post_Type class provides methods to handle post type supports, rewrite rules,
meta boxes, hooks, and taxonomies. This changes the global $wp_post_types to an 
array of WP_Post_Type objects. ([read more](https://make.wordpress.org/core/2016/07/13/wp_post_type-in-4-6/))

**Widgets API**

The Widgets API was enhanced to support registering pre-instantiated widgets. ([read more](https://make.wordpress.org/core/2016/07/06/pre-instantiated-widget-registration-in-4-6/))

**dbDelta updates**

[dbDelta()](https://developer.wordpress.org/reference/functions/dbDelta/) is a function
which helps to modify the database based on specified SQL statements. This function
has been updated to resolve some long standing bugs ([read more](https://make.wordpress.org/core/2016/07/13/dbdelta-updates-in-4-6/))

 * Normalized index definitions
 * Backtick all the things
 * Support for SPATIAL keys

**Persistent Comment Cache**

Since [Version 2.6](https://codex.wordpress.org/Version_2.6), the comments API has
purposefully not used a persistent cache. Over the past 20 releases, changes have
been made to purge the problems from the comments API that caused this. Comments
can now be stored in a persistent object cache. When comments are added, modified,
or deleted, out of date cache values are properly invalidated. ([read more](https://make.wordpress.org/core/2016/07/18/comments-in-4-6-can-now-be-cached-by-a-persistent-object-cache/))

**External Libraries**

External Libraries were updated to the latest versions – Masonry to 3.3.2 and imagesLoaded
to 3.2.0, MediaElement.js to 2.22.0, TinyMCE to 4.4.1 and Backbone.js to 1.3.3. (
[read more](https://make.wordpress.org/core/2016/07/18/external-library-updates-in-4-6/))

**REST API**

REST API responses now include an auto-discovery header and a refreshed nonce when
responding to an authenticated response.

**Enhancing register_meta()**

The [register_meta()](https://developer.wordpress.org/reference/functions/register_meta)
function is getting some updates to enable greater flexibility and features in the
future (such as inclusion in the Rest API). It expands to support the registration
of meta keys and what to expect from those keys. Its behavior is similar to [register_post_type()](https://developer.wordpress.org/reference/functions/register_post_type)
in that the registration of this data is stored in the global scope. This makes 
an object’s meta data more accessible to parts of core and extending code.([read more](https://make.wordpress.org/core/2016/07/20/additional-register_meta-changes-in-4-6/)
and [more](https://make.wordpress.org/core/2016/07/08/enhancing-register_meta-in-4-6/))

**Customizer**

Improved API for [Setting Validation in the Customizer](https://make.wordpress.org/core/2016/05/04/improving-setting-validation-in-the-customizer/).(
[read more](https://make.wordpress.org/core/2016/07/05/customizer-apis-in-4-6-for-setting-validation-and-notifications/)).

## 󠀁[What’s New](https://wordpress.org/documentation/wordpress-version/version-4-6/?output_format=md#whats-new)󠁿

### 󠀁[General](https://wordpress.org/documentation/wordpress-version/version-4-6/?output_format=md#general)󠁿

 * Unifying permission error messages ([#34521](https://core.trac.wordpress.org/ticket/34521))

### 󠀁[Posts](https://wordpress.org/documentation/wordpress-version/version-4-6/?output_format=md#posts)󠁿

 * Editor Improvements ([#36638](https://core.trac.wordpress.org/ticket/36638)) –
   A more reliable recovery mode and detection of broken URLs while you type them.
 * Emoji ([#37361](https://core.trac.wordpress.org/ticket/37361)) – Emoji support
   has been updated to include all of the latest Unicode 9 emoji characters.

### 󠀁[Media](https://wordpress.org/documentation/wordpress-version/version-4-6/?output_format=md#media)󠁿

 * Featured images are no longer immediately saved to posts or non-image attachments
   until the corresponding post or attachment has been updated.

### 󠀁[Comments](https://wordpress.org/documentation/wordpress-version/version-4-6/?output_format=md#comments)󠁿

 * Comments: Allow for default comment form action, /wp-comments-post.php, to be
   changed via the comment_form_defaults filter. ([#26841](https://core.trac.wordpress.org/ticket/26841))
 * Comments: Add parameters to edit_comment_link() to allow specifying a Comment
   and link class. Matches the parameters for edit_post_link(). ([#36538](https://core.trac.wordpress.org/ticket/36538))

Comments: add a $comment parameter to get_comment_author_url_link(), comment_author_email_link(),
and get_comment_author_email_link(). ([#36573](https://core.trac.wordpress.org/ticket/36571))(
[#36573](https://core.trac.wordpress.org/ticket/36573))

### 󠀁[Appearance](https://wordpress.org/documentation/wordpress-version/version-4-6/?output_format=md#appearance)󠁿

 * Native Fonts in the [Administration Screen](https://codex.wordpress.org/Administration_Screens)(
   [#36753](https://core.trac.wordpress.org/ticket/36753)) – Experience faster load
   times, especially when working offline, a removal of a third-party dependency,
   and a more [native-feeling experience](https://make.wordpress.org/core/features/font-natively/)
   as the lines between the mobile web and native applications continue to blur.
   
   The operating system’s UI font is used for any text that’s part of the WordPress
   user interface. In other contexts, like the Editor, we continue to use a serif
   system typeface, Georgia. ([read more](https://make.wordpress.org/core/2016/07/07/native-fonts-in-4-6/))
 * Import Screen overhaul ([[https://core.trac.wordpress.org/ticket/35191](https://core.trac.wordpress.org/ticket/35191)#
   35191) – The Import Screen was overhauled, improving accessibility and making
   it much easier to install and run an importer.
 * Loading Translations in Different Order ([#34213](https://core.trac.wordpress.org/ticket/34213))–
   load_plugin_textdomain( $domain ) and load_theme_textdomain( $domain ) are used
   to load the translations for a specific text domain, where $domain equals the
   slug of your plugin or theme. Now, these functions first looked inside the wp-
   content/languages directory, where language packs reside, then, the plugin/theme
   folder.
 * Just-in-time Loading for Translations ([#34114](https://core.trac.wordpress.org/ticket/34114))–
   Translations files are usually inside wp-content/languages, and WordPress now
   scans that directory for available translations and automatically loads them 
   if it encounters a text domain for the first time.
 * jQuery UI datepicker localization ([#29420](https://core.trac.wordpress.org/ticket/29420))–
   localization defaults were added for the jQuery UI datepicker based on the current
   locale using the new [wp_add_inline_script()](https://developer.wordpress.org/reference/wp_add_inline_script)
   function. ([read more](https://make.wordpress.org/core/2016/07/06/jquery-ui-datepicker-localization-in-4-6/))

### 󠀁[Users](https://wordpress.org/documentation/wordpress-version/version-4-6/?output_format=md#users)󠁿

 * Users: In wp_new_user_notification(), add ‘user’ option for the $notify parameter,
   which allows for sending notification only to the user created. ([#36009](https://core.trac.wordpress.org/ticket/36009))
 * Multisite: Add the pre_get_blogs_of_user filter. This allows a plugin to short
   circuit get_blogs_of_user() in cases where the default behavior of the function
   is unnecessary or slow. (e.g. A user is a member of thousands of sites.) ([#36707](https://core.trac.wordpress.org/ticket/36707))
 * List Tables: Pass the $which parameter to restrict_manage_posts and restrict_manage_users.
   $which contains the location of the extra table nav markup: ‘top’ or ‘bottom’.([
   [#35307](https://core.trac.wordpress.org/ticket/35307))

### 󠀁[Install Process](https://wordpress.org/documentation/wordpress-version/version-4-6/?output_format=md#install-process)󠁿

 * Shiny Updates v2 ([#37714](https://core.trac.wordpress.org/ticket/37714)) – [Shiny Updates](https://make.wordpress.org/core/features/shiny-updates/)
   replaces progress updates with a simpler and more straight forward experience
   when installing, updating, and deleting plugins and themes.

### 󠀁[Multisite](https://wordpress.org/documentation/wordpress-version/version-4-6/?output_format=md#multisite)󠁿

See the [For Developers](https://codex.wordpress.org/Version_4.6#For_Developers)
section for information on the new Multisite classes, WP_Site_Query, WP_Network_Query,
and WP_Term_Query.

### 󠀁[Accessibility](https://wordpress.org/documentation/wordpress-version/version-4-6/?output_format=md#accessibility)󠁿

 * Taxonomy pages tab order now reflects the visual order. ([#35664](https://core.trac.wordpress.org/ticket/35664))(
   [read more](https://make.wordpress.org/core/2016/05/16/categories-and-tags-screens-changes/))
 * Themes: Make default “read more” link more accessible. ([#36572](https://core.trac.wordpress.org/ticket/36572))
 * Import: Enhance accessibility on the Import screen. ([#35191](https://core.trac.wordpress.org/ticket/35191))
    - Remove title attributes.
    - Show “Install Now” and “Details” links if the importer isn’t installed yet.
    - Show a “Run Importer” link if the importer is installed. It also handles activation
      if the plugin isn’t activated.
    - Add aria-label attributes to each link.
    - Unify the importer descriptions to make them independent from the plugin state.
    - Adjust JavaScript callbacks for ajaxified importer installs.

## 󠀁[Under The Hood](https://wordpress.org/documentation/wordpress-version/version-4-6/?output_format=md#under-the-hood)󠁿

### 󠀁[General](https://wordpress.org/documentation/wordpress-version/version-4-6/?output_format=md#general-2)󠁿

 * Resource Hints ([#34292](https://core.trac.wordpress.org/ticket/34292)) – Allow
   browsers to prefetch specific pages, render them in the background, perform DNS
   lookups, or to begin the connection handshake (DNS, TCP, TLS) in the background.
   
   By default, [wp_resource_hints()](https://developer.wordpress.org/reference/functions/wp_resource_hints)
   prints hints for s.w.org (the WordPress.org CDN) and for all scripts and styles
   which are enqueued from external hosts. ([read more](https://make.wordpress.org/core/2016/07/06/resource-hints-in-4-6/))
 * HTTP API internal changes ([#33055](https://core.trac.wordpress.org/ticket/33055))–
   The HTTP API ([wp_remote_request()](https://developer.wordpress.org/reference/functions/wp_remote_request)
   and family) now uses the open-source independent [Requests library](http://requests.ryanmccue.info/),
   rather than using a WordPress-specific HTTP library. Requests provide the same
   functionalities with current library, and better HTTP standard support, case-
   insensitive headers, parallel HTTP requests, support for Internationalized Domain
   Names (like böcean901.ch), and many other internal improvements. ([read more](https://make.wordpress.org/core/2016/07/27/http-api-in-4-6/))
 * Language Packs ([#34114](https://core.trac.wordpress.org/ticket/34114), [#34213](https://core.trac.wordpress.org/ticket/34213))–
   Translations managed through [translate.wordpress.org](https://translate.wordpress.org/)
   now have a higher priority and are loaded just-in-time.
 * Persistent Comment Cache ([#36906](https://core.trac.wordpress.org/ticket/36906))–
   Comments can now be stored in a persistent object cache. When comments are added,
   modified, or deleted, out of date cache values are properly invalidated. ([read more](https://make.wordpress.org/core/2016/07/18/comments-in-4-6-can-now-be-cached-by-a-persistent-object-cache/))

### 󠀁[Images](https://wordpress.org/documentation/wordpress-version/version-4-6/?output_format=md#images)󠁿

 * Allowed upload file types are now checked before uploading ([#14244](https://core.trac.wordpress.org/ticket/14244))
 * Adds a new action hook, wp_edit_form_attachment_display to edit_form_image_editor(),
   which can be used as a fallback to render previews of an attachment that isn’t
   an image, audio, or video file included in the media library. ([#36052](https://core.trac.wordpress.org/ticket/36052))
 * Removed a private, deprecated and unused function, _wp_upload_dir_baseurl(). (
   [#36375](https://core.trac.wordpress.org/ticket/36375))
 * Prior image edits are now cleaned up properly when `IMAGE_EDIT_OVERWRITE` is 
   true. ([#32171](https://core.trac.wordpress.org/ticket/32171))

### 󠀁[Bootstrap / Load](https://wordpress.org/documentation/wordpress-version/version-4-6/?output_format=md#bootstrap-load)󠁿

There are changes to the bootstrap or loading process focused on making pieces available
earlier. These changes are all expected to be backward compatible. ([read more](https://make.wordpress.org/core/2016/07/06/bootstrapload-updates-in-4-6/))

 * Load plugin.php earlier in wp-settings.php ([#36819](https://core.trac.wordpress.org/ticket/36819))
 * Reconcile wp-settings-cli.php with wp-settings.php ([#34936](https://core.trac.wordpress.org/ticket/34936))
 * [is_ssl()](https://developer.wordpress.org/reference/functions/is_ssl) is now
   located in wp-includes/load.php ([#35844](https://core.trac.wordpress.org/ticket/35844))
 * ABSPATH can now be safely defined before WordPress is loaded ([#26592](https://core.trac.wordpress.org/ticket/26592))

### 󠀁[Bug Fixes](https://wordpress.org/documentation/wordpress-version/version-4-6/?output_format=md#bug-fixes)󠁿

#### 󠀁[Embeds](https://wordpress.org/documentation/wordpress-version/version-4-6/?output_format=md#embeds)󠁿

 * Autoembeds now work with paragraphs. ([#25387](https://core.trac.wordpress.org/ticket/25387))
 * Improved height calculation for slow loading images. ([#35657](https://core.trac.wordpress.org/ticket/35657))
 * Docs: Added missing @access tags to methods in WP_oEmbed_Controller. ([#36297](https://core.trac.wordpress.org/ticket/36297))
 * Removed support for Google Video since the service has been retired for years.(
   [#36304](https://core.trac.wordpress.org/ticket/36304))
 * Now WordPress includes the locale stylesheets after the default styles. ([#36839](https://core.trac.wordpress.org/ticket/36839))
 * Added unit tests for the WP_Embed class.([#37214](https://core.trac.wordpress.org/ticket/37214))
 * WordPress doesn’t print the HTML for a featured image if an embedded post has
   no featured image. ([#37288](https://core.trac.wordpress.org/ticket/37288))

### 󠀁[Multisite](https://wordpress.org/documentation/wordpress-version/version-4-6/?output_format=md#multisite-2)󠁿

For detail about multisite changes in **Version 4.6**, refer [this Tech Docs](https://make.wordpress.org/core/2016/07/08/multisite-focused-changes-in-4-6/).

 * WP_Site_Query ([#35791](https://core.trac.wordpress.org/ticket/35791)) – With
   new [WP_Site_Query](https://developer.wordpress.org/reference/classes/wp_site_query)
   or [get_sites()](https://developer.wordpress.org/reference/get_sites), sites 
   can now be queried from the $wpdb->blogstable in a flexible way by id, domain,
   path, and more.
 * WP_Network_Query ([#32504](https://core.trac.wordpress.org/ticket/35791)) – With
   new [WP_Network_Query](https://developer.wordpress.org/reference/classes/wp_network_query)
   or [get_networks()](https://developer.wordpress.org/reference/functions/get_networks),
   networks can now be queried from the $wpdb->site table by id, domain, and path.
 * Enhancements to WP_Site and WP_Network – It includes new utility methods, property
   changes ([#36717](https://core.trac.wordpress.org/ticket/36717), [#37050](https://core.trac.wordpress.org/ticket/37050)),
   Lazy-loading extended properties ([#36935](https://core.trac.wordpress.org/ticket/36935)),
   New Actions and Filters ([#26580](https://core.trac.wordpress.org/ticket/26580))
   and others.

**Note**: WP Multi Network compatibility – The introduction of [get_networks()](https://developer.wordpress.org/functions/get_networks)
in **Version 4.6** conflicts with the function of the same name in WP Multi Network,
a plugin commonly used to provide multiple networks on a multisite installation.
If you are using WP Multi Network, please be sure to update the plugin to the latest(
[detail](https://github.com/stuttter/wp-multi-network/compare/2de58dd...840c834)).

### 󠀁[Classes](https://wordpress.org/documentation/wordpress-version/version-4-6/?output_format=md#classes)󠁿

#### 󠀁[What’s New](https://wordpress.org/documentation/wordpress-version/version-4-6/?output_format=md#whats-new-2)󠁿

**Visit the Code Reference for a [full list](https://developer.wordpress.org/reference/since/4.6.0/?post_type%5B%5D=wp-parser-class)
of classes added or changed in 4.6.**

 * New [WP_Site_Query](https://developer.wordpress.org/reference/classes/wp_site_query)
   class to query sites with lazy loading for details. ([#35791](https://core.trac.wordpress.org/ticket/35791))
 * New [WP_Network_Query](https://developer.wordpress.org/reference/classes/wp_network_query)
   class to query networks with lazy loading for details. ([#32504](https://core.trac.wordpress.org/ticket/32504))
 * New [WP_Term_Query](https://developer.wordpress.org/reference/classes/wp_term_query)
   is modeled on existing query classes and provides a more consistent structure
   for generating term queries. It brings parity between taxonomy term queries and
   WordPress’s other content type queries ([read more](https://make.wordpress.org/core/2016/07/06/wp_term_query-in-wordpress-4-6/))
 * New [WP_Post_Type](https://developer.wordpress.org/reference/classes/wp_post_type)
   class provides methods to handle post type supports, rewrite rules, meta boxes,
   hooks, and taxonomies. ([#36217](https://core.trac.wordpress.org/ticket/36217))

### 󠀁[Functions](https://wordpress.org/documentation/wordpress-version/version-4-6/?output_format=md#functions)󠁿

#### 󠀁[What’s New](https://wordpress.org/documentation/wordpress-version/version-4-6/?output_format=md#whats-new-3)󠁿

**Visit the Code Reference for a [full list](https://developer.wordpress.org/reference/since/4.6.0/?post_type%5B%5D=wp-parser-function)
of functions added or changed in 4.6.**

 * The Widgets API ([#28216](https://core.trac.wordpress.org/ticket/28216)) was 
   enhanced to support registering pre-instantiated widgets. The [register_widget()](https://developer.wordpress.org/reference/functions/register_widget)
   and [unregister_widget()](https://developer.wordpress.org/reference/functions/unregister_widget)
   functions accept not only a class name but a class instance (object) of a WP_Widget
   subclass. ([read more](https://make.wordpress.org/core/2016/07/06/pre-instantiated-widget-registration-in-4-6/))
 * [dbDelta()](https://developer.wordpress.org/reference/functions/dbDelta/) function
   updates resolve following issues ([read more](https://make.wordpress.org/core/2016/07/13/dbdelta-updates-in-4-6/))
    - Normalized index definitions
    - Backtick all the things
    - Support for SPATIAL keys
 * REST API responses now include an auto-discovery header ([#35580](https://core.trac.wordpress.org/ticket/35580))
   and a refreshed nonce when responding to an authenticated response ([#35662](https://core.trac.wordpress.org/ticket/35662)).
 * Enhancing [register_meta()](https://developer.wordpress.org/reference/functions/register_meta)(
   [#35658](https://core.trac.wordpress.org/ticket/35658)) – register_meta() is 
   getting some updates to enable greater flexibility and features in the future(
   such as inclusion in the Rest API). It expands to support the registration of
   meta keys and what to expect from those keys. Its behavior is similar to [register_post_type()](https://developer.wordpress.org/reference/functions/register_post_type)
   in that the registration of this data is stored in the global scope. This makes
   an object’s meta data more accessible to parts of core and extending code. A 
   global variable, $wp_meta_keys, contains all registered meta keys.([read more](https://make.wordpress.org/core/2016/07/20/additional-register_meta-changes-in-4-6/)
   and [more](https://make.wordpress.org/core/2016/07/08/enhancing-register_meta-in-4-6/))
 * Customizer – Improved API for [Setting Validation in the Customizer](https://make.wordpress.org/core/2016/05/04/improving-setting-validation-in-the-customizer/).(
   [#34893](https://core.trac.wordpress.org/ticket/34893), [#36944](https://core.trac.wordpress.org/ticket/36944))(
   [read more](https://make.wordpress.org/core/2016/07/05/customizer-apis-in-4-6-for-setting-validation-and-notifications/)).

#### 󠀁[Deprecated](https://wordpress.org/documentation/wordpress-version/version-4-6/?output_format=md#deprecated)󠁿

 * [wp_embed_handler_googlevideo()](https://developer.wordpress.org/reference/functions/wp_embed_handler_googlevideo)
   was deprecated following removal of Google Video support.
 * [wp_get_sites()](https://developer.wordpress.org/reference/functions/wp_get_sites)
   was deprecated in favor of [get_sites()](https://developer.wordpress.org/reference/functions/get_sites).

### 󠀁[Actions & Filters](https://wordpress.org/documentation/wordpress-version/version-4-6/?output_format=md#actions-filters)󠁿

**Visit the Code Reference for a [full list](https://developer.wordpress.org/reference/since/4.6.0/?post_type%5B%5D=wp-parser-hook)
of hooks added or changed in 4.6.**

### 󠀁[External Libraries](https://wordpress.org/documentation/wordpress-version/version-4-6/?output_format=md#external-libraries)󠁿

 * Masonry 3.3.2 ([#32802](https://core.trac.wordpress.org/ticket/32802))
 * imagesLoaded 3.2.0 ([#32802](https://core.trac.wordpress.org/ticket/32802))
 * MediaElement.js 2.22.0 ([#36759](https://core.trac.wordpress.org/ticket/36759),
   [#37363](https://core.trac.wordpress.org/ticket/37363))
 * TinyMCE 4.4.1 ([#37225](https://core.trac.wordpress.org/ticket/37225), [#37327](https://core.trac.wordpress.org/ticket/37327))
 * Backbone.js 1.3.3 ([[1]](https://core.trac.wordpress.org/ticket/37099) #37099)

### 󠀁[Miscellaneous](https://wordpress.org/documentation/wordpress-version/version-4-6/?output_format=md#miscellaneous)󠁿

First published

January 30, 2019

Last updated

January 11, 2023