Codex

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

vi:Phiên Bản 2.8

Bản Nháp

Trang này được đánh dấu là bản nháp. Bạn có thể giúp đỡ WordPressVN bằng cách hoàn thiện trang này.

Phiên bản 2.8

On April xxth, 2009, WordPress Version 2.8, named for xxxxxxxxxxxxxxx, will be released to the public. For more information on this enhancement and bug-fix release, read the Development Blog and see the Changelog for 2.8.

For Version 2.8, the database version (db_version in wp_options) changed to xxxx, and the Trac revision was xxxxx

New Features

User Features

  • New Theme Installer routines
  • Add CodePress syntax highlighting to Theme and Plugin editors
  • Use "Custom Header" for menu text and revise Default theme to reflect change
  • Separate Comments into a separate postbox, from Discussion postbox, on the Edit Post screen
  • Don't ask for confirmation when marking a comment as spam
  • Allow the dashboard widgets to be arranged in up to four columns as set via the Screen Options tab
  • Make titles into links in Dashboard Right Now module (this was in 2.7.1)
  • Improved Admin icons (grey-to-transparent shadows)
  • Press This improvements UI, quoting fixes, plus ability for Contributors to use Press This
  • Improve installer to help people entering wrong email addresses
  • Improved Widget user interface
  • Allow editing of all plugin files (Ticket 6732)
  • Improved Plugin search (this was in 2.7.1)
  • Move "Install a plugin in .zip format" to new Upload tab under Administration > Plugins > Add New
  • Show absolute date instead of relative date for scheduled posts
  • Fix tags suggest for post quick edit and bulk edit
  • Permalink editor changes and fix for pages
  • Autosave post/page when pressing Control/Command+S
  • Add toggle all button to the Gallery tab in the uploader
  • Add per page option to Screen Options for comments, posts, pages, media, categories, and tags
  • Overhaul of LiveJournal importer (also add define WP_IMPORTING)
  • Show Tools menu for all users so they can access Turbo
  • Check for new version when visiting Tools->Upgrade
  • Fix most popular link category list
  • Add tag description

Development, Themes, Plugins

  • Improved database performance
  • Drop post_category column from wp_posts table, and link_category column from wp_links schemas
  • Fix delete statements to ensure data integrity when innodb and foreign keys are used
  • Enforce consistent ID types to allow for foreign keys to be defined between tables
  • Add Sticky to list of post states
  • Add a filter to the post states list
  • Introduction and widespread use of transient and related fiters
  • Add filters so AIM, Yahoo, and Jabber IM labels, in user profile, can be changed
  • Add hook "after_db_upgrade"
  • Add hooks for the Users, Categories, Link Categories, and Tags table columns
  • HTTP API updates and fixes
  • Add support for blocking all outbound HTTP requests
  • Updated List of HTTP status codes (Ticket 9297)
  • Use SimplePie for widget and dashboard feeds
  • Switch to pomo lib. Support gettext contexts. Deprecate long form functions
  • TinyMCE 3.2.2.3
  • Use Jcrop for cropping
  • Improved performance for script loading
  • Improved archive and calendar queries
  • Cron spawning improvements
  • Timezone enhancements for PHP 5
  • Add WP_Widget class and move native widgets into WP_Widget
  • Allow other taxonomies (e.g. post categories) to be used with wp_tag_cloud (Changeset 10554)
  • Allow a plugin to control how many posts are displayed on edit pages
  • Add "style" and "html" arguments to wp_list_authors (Ticket 4420)
  • Add "exclude_tree" argument to wp_list_categories and make exclude behave like exclude_tree when hierarchical is specified--this was actually a 2.7.1 change (Ticket 8614)
  • New Template Tag, the_modified_author (Ticket 9154)
  • Enhanced support for custom taxonomies
  • Put page title before blog name in admin title (Ticket 9028)
  • Use https://api.wordpress.org/secret-key/1.1/ for the WordPress.org secret-key service
  • Various phpDoc updates
  • Refactor filters to avoid potential XSS attacks
  • XMLRPC improvements
  • Improved mysql2date coding
  • Make authentication more pluggable
  • Switch to using the ID when calling get_avatar internally to support caching plugins
  • Allow plugins to provide a canonical redirect_url even if WordPress does not provide its own
  • Drafts have post_date populated now, so look for a zeroed out post_date_gmt to determine non-scheduled nature
  • Fixes to query_posts (obey post_type, drop orderby=category, use group by for meta key queries, remove meta_value from selected fields)
  • Allow a plugin to filter the classes applied in wp_list_pages()
  • Functions (get_adjacent_post_rel_link and adjacent_post_rel_link) to display relational links for adjacent posts in the head (Ticket 8703)
  • Add the sticky post grey background to the default theme
  • Proxy support
  • Let a plugin filter the expanded capabilities returned by map_meta_cap
  • Allow the update period to be filtered in RSS/RDF feeds
  • Store field types in wpdb object
  • Add tag description functions tag_description and term_description
  • Updated Trac

Advanced Features

JS script loader Improvements

  • jQuery 1.3.2
  • Improvements to the script loader: allows plugins to queue scripts for the front end head and footer, adds hooks for server side caching of compressed scripts, adds support for ENFORCE_GZIP constant (deflate is used by default since it's faster)
  • Load the minified versions of the scripts by default, define('SCRIPT_DEBUG', true); can be used to load the development versions
  • Remove events from categories chechboxes in quick edit to speed up page unload
  • Make simple form validation and ajax-add new categories compatible with jQuery 1.3.1
  • Load farbtastic.js has to be loaded in the head
  • Note: see Lester Chan's Loading Javascript in Footer blog and Andrew Ozz's Script Loader Updates blog

New Widgets API

WP_Widget is a class that abstracts away much of the complexity involved in writing a widget, especially multi-widgets.

  • Basically, you extend WP_Widget with your own class that provides a constructor and three methods -- widget(), form(), and update().
    • widget() - outputs the actual content of the widget.
    • update() - processes options to be saved.
    • form() - outputs the options form.
  • A widget is registered by passing the name of the widget class to register_widget().
  • All widgets written with WP_Widget are multiple instance capable.
  • Options
    • Options for old single-instance widgets ported to WP_Widget will be upgraded to the new multi-option storage format, which is simply a multi-dimensional array keyed by instance ID.
    • Options for widgets using the old multi-instance pattern should work as is.
    • If your widget has custom option storage needs, you can provide your own get_settings() and save_settings() methods.
  • The WP_Widget source can be viewed here (read the phpdoc for moreinfo on usage): http://core.trac.wordpress.org/browser/trunk/wp-includes/widgets.php
  • You can see examples of how to use it here: http://core.trac.wordpress.org/browser/trunk/wp-includes/default-widgets.php
  • If you author any widgets, try porting them to WP_Widget and give your feedback on what can be improved an Trac Ticket 8441.
  • Props to the MultiWidget class, on which WP_Widget is based: http://blog.firetree.net/2008/11/30/wordpress-multi-widget/
  • The above extracted from Ryan Boren's wp-hackers post.

Features That Didn't Make it into Version 2.7

These features didn't make it into 2.7, but there's hope that they might make it into 2.8.

  • Some default shortcodes, maybe the most popular 10 from WordPress.com
  • oEmbed support, tied in with shortcodes
  • Better UI for post revisions, maybe an optional field to say what changed in a version
  • Widget UI overhaul (Ticket 6556)
  • OAuth support
  • GeoData for posts, comments, attachments, etc.
  • Duplicate post Tags UI for other taxonomies (Ticket 6387)
  • Template tags to do everything the custom gallery on ma.tt does
  • Codepress code highlighting for template editing --
  • Menu editor
  • Unbalanced tags across more and nextpage tags (Ticket 6297)
  • Sitemaps by default
  • Refresh of the importers
  • Gallery post_type
  • Versioning of template edits
  • Documentation links for functions used in currently edited template
  • MPTT for hierarchies
  • Method for uploading and installing themes directly in the Wordpress UI
  • Add support for blocking all outbound HTTP requests