Tagged: 3.3

Summary of changes in WordPress 3.3

September 30th, 2013 in Upgrade 0 comments

We continue our series of WordPress change summaries with WordPress 3.3. For a brief introduction to these summaries, view the change summary post for WordPress 3.2.

Sonny Stitt includes some admin design improvements, better co-editing, and a widget’s state is now kept track of when switching themes. “Under the hood”, WordPress improved the Editor API, added a Screen API for user documention and improved the metadata API. Most excitedly, work was done to the way WordPress handles postnames as permalinks so that they no longer cause huge performance issues.

Other changes include improvements to how WP options functions, a couple new cache related functions, a few new meta hooks and functions along with a bundle of new filters. See the list below for changes and additions relevant to our environment.


  • Improve cron locking; avoid multiple cron processes looping over the same events
  • Allow get_blog_option(null,…) to hit the cache for the current blog; new return values for add_blog_option, update_blog_option, delete_blog_option; don’t set the cache in those functions if add/update/delete_option failed
  • add_site_option should not update existing options, should return a boolean and should only run actions on success
  • Use add_option() method, introduce add_option_context() method for adding specific text above the screen options
  • Allow current_theme_supports() to be used to check for specific post formats
  • Switch admin menus to flyouts from dropdowns
  • Dissolve wp-admin/network/edit.php
  • Clean up remnants from having negative Post_ID
  • Check for plugin/theme updates every hour when hitting update-core.php, not just themes.php/plugins.php
  • Fix inviting existing users to a site with email confirmation


  • Turn delete_meta() , get_post_meta_by_id(), update_meta(), delete_post_meta_by_key() into wrappers around the Metadata API; add back compat *_postmeta actions to Metadata API
  • Completely remove wp_add_script_data()
  • Deprecate add_contextual_help() for get_current_screen()->add_help_tab()
  • Deprecate favorite_actions(), add_contextual_help(), add_screen_option(), move meta_box_prefs() and get_screen_icon() in WP_Screen
  • Deprecate get_userdatabylogin() and get_user_by_email()
  • Deprecate media_upload_(image|audio|video|file)(), type_url_form_(image|audio|video|file)(); these now wrap wp_media_upload_handler() and wp_media_insert_url_form()
  • Deprecate wpmu_admin_redirect_add_updated_param() and wpmu_admin_do_redirect()

New features

  • Use the postname permalink structure without a performance penalty!
  • Introduce wp_suspend_cache_addition() to allow reduced memory usage when cache additions aren’t useful
  • Introduce wp_cache_incr() and wp_cache_decr()
  • Introduce is_main_query() that compares the query object against $wp_the_query
  • Introduce ->mysql to allow drop-ins to declare themselves as MySQL and therefore allow minimum version checks to still apply
  • Introduce metadata_exists(), WP_User::get_data_by(), WP_User::get(), WP_User::has_prop(). Don’t fill user objects with meta
  • Introduce new hooks, registered_post_type for register_post_type, and registered_taxonomy for register_taxonomy
  • Introduce register_meta(), get_metadata_by_mid(), and *_post_meta capabilities
  • Introduce wp_allowed_protocols() for use in wp_kses() and esc_url()
  • Add _doing_it_wrong() when a plugin or theme accesses $wp_scripts or $wp_styles too early (also fixes localization)

New filters

  • Add filters for install/upgrade queries, so that unit tests installer can force creating InnoDB tables, so that we can use transactions to revert the database to its initial state after each test
  • Add a filter to is_multi_author()
  • Add a general filter to wp_unique_post_slug to allow for full customisation of the uniqueness functionality
  • Add filter for the args into wp_dropdown_pages() in the page attributes box; give the list_pages filter the context of the post object
  • Add filter so the users can select custom image sizes added by themes and plugin

Version 3.3.1, Version 3.3.2, and Version 3.3.3 were also reviewed but only contained bug fixes, security patches and external library updates and are not summarized here.