On December 8, 2015, WordPress Version 4.4, named for jazz musician Clifford Brown, was released to the public. For more information on this enhancement and bug-fix release, read the WordPress Blog, and see the Changelog for 4.4.
For Version 4.4, the database version (db_version in wp_options) changed to 35700, and the Trac revision was 35842.
Highlights Highlights
- New Default Theme – Twenty Sixteen
- Modern take on the classic blog design
- Flexible header and fun color schemes will make your content shine
- Mobile-first and responsive
The Finer Points The Finer Points
- Responsive images:
WordPress now takes a smarter approach to displaying appropriate image sizes on any device, ensuring a perfect fit every time. You don’t need to do anything to your theme, it just works.
- Embed your WordPress content:
Now you can embed your posts on other sites, even other WordPress sites. Simply drop a post URL into the editor and see an instant embed preview, complete with the title, excerpt, and featured image if you’ve set one. We’ll even include your site icon and links for comments and sharing.
- Even more embed providers:
In addition to post embeds, WordPress 4.4 also adds support for five new oEmbed providers: Cloudup, Reddit Comments, ReverbNation, Speaker Deck, and VideoPress.
For Developers For Developers
- REST API infrastructure: Infrastructure for the REST API has been integrated into core, the first part of a multi-stage rollout. Inclusion of core endpoints is targeted for an upcoming release. To get a sneak peek of the core endpoints, and for more information on extending the REST API, check out the official WordPress REST API plugin.
- Term meta: Terms now support metadata, just like posts. See add_term_meta(), get_term_meta(), and update_term_meta() for more information.
- Comment query improvements: Comment queries now have cache handling to improve performance. New arguments in WP_Comment_Query make crafting robust comment queries simpler.
- Term, comment, and network objects: New WP_Term, WP_Comment, and WP_Network objects make interacting with terms, comments, and networks more predictable and intuitive in code.
What’s New What’s New
General General
- Developer reference – Improvements to inline code documentation.
- i18n support – Improvements to translation strings all over the core.
- Admin page headings were adjusted from H3 to H2 tags to reinforce page hierarchy
- Improvements to how list tables are displayed on all size screens
Posts Posts
- The post/page permalink UI was simplified, linking the permalink and removing the “View” button
Media Media
Comments Comments
- The “View Comment” link was relocated from the Status meta box in the comment-editing screen
- Many comment functions can now accept a full object instead of ‘comment_ID’ to reduce cache/db lookups
- Orphaned comments now fall back to the ‘edit_posts’ capability
Appearance Appearance
- Site icons will now fall back to the ‘full’ size URL when the ‘thumbnail’ size doesn’t exist
Users Users
Install Process Install Process
Multisite Multisite
- The language chooser was added to the new site form on wp-signup.php
- Sites may no longer be created with the following reserved slugs: wp-admin, wp-content, wp-includes, or wp-json
Accessibility Accessibility
Under The Hood Under The Hood
General General
- Unclosed HTML elements in shortcode attributes were disallowed
- HTML was removed from all translatable text strings
- Rewrite rules are now flushed on theme switch
- Most core classes were moved to their own files
Embeds Embeds
- Add oEmbed support for Cloudup.
- Add oEmbed support for Reddit Comments.
- Add oEmbed support for ReverbNation.
- Add oEmbed support for Speaker Deck.
- Add oEmbed support for VideoPress.
- Remove oEmbed support for Blip.
JavaScript JavaScript
- Customizer: Ensure persistence of unchanged active state for controls, sections, and panels
- Customizer: Fixed logic for determining the container element when focusing on a panel, section, or control
- Customizer: Fixed clearing of a color control’s setting by using proper empty value
Bug Fixes Bug Fixes
- Fail gracefully when checking mapped capabilities against unregistered post types
- Visibility was restored for the Tags auto-suggest tooltip in Quick Edit
- The $public_only parameter was added to count_user_posts()
- Cron: Events are now rejected when the provided $timestamp value is not a valid timestamp
- Users with no role are now redirected to the home page on login instead of their profile-editing screen
Multisite Multisite
- A network can now be retrieved by its ID through WP_Network::get_instance()
- A network can now be created or completed by passing arguments to WP_Network
- Network-level capabilities were clarified and some long-time bugs were fixed
Classes Classes
What’s New What’s New
- WP_Comment_Query->$found_comments
- WP_Comment_Query->$max_num_pages
- WP_Comment_Query->$meta_query_clauses
- WP_Comment_Query->$sql_clauses
- WP_Comment_Query::fill_descendants()
- WP_Comment_Query::get_comment_ids()
- WP_Customize_Manager->$autofocus
- WP_Customize_Manager->$preview_url
- WP_Customize_Manager->$return_url
- WP_Customize_Manager::customize_pane_settings()
- WP_Customize_Manager::get_autofocus()
- WP_Customize_Manager::get_document_title_template()
- WP_Customize_Manager::get_preview_url()
- WP_Customize_Manager::get_return_url()
- WP_Customize_Manager::is_ios()
- WP_Customize_Manager::set_autofocus()
- WP_Customize_Manager::set_preview_url()
- WP_Customize_Manager::set_return_url()
- WP_Customize_Setting->$is_multidimensional_aggregated
- WP_Customize_Setting->$is_previewed
- WP_Customize_Setting::$aggregated_multidimensionals
- WP_Customize_Setting::_multidimensional_preview_filter()
- WP_Customize_Setting::aggregate_multidimensional()
- get_root_value/ WP_Customize_Setting::get_root_value()
- id_data/ WP_Customize_Setting::id_data()
- set_root_value/ WP_Customize_Setting::set_root_value()
- WP_Customize_Widgets::get_widget_control_parts()
- WP_Customize_Widgets::is_panel_active()
- WP_Filesystem_SSH2::sftp_path()
- WP_HTTP_Response
- WP_List_Table::get_primary_column()
- WP_Locale->$start_of_week
- WP_MS_Sites_List_Table::column_id()
- WP_MS_Users_List_Table::column_id()
- WP_Media_List_Table->$comment_pending_count
- WP_Network
- WP_Posts_List_Table::get_edit_link()
- WP_Query->$is_embed
- WP_Query->$updated_comment_meta_cache
- WP_Query->$updated_term_meta_cache
- WP_Query::is_embed()
- WP_Query::lazyload_comment_meta()
- WP_Query::lazyload_term_meta()
- WP_REST_Request
- WP_REST_Response
- WP_REST_Server
- WP_Screen->$_screen_reader_content
- WP_Screen::get_screen_reader_content()
- WP_Screen::get_screen_reader_text()
- WP_Screen::remove_screen_reader_content()
- WP_Screen::render_list_table_columns_preferences()
- WP_Screen::render_meta_boxes_preferences()
- WP_Screen::render_screen_reader_content()
- WP_Screen::render_view_mode()
- WP_Screen::set_screen_reader_content()
- WP_Term
- >$update WP_Theme
- WP_User::__unset()
- >$request WP_User_Query
- WP_User_Query::fill_query_vars()
- WP_Users_List_Table::get_role_list()
- WP_Widget_Calendar::$instance
- WP_Widget_Tag_Cloud::_get_current_taxonomy()
- WP_oEmbed_Controller
- wpdb->$termmeta
Deprecated Deprecated
Functions Functions
What’s New What’s New
- _prime_comment_caches()
- add_network_option()
- add_term_meta()
- delete_network_option()
- delete_term_meta()
- enqueue_embed_scripts()
- get_header_image_tag()
- get_html_split_regex()
- get_network_option()
- get_oembed_endpoint_url()
- get_oembed_response_data()
- get_oembed_response_data_rich()
- get_password_reset_key()
- get_post_embed_html()
- get_post_embed_url()
- get_preview_post_link()
- get_rest_url()
- get_shortcode_atts_regex()
- get_subdirectory_reserved_names()
- get_term_meta()
- get_the_author_posts_link()
- get_the_comments_navigation()
- get_the_comments_pagination()
- get_the_post_thumbnail_url()
- is_embed()
- is_post_type_viewable()
- is_registered_sidebar()
- map_deep()
- print_embed_comments_button()
- print_embed_scripts()
- print_embed_sharing_button()
- print_embed_sharing_dialog()
- print_embed_styles()
- register_rest_route()
- rest_api_default_filters()
- rest_api_init()
- rest_api_loaded()
- rest_api_register_rewrites()
- rest_cookie_check_errors()
- rest_cookie_collect_status()
- rest_do_request()
- rest_ensure_request()
- rest_ensure_response()
- rest_get_date_with_gmt()
- rest_get_url_prefix()
- rest_handle_deprecated_argument()
- rest_handle_deprecated_function()
- rest_handle_options_request()
- rest_output_link_header()
- rest_output_link_wp_head()
- rest_output_rsd()
- rest_parse_date()
- rest_send_allow_header()
- rest_send_cors_headers()
- rest_url()
- signup_get_available_languages()
- strip_fragment_from_url()
- stripslashes_from_strings_only()
- the_comments_navigation()
- the_comments_pagination()
- the_excerpt_embed()
- the_header_image_tag()
- the_post_thumbnail_url()
- update_network_option()
- update_term_meta()
- update_termmeta_cache()
- urldecode_deep()
- wp_ajax_delete_inactive_widgets()
- wp_ajax_generate_password()
- wp_ajax_save_wporg_username()
- wp_calculate_image_sizes()
- wp_calculate_image_srcset()
- wp_embed_excerpt_attachment()
- wp_embed_excerpt_attachment()
- wp_filter_oembed_result()
- wp_get_attachment_image_sizes()
- wp_get_attachment_image_srcset()
- wp_get_attachment_image_url()
- wp_get_document_title()
- wp_get_server_protocol()
- wp_get_users_with_no_role()
- wp_handle_comment_submission()
- wp_image_add_srcset_and_sizes()
- wp_installing()
- wp_is_numeric_array()
- wp_make_content_images_responsive()
- wp_maybe_decline_date()
- wp_new_comment_notify_moderator()
- wp_new_comment_notify_postauthor()
- wp_oembed_add_discovery_links()
- wp_oembed_add_host_js()
- wp_oembed_ensure_format()
- wp_oembed_register_route()
- wp_parse_url()
- wp_remote_retrieve_cookie()
- wp_remote_retrieve_cookie_value()
- wp_remote_retrieve_cookies()
- wp_removable_query_args()
- wp_rest_server_class()
- wp_send_new_user_notifications()
- wp_term_is_shared()
Deprecated Deprecated
Actions & Filters Actions & Filters
New Actions New Actions
- after_password_reset
- after_signup_site
- after_signup_user
- attachment_updated
- before_signup_header
- clean_user_cache
- customize_post_value_set
- customize_post_value_set_{$setting_id}
- delete_plugin
- delete_widget
- deleted_plugin
- edit_user_created_user
- embed_content
- embed_content_meta
- embed_footer
- embed_head
- enqueue_embed_scripts
- invite_user
- manage_posts_extra_tablenav
- ms_network_not_found
- network_site_new_created_user
- network_site_users_created_user
- network_user_new_created_user
- page_attributes_meta_box_template
- post_submitbox_minor_actions
- pre_auto_update
- register_new_user
- rest_api_init
- wp_add_nav_menu_item
- wp_mail_failed
- wp_verify_nonce_failed
New Filters New Filters
- admin_post_thumbnail_size
- comment_excerpt_length
- comment_form_fields
- content_pagination
- customize_loaded_components
- dashboard_recent_drafts_query_args
- dashboard_secondary_items
- default_hidden_columns
- document_title_parts
- document_title_separator
- duplicate_comment_id
- embed_html
- embed_oembed_discover
- embed_site_title_html
- embed_template
- embed_thumbnail_image_shape
- embed_thumbnail_image_size
- enclosure_links
- expiration_of_site_transient_{$transient}
- expiration_of_transient_{$transient}
- export_wp_filename
- feed_links_show_comments_feed
- feed_links_show_posts_feed
- found_comments_query
- get_header_image_tag
- get_page_of_comment
- get_page_uri
- get_post_status
- get_role_list
- get_sample_permalink
- get_terms_defaults
- get_{$adjacent}_post_excluded_terms
- hidden_columns
- illegal_user_logins
- image_get_intermediate_size
- insert_user_meta
- max_srcset_image_width
- mejs_settings
- nav_menu_item_args
- nav_menu_item_title
- navigation_markup_template
- network_admin_plugin_action_links
- network_admin_plugin_action_links_{$plugin_file}
- notify_moderator
- notify_post_author
- oembed_discovery_links
- oembed_endpoint_url
- oembed_min_max_width
- oembed_response_data
- old_slug_redirect_url
- plugin_action_links
- plugin_action_links_{$plugin_file}
- post_edit_category_parent_dropdown_args
- post_embed_url
- postmeta_form_keys
- pre_delete_post
- pre_get_document_title
- pre_get_lastpostmodified
- register_post_type_args
- register_taxonomy_args
- respond_link
- rest_url
- rest_url_prefix
- screen_options_show_submit
- show_network_active_plugins
- signup_get_available_languages
- subdirectory_reserved_names
- submenu_file
- taxonomy_labels_{$taxonomy}
- the_category_list
- the_excerpt_embed
- update_right_now_text
- user_profile_picture_description
- users_list_table_query_args
- view_mode_post_types
- wp_calculate_image_sizes
- wp_calculate_image_srcset
- wp_dropdown_users_args
- wp_http_ixr_client_headers
- wp_post_revision_title_expanded
- wp_prepare_revision_for_js
- wp_theme_editor_filetypes
- xmlrpc_chunk_parsing_size