Codex

Interested in functions, hooks, classes, or methods? Check out the new WordPress Code Reference!

Версия 3.3

В ноябре 2011 года будет опубликован WordPress (Версия 3.3), названный Ххххх. Для получения информации об улучшениях и закрытых баг-фиксах читайте WordPress Blog и Changelog for 3.3.

Версия 3.3 будет добавлена в Trac, также переменная версии базы данных (db_version в wp_options) будет изменена на Хxxxx.

Основные изменения

  • Новый загрузчик файлов(Plupload)
  • Экран приветствия после установки и обновления.
  • Динамическое отображение админ-панели на устройствах с различными размерами экрана.
  • Улучшенная панель инструментов (бывшая админ-панель).
  • Улучшен Metadata API
  • Улучшен Settings API
  • Улучшен Editor API
  • Реализация языковых пакетов для ядра, плагинов и тем.
  • Улучшена производительность.
  • Объединены многие css файлы админ-панели.
  • Улучшена Помощь/Экран/Настройки

User Features

Главные

  • Админ-панель оформлена в соответствии со стандартом HTML5 (#18202)
  • Отображение панели инструментов по умолчанию (#17899)
  • Drag and drop мультифайловая загрузка (кроме старых IE)
  • Выбор между выпадающим и всплывающим админ-меню
  • Поддержка WebMatrix
  • Улучшена cron блокировка; блокируются многочисленные повторные события
  • Добавлены указатели функций, и указатель на панель инструментов
  • Введена вкладка помощи и WP_Screen

Консоль

  • Виджет комментариев сворачивается правильно

Posts

  • 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 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

Media

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

Links

Comments

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

Appearance

  • 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
  • Use get_template_part() in get_header(), get_sidebar(), get_footer()
  • 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

Plugins

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

Tools

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

Users

Settings

  • 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

Multisite

  • 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 java.util.zip.Deflater 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 favorite_actions()
  • 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 and RDF feeds, and 301 them 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_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 explicity 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 the metadata 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
  • Update jQuery UI to 1.8.16
  • Update plupload to 1.5.1.1
  • 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
See also: other WordPress Versions.