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