Advertise on Site! You can Advertise on our site. Find out More

what is new in wordpress 3.3

4 Flares Twitter 0 Facebook 0 Google+ 4 StumbleUpon 0 LinkedIn 0 Buffer 0 4 Flares ×

wordpress 3.3 is released on 12th Dec 2011. This is next biggest release of 2011.

what is new in wordpress 3.3

what is new in wordpress 3.3


  • Easier Uploading
    • File Type Detection – A single upload button
    • Drag-and-Drop Media Uploader
  • Dashboard Design
    • New Toolbar in the dashboard, combining the Admin Bar and admin header
    • Responsive design for some screens, including iPad/tablet support
    • Flyout menus, providing single-click access to any screen
  • New User Experience
    • New feature pointers, helping users navigate new features
    • Post-update About screen
    • Dashboard welcome area for new installs
  • Content Tools
    • Better co-editing that releases post locks immediately
    • Don’t lose widgets when switching themes
    • Tumblr Importer
  • Under the Hood improvements
    • Use the postname permalink structure without a performance penalty
    • Improved Editor API
    • is_main_query() function and WP_Query method
    • Remove a number of funky characters from post slugs
    • jQuery 1.7.1 and jQuery UI 1.8.16
    • A new Screen API for adding help documentation and adapting to screen contexts
    • Improved metadata API
  • Performance improvements and hundreds of bug fixes

User Features


  • Admin doctype changed to HTML5 (#18202)
  • Show Toolbar in backend by default (#17899)
  • Drag and drop multi-file uploading (except older IE)
  • Fix Press This editors
  • Switch admin menus to flyouts from dropdowns
  • WebMatrix support
  • Improve cron locking; avoid multiple cron processes looping over the same events
  • Add pointers feature, and pointer to admin bar
  • Introduce help tabs and WP_Screen
  • Style tweaks to the update nag


  • Ensure text in the dashboard recent comments widget wraps up properly


  • When inserting a Gallery to be ordered by Date/Time use the post_date field for ordering rather than ID
  • Rename ‘Post Tags’ to ‘Tags’
  • Make DFW (Distraction-Free Writing) content width match exactly the reported width from the theme
  • Improve the image drag-resize detection in the visual editor (supported in FF and IE only), remove the size-* class if the image is soft-resized
  • Add TinyMCE command to handle opening of the upload/insert popup, fix the shortcut “Alt+Shift+M”, fix the “image” button in DFW
  • Allow Apostrophes in Post Passwords
  • Add post formats to quick edit and bulk edit
  • Hide post title field in DFW if title is not supported by the current post type or missing
  • Clean up remnants from having negative Post_ID


  • Merge media buttons into one
  • Add the styling for “drop area” to Media->Add New
  • Add support for rar and 7z file uploading



  • Use WP_Editor when editing or replying to comments
  • Use ‘View Post’ instead of ‘#’ for view post links in comment rows


  • Use the Settings fields/sections API in Twenty Eleven
  • Load all Parent theme stylesheets before Child theme stylesheets in the TinyMCE Editor
  • Clean up Plugin/Theme uploads after successfully installing them
  • Improved Theme upload and validation
  • Avoid losing widgets when switching themes
  • Make Distraction Free Writing content width match exactly the reported width from the theme
  • Allow current_theme_supports() to be used to check for specific post formats
  • Improved Menus
  • Contextual help for Twenty Eleven theme options page


  • Improved Plugin upload and validation
  • Stop remembering the last viewed plugins screen; always show all plugins when returning to plugins.php


  • Add the Tumblr importer to the Importers List
  • Add wxr_export_skip_postmeta filter for skipping postmeta in exports


  • Removed user option to disable Toolbar (admin-bar in 3.2) in the Dashboard


  • Add postname to Settings > Permalinks and remove the help text talking about permalink performance; make the slugs (and /archives/ rewrite base) translatable
  • Clarify Settings > Privacy
  • Use title case in Settings > General
  • Disallow indexing wp-admin and wp-includes in robots.txt

Install Process


  • Allow creating sites with IDN domains
  • Move network/settings.php POST handling out of network/edit.php
  • Dissolve wp-admin/network/edit.php
  • Add ‘Network Enable’ link after installing a theme in the network admin
  • Use update_blog_details() in wpmu_update_blogs_date()
  • Change Network Settings to just Settings
  • Implement bulk update for network/themes.php
  • Fix inviting existing users to a site with email confirmation
  • Check for plugin/theme updates every hour when hitting update-core.php, not just themes.php/plugins.php

Development, Themes, Plugins

  • Abstract word-trimming from wp_trim_excerpt() into wp_trim_words()
  • Add wp_unique_post_slug filter
  • Add _doing_it_wrong() when a plugin or theme accesses $wp_scripts or $wp_styles too early (also fixes localization)
  • 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
  • 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 inflation support for in WP_Http_Encoding::compatible_gzinflate()
  • Add magic get/set/isset methods to WP_User to avoid data duplication; standardize on WP_User::ID
  • Add pre_ent2ncr filter
  • add_site_option should not update existing options, should return a boolean and should only run actions on success
  • 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
  • Allow ‘id’ to work in get_bookmarks(); add link_notes even though such sorting is a bad idea
  • Allow sorting by id in get_bookmarks()
  • Allow the text parameter in wp_trim_excerpt() to be omitted altogether, instead of requiring a blank string
  • Automatically set ‘compare’ => ‘IN’ in WP_Meta_Query::get_sql() when the meta value is an array
  • Change month dropdown display in date pickers to include month number
  • Completely remove wp_add_script_data()
  • Consolidate update count code into wp_get_update_data()
  • Count only published posts when updating term counts; fire term count updates on transition_post_status
  • 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 RSS 0.92 feed and 301 it to the default feed
  • Deprecate screen_options(), screen_layout(), screen_meta()
  • Deprecate wpmu_admin_redirect_add_updated_param() and wpmu_admin_do_redirect()
  • Eliminate verbose rewrite rules for ambiguous rewrite structures, resulting in massive performance gains
  • Fix back compat issues with delete_postmeta and deleted_postmeta actions as these should be passed the meta ID
  • Fix QTags.closeAllTags(), replace ‘tb’ with ‘ed’ in quicktags,js to make it clear it is the editor instance not the toolbar, small comments quick edit fixes
  • Fix typos in documentation
  • Fix wp_update_user() so it doesn’t stomp meta fields
  • Force display_errors to off when WP_DEBUG_DISPLAY == false; technically a backwards incompatible change so if you want the passthrough to php.ini (which false used to provide) then use WP_DEBUG_DISPLAY === null
  • Harden up is_user_logged_in() against empty $current_user instances to prevent PHP Notices on XML-RPC requests
  • Have dbDelta() loop through tables it knows about, rather than loop through a potentially expensive and definitely unnecessary SHOW TABLES
  • Improve _wp_menu_output()
  • Improve the parsing of email addresses in wp_mail to re-support RFC2822 nameless “<address@…>” style
  • Instantiate some MS variables as objects before using them
  • Introduce ->mysql to allow drop-ins to declare themselves as MySQL and therefore allow minimum version checks to still apply
  • Introduce is_main_query() that compares the query object against $wp_the_query
  • 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()
  • Introduce wp_cache_incr() and wp_cache_decr()
  • Introduce WP_Dependencies::get_data() method, change scripts and styles priority to follow the “natural” order in HTML, i.e. the last one wins
  • Introduce wp_get_db_schema() for retrieving various flavors of db schema; eliminates need to use global; allows multiple calls to wpmu_create_blog()
  • Introduce wp_no_robots() and call it for pages that should never be indexed, regardless of blog privacy settings
  • Introduce wp_suspend_cache_addition() to allow reduced memory usage when cache additions aren’t useful
  • Make check_theme_switched() run an action so plugins and themes authors can avoid losing widgets when switching themes
  • Optimise get_term to not query for term_id = 0 and improve the prepared query to use %d for the term_id
  • Optimize parse_request for the home page
  • Performance improvement for wp_list_pluck()
  • Properly handle display of Order, Template, and Parent page attributes in Quick/Bulk Edit
  • Properly handle nested arrays in wp_list_filter()
  • Recognize urls that start with a question mark as relative urls that do not require a scheme to be prepended
  • Refactor Quicktags
  • Remove return by ref from get_role()
  • Remove support for <link rel=start>, end, up, and index. These rel=”” values have been dropped by the HTML Working Group
  • Remove the old root feed files, but don’t add these files to old_files to leave them on existing installs
  • Require show_ui rather than public for a taxonomy’s parent post type
  • Rework get_hidden_meta_boxes() to leverage a full WP_Screen object; prevents custom post types from having their explicitly supported meta boxes being hidden by default
  • Set up the post global variable in the comment feed loops so that any calls to post related template tags work correctly
  • Store screen help and options as static data against WP_Screen; individual screen objects no longer hold data it can’t re-generate on construction or otherwise fetch; convert_to_screen() now returns a WP_Screen object; various globals are gone; introduces WP_Screen::get_option(); allows for a formal factory to be introduced later
  • Support an array or comma-seperated list of excluded category IDs in get_adjacent_post()
  • Support for using wp_enqueue_script() and wp_enqueue_style() in the HTML body; all scripts and styles are added in the footer
  • Sync pomo library with the current GlotPress version
  • Turn delete_meta() , get_post_meta_by_id(), update_meta(), delete_post_meta_by_key() into wrappers around theMetadata API; add back compat *_postmeta actions to Metadata API
  • Turn is_blog_user() into a convenience wrapper around get_blogs_of_user(); fixes is_blog_user() for blog prefixes that do not contain a blog ID
  • Update blog last_updated time only on publish_post; both private_to_published and publish_phone are overly broad and otherwise redundant
  • Update jQuery to 1.7.1
  • Update jQuery UI to 1.8.16
  • Update Plupload to
  • Update quicktags.js (HTML editor)
  • Update TinyMCE to 3.4.5
  • Use add_option() method, introduce add_option_context() method for adding specific text above the screen options
  • Use get_template_directory() instead of TEMPLATEPATH in Twentys Ten and Eleven
  • Use json_encode() for adding script data (formerly l10n); add the same functionality to WP_Styles for adding inline css after a stylesheet has been outputted
  • Use wp_print_scripts() in install.php
  • Various PHPdoc updates including: for all_items, menu_name, WP_List_Table::views(), cache.php, get_option(), wpdb::prepare(), get_template_part(), esc_url(), get_meta_sql(), WP_Screen, WP_Http_Encoding::compatible_gzinflate(), zeroise(), wp_add_script_before(), wp_editor()
  • WP_Filesystem_*::mkdir() untrailingslash path consistently, don’t waste time attempting to create an “empty” path
4 Flares Twitter 0 Facebook 0 Google+ 4 StumbleUpon 0 LinkedIn 0 Buffer 0 4 Flares ×
  • John

    nice to know about wordpress 3.3 version

  • Johnie

    Hi, i read your blog occasionally and i own a similar one and i was just curious if you get a lot of spam responses? If so how do you stop it, any plugin or anything you can advise? I get so much lately it’s driving me mad so any assistance is very much appreciated.

4 Flares Twitter 0 Facebook 0 Google+ 4 StumbleUpon 0 LinkedIn 0 Buffer 0 4 Flares ×