เวิร์ดเพรสรุ่น 2.8
ในวันที่ 10 มิถุนายน 2552 เวิร์ดเพรส รุ่น 2.8 ซึ่งถูกตั้งชื่อตามนักร้องและนักทรัมเป็ตที่มีชื่อเสียง Chet Baker ได้ออกเผยแพร่สู่สาธารณะชน สำหรับข้อมูลเพิ่มเติมในการปรับปรุงรุ่นและการแก้ไขข้อผิดพลาดต่าง ๆ โปรดอ่านได้ที่ Development Blog Announcement และดู Changelog for 2.8.
สำหรับ รุ่น 2.8 นั้นรุ่นฐานข้อมูล (db_version ใน wp_options) ได้เปลี่ยนเป็น 11548 และ Trac ฉบับปรับปรุงเป็น 11549
* View Fixed Tickets
เนื้อหา
[ซ่อน]
* 1 Highlights
* 2 New Features
o 2.1 User Features
o 2.2 Development, Themes, Plugins
* 3 Advanced Features
o 3.1 JS script loader Improvements
o 3.2 New Widgets API
o 3.3 Menu reordering via plugin
* 4 Features That Didn’t Make it into Version 2.8
Highlights
* New drag-and-drop widgets admin interface and new widgets API
* Syntax highlighting and function lookup built into plugin and theme editors
* Browse the theme directory and install themes from the admin
* Allow the dashboard widgets to be arranged in up to four columns
* Allow configuring the number of items to show on management pages with an option in Screen Options
* Support timezones and automatic daylight savings time adjustment
* Support IIS 7.0 URL Rewrite Module
* Faster loading of admin pages via script compression and concatenation
New Features
User Features
* New Theme Installer routines
* Add CodePress syntax highlighting to Theme and Plugin editors
* Add Documentation(function) lookup 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
* Make tags accessible without Javascript on the edit screen
* Don’t ask for confirmation when marking a comment as spam
* Don’t notify post author of own comments
* Fix comment paging for static front page
* 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)
* Update Blue Admin Color Scheme
* Press This improvements UI, quoting fixes, plus ability for Contributors to use Press This
* Add a Cancel Upload button and a Delete link to Administration > Media > Add New
* Add column “Rating” in Administration > Links > Edit
* 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) on Administration > Plugins > Add New
* Per Page option for plugins
* 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
* Support more than one gallery on the same page
* Add per page option to Screen Options for comments, posts, pages, media, categories, and tags
* Overhaul of LiveJournal importer (also add define WP_IMPORTING)
* Import category descriptions for Administration > Tools > Import > WordPress
* Show Tools menu for all users so they can access Turbo
* Check for new version when visiting Administration > Tools > Upgrade
* In upgrade process, provide better explanation for database upgrade message
* Fix most popular link category list
* Add description field for Tags in Administration > Posts > Tags
* WAI-ARIA landmark roles to added to WordPress Default theme
* “Choose a city in the same timezone as you” for Timezone in Administration > Settings > General
* Remove My Hacks option from Administration > Settings > Miscellaneous
* Hide email addresses from low privilege users on Administration > Comments
* Allow case-insensitive logins
* Login and Registration pages noindex followed
* Give login screen proper iPhone viewport
* Enforce unique email addresses in Add/Edit users
* Make user_nicenames unique during registration
* Add “Send this password to the new user by email” option to Administration > Users > Add New
* Don’t set user’s Website url to http:// in Administration > Users > Add New
* Add password strength meter to Add User and Edit User
* Hide things that need to be available to screen readers via offscreen positioning
* Use invisible class for hiding labels and legends
* Use a semantic class name for text targeted to screen readers
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 filters
* 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, Tags and Comments 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.4.1
* Use Jcrop 0.9.8 for cropping
* Update pclzip to 2.8
* Update PHPMailer to 2.0.4
* Update SWFUpload to 2.2.0.1
* 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)
* Add echo argument to wp_tag_cloud()
* 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)
* New orderby=none parameter for use with query_posts
* 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
* Add page class to get_body_class()
* Deprecate get_catname()
* Use comments_open() and pings_open() in WordPress Default and Classic themes
* Add wp_trim_excerpt() filter
* Consolidate plugin/theme/core upgrade/install functions
* Add page-id-x class to body for pages
* Return empty list in wp_list_bookmarks() if requested bookmark category does not exist
* Allow menu reordering via plugin
* Add hook for updating user profile
* Add redirect argument to wp_loginout
* Add wp_lostpassword_url (Ticket 9932)
* Add get_the_author_meta() and the_author_meta() functions
* Deprecate the_author_ID, the_author_login, the_author_firstname, the_author_lastname, the_author_nickname, the_author_email, the_author_url, the_author_aim, the_author_yim, the_author_mns, the_author_description and all their “get_*()” functions. (The full list at แม่แบบ:Trac)
* Let plugins use screen layout columns
* Add labels to titles and text inputs
* Add hook for adding info to plugin update message
* Don’t do core version check from front page loads
* Allow a plugin to vary the comment cookie lifetime (or even remove the cookies altogether)
* Allow plugin to replace just the default help while preserving the contextual help
* New escaping naming convention Ticket 9650
* Deprecate wp_specialchars() in favor of esc_html(). Encode quotes for esc_html() as in esc_attr(), to improve plugin security (ref. Development Updates)
* Deprecate sanitize_url() and clean_url() in favor of esc_url_raw() and esc_url() (ref. Development Updates)
* Add number/offset arguments to get_pages() (same parameters can be used for wp_list_pages()
* Make login more pluggable
* Add the_widget() function to output a generic widget anywhere in a template (Ticket 9701)
* Allow plugins to override tz support enable/disable
* Fix combining category and tag queries
* Support IIS 7.0 URL Rewrite Module
* Recognize Expression Web 2 as IIS
* Allow multiple search form templates
* Introduce sanitize_html_class() and use it to give categories, tags, users etc meaningful classnames where possible but fallback to the id if necessary (Ticket 8446)
* Allow a different role to be set for users when they are created in a call to wp_insert_user()
* Improve Filesystem method choice for ‘direct’; introduce FS_METHOD constant
* Add a hook in print_footer_scripts as in print_head_scripts
* Add a comment_moderation_headers filter
* Move upload_dir filter to before directory is created, so plugins can have a better effect
* Pass name to sidebar, footer, and header get actions
* Upgrader improvements, including move curl to last position and fockopen to 2nd position due to higher compatibility
* 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().
o widget() – outputs the actual content of the widget.
o update() – processes options to be saved.
o 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
o 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.
o Options for widgets using the old multi-instance pattern should work as is.
o 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.
See also Widgets API.
Menu reordering via plugin
* Example plugin demonstrates menus with Dashboard, Posts, and Comments in the first menu group. The remaining menus follow in their usual order.
* When filtering the order array, any menus that are not mentioned in the array will be sorted after ones that are mentioned.
* Unmentioned menus are sorted in their usual order, relative to other unmentioned menus.
* Information extracted from Ryan Boren’s comments on Trac Ticket 9652
Features That Didn’t Make it into Version 2.8
These features didn’t make it into Version 2.8 (or Version 2.7).
* 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
* OAuth support
* GeoData for posts, comments, attachments, etc.
* Template tags to do everything the custom gallery on ma.tt does
* Menu editor
* Unbalanced tags across more and nextpage tags (Ticket 6297)
* Sitemaps by default
* Refresh of the importers (LiveJournal was refreshed)
* Gallery post_type
* Versioning of template edits
* Documentation links for functions used in currently edited template
* MPTT (Modified Preorder Tree Traversal) for hierarchies
Posted in Wordpress
