Hi there! Welcome to Last Week in WordPress Core Core is the set of software required to run WordPress. The Core Development Team builds WordPress. for the week of March 3–9. By now, you’ve heard that WordPress 3.9 Beta 1 is available! Thank you for your hard work this last week. Now we’re done adding new enhancements, and on to bugs. Your help is appreciated as we continue to test and squash bugs on the way to a stable RC One of the final stages in the version release cycle, this version signals the potential to be a final release to the public. Also see alpha (beta)..
There are a couple important things that landed on Monday that are not covered in this post, but shipped in beta A pre-release of software that is given out to a large group of users to trial under real conditions. Beta versions have gone through alpha testing in-house and are generally fairly close in look, feel and function to the final product; however, design changes often occur as part of the process.. Namely, please test the Theme Install screen refresh and the ability to crop headers from within the Customizer.
Admin (and super admin):
- Widgets: Add widget A WordPress Widget is a small block that performs a specific function. You can add these widgets in sidebars also known as widget-ready areas on your web page. WordPress widgets were originally created to provide a simple and easy-to-use way of giving design and structure control of the WordPress theme to the user. management to the customizer Tool built into WordPress core that hooks into most modern themes. You can use it to preview and modify many of your site’s appearance settings.. This brings in the Widget Customizer plugin. [27419] #27112
- Admin Menu: Introduce a
.dashicons-before
CSS Cascading Style Sheets. class and use it in the admin menu. Lets you use a Dashicon before an element without copying the entire .dashicons
styling to your :before
styling. [27418] [27425] [27444] [27482] #26630
- Editor: Show “View Post” for any post the author can read. This expands it to private posts and matches the logic in the toolbar. [27483] #27059
Media:
- First pass at bringing the Image Editor into the media modal. Please test me! [27445] #21811
- First pass adding a loading indicator to the Media Library. [27438] #24859
- Allow
$crop
in add_image_size()
and set_post_thumbnail_size()
to receive crop anchors (top
, left
, right
, bottom
, center
). [27472] #19393.
- Add subtitle support to Video editing in the Media Modal. [27481] #27016
- Do not output default gallery styles if the theme has opted into HTML5 galleries. [27396] #27045; see #26697
- Add a class attribute to the caption shortcode A shortcode is a placeholder used within a WordPress post, page, or widget to insert a form or function generated by a plugin in a specific location on your site. to allow additional classes to be specified. [27404] #25295
- Add
playlist_styles
and wp_playlist_scripts
filters to allow users to roll their own playlist themes. [27486] #26631 & [27488] #26631
TinyMCE:
- Update TinyMCE to 4.0.18. [27387] #24067
- Add TinyMCE placeholders for audio and video shortcodes and provide a UI User interface to both edit shortcode attributes and replace the
src
media file in an audio or video shortcode. Also, a flurry of improvements and fixes to them, visible in the full changelog. [27411] #27016
- Add a Ctrl+K shortcut to open the linking dialog, which is the “de-facto standard”. [27449] #27305
- Add the
<hr>
plugin A plugin is a piece of software containing a group of functions that can be added to a WordPress website. They can extend functionality or add new features to your WordPress websites. WordPress plugins are written in the PHP programming language and integrate seamlessly with WordPress. These can be free in the WordPress.org Plugin Directory https://wordpress.org/plugins/ or can be cost-based plugin from a third-party and button to the toolbar. [27428] #27159
- With drag-and-drop uploading, support multiple editor instances, limit to IE10+, and other small fixes. [27378] [27372] [27464] #19845
- When parsing a caption shortcode, recreate missing width attributes using the image tag A directory in Subversion. WordPress uses tags to store a single snapshot of a version (3.6, 3.6.1, etc.), the common convention of tags in version control systems. (Not to be confused with post tags.)’s width. [27426] #23103
- Restore the “link” button state to disabled by default and enabled when text or image is selected. Remove the (recently added) default link plugin; not needed. [27447] #27309
Templates:
- Add
has-post-thumbnail
as a post class. [27429] #18804
- Rename the new
page_templates
filter Filters are one of the two types of Hooks https://codex.wordpress.org/Plugin_API/Hooks. They provide a way for functions to modify data of other functions. They are the counterpart to Actions. Unlike Actions, filters are meant to work in an isolated manner, and should never have side effects such as affecting global variables and output. to theme_page_templates
, and pass it a post object for proper context. [27470] [27471] #13265
- Introduce
get_the_permalink()
as an alias for get_permalink()
. This better aligns it with other the_*
and get_the_*
function pairs. [27409] #24164
- Let
get_the_date()
accept a post object. [27380] #13771
- Add the ability to short-circuit wp_nav_menu() via the pre_wp_nav_menu hook. [27386] #23627
- Better plural handling for labels in
wp_generate_tag_cloud()
/ wp_tag_cloud()
. [27376] #27262, see #7989, #14424
Multisite Used to describe a WordPress installation with a network of multiple blogs, grouped by sites. This installation type has shared users tables, and creates separate database tables for each blog (wp_posts becomes wp_0_posts). See also network, blog, site:
- Incremental improvements and bug A bug is an error or unexpected result. Performance improvements, code optimization, and are considered enhancements, not defects. After feature freeze, only bugs are dealt with, with regressions (adverse changes from the previous version) being the highest priority. fixes with the multisite load process. Please test your networks! [27406] [27439] [27407] #27003
- Fix bulk activation of network (versus site, blog)-only plugins. [27413] #26487
Query:
- Add
has_password
and post_password
query variables to WP_Query
. has_password
true
means posts with passwords, false
means posts without. post_password
can query for posts with a particular password. [27395] #20308
- Allow a
posts_per_rss
query variable to be set to override the posts_per_rss
option. [27456] [27455] #25380
- Allow
get_page_by_path()
and get_page_by_title()
to accept an array of post types. [27423] #24763
Internals:
- Allow for custom authentication handlers for all requests. Turn the logic used by
wp_get_current_user()
into a determine_current_user filter
. [27484] #26706
- Allow the
role
attribute in kses
for all elements. [27388] #24098
- Add a
pre_set_theme_mod_$name
filter to set_theme_mod(),
modeled after pre_update_option_$option
in update_option()
. [27393] [27402] #14721.
- Improve HHVM compatibility by eliminating some of our last remaining
create_function()
calls and making OBJECT
a case sensitive constant. [27373] [27374] [27465] #14424 [27377] #27231
- Pass
$reassign
parameter to delete_user
and deleted_user
actions. [27462] [27466] #23057
- Bail early from shortcode functions if no delimiter is present. It’s the little things; performance results on-ticket Created for both bug reports and feature development on the bug tracker.. [27394] #23855
- Update PHPMailer to 5.2.7 from 5.2.4. Includes two trivial modifications for WordPress (no impact to plugin developers); see the commit message. [27385] #25560
- Use SSL Secure Sockets Layer. Provides a secure means of sending data over the internet. Used for authenticated and private actions. when linking to WordPress.org The community site where WordPress code is created and shared by the users. This is where you can download the source code for WordPress core, plugins and themes as well as the central location for community conversations and organization. https://wordpress.org/. [27469] #27115
For the complete list of commits to trunk A directory in Subversion containing the latest development code in preparation for the next major release cycle. If you are running "trunk", then you are on the latest revision., check out the log on Trac. Interested in joining in? Write or test a patch for 3.9.
Thanks to @adamsilverstein, @akeda, @avryl, @bassgang, @bigdawggi, @bobbravo2, @bpetty, @bradt, @celloexpressions, @coffee2code, @danielbachhuber, @dd32, @DJPaul, @DrewAPicture, @empireoflight, @ericlewis, @ericmann, @frank-klein, @gcorne, @genkisan, @gradyetc, @hakre, @Hanni, @Jayjdk, @jenmylo, @johnregan3, @jorbin, @JoshuaAbenazer, @kadamwhite, @kasparsd, @Kopepasah, @kovshenin, @kpdesign, @lpointet, @markjaquith, @mcadwell, @melchoyce, @michael-arestad, @mikecorkum, @mordauk, @nacin, @obenland, @Otto42, @pavelevap, @Rarst, @rhyswynne, @ricardocorreia, @rmccue, @robmiller, @seanchayes, @SergeyBiryukov, @shaunandrews, @simonwheatley, @sirzooro, @tanner-m, @TobiasBg, @tomauger, @topher1kenobe, @topquarky, @toszcze, @westonruter, @wokamoto, @wonderboymusic, @zbtirrell, and @zodiac1978 for their efforts this week!
#3-9, #week-in-core