Hi Everyone! This is the first Last Week in WordPress Core Core is the set of software required to run WordPress. The Core Development Team builds WordPress. for WordPress 4.0! Last week, a minor update, 3.9.1 was released, and autoupdates started shortly afterwards. Development on 4.0 is ongoing, and you can see notes and meeting details posted by @helen on this blog (versus network, site) as well.
Media:
- In
wp.media.view.Settings::update()
, when handling checkboxes, check for a value of false
in addition to casting value to boolean. !! false
evaluates to true. [28371] #23954
- Allow users to set overrides for MediaElement instances by always passing
_wpmejsSettings
instead of just _wpmejsSettings.pluginPath
. [28370] #25243
- When pausing “all” players attached to MCE views, don’t reach into global scope and pause every player. Only pause the players bound to MCE views. [28364] #27971
- In
wp_read_image_metadata()
, the values from exif_read_data()
should only override values from iptcparse() that are empty. [28367] #23706
- Support loop The Loop is PHP code used by WordPress to display posts. Using The Loop, WordPress processes each post to be displayed on the current page, and formats it according to how it matches specified criteria within The Loop tags. Any HTML or PHP code in the Loop will be processed on each post. https://codex.wordpress.org/The_Loop. for
[audio]
and [video]
shortcodes that specify files that are played using MediaElement’s Flash 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 bridge. [28363] #27368
- MediaElement players need
clear: both
to play nice with adjacent floated elements. [28361] #27385
Widgets:
- Custom Navigation 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.: Force users to choose a nav menu in the custom nav menu widget, for a better 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. UX User experience. Before, they had to make a dummy change to get it to render. Now they are made to choose a nav menu from the dropdown, which feels more natural. [28197] #27878
- Recent Posts Widget: Use
ob_end_flush()
instead of ob_flush()
. ob_end_flush()
flushes the output buffer and turns output buffering off, same as ob_get_flush()
. [28195] #28009
Themes and Templates:
- Prevent
paged-*
from being added to body classes and prevent Page %s
from being added to page title on 404 error pages on default themes. [28249] #16468
- Bundled Themes:Prevent
Page %s
from being added to page title on 404 error pages in bundled themes. [28250] #16468.
- Bundled Themes: Use correct logic in IE conditional comments in header The header of your site is typically the first thing people will experience. The masthead or header art located across the top of your page is part of the look and feel of your website. It can influence a visitor’s opinion about your content and you/ your organization’s brand. It may also look different on different screen sizes. template. [28341] #28151
- Set the proper value for
wp_title()
when is_author()
and is_post_type_archive()
are both true
. post_type
should always win due to the precedence indicated in get_queried_object()
. [28251] #25398
- Update the default (WP-defined) styles for MediaElement players to be more in-line with our flat aesthetic. Use the new official colors. [28365] #27516
Custom Headers:
- Allow to skip cropping header images if image width is smaller than or equal to theme width. [28219] #27936
- Avoid hiding ‘Remove’ buttons unrelated to custom headers. [27882] #27848
- Keep header image from being removed when background image is removed. [28269] #28046
- Avoid warnings in the
process_default_headers()
method. #27850
- Fix logic when a theme doesn’t set
default-text-color
. [28294] #28042
Internals:
- Move
home
option to the top of populate_options()
to make it easier to find next to siteurls
for manual changes. [28260] #28141
- Scrutinizer Cleanup: @wonderboymusic has started the process of cleaning up core with Scrutinizer. Check out the full list of fixes so far on #27882.
- Hack/HHVM Compatibility: More from @wonderboymusic. See #27881 and #22400.
- Dev Tools: Introduce default
wp-cli.yml
for core development. [28221] #28036
- Add
.dfxp
and .srt
files to mime-type
whitelist in wp_get_mime_types()
. They are both captioning formats supported by MediaElement. [28259] #27643
- Add
.xps
and .oxps
extensions to list of supported document types. More about the types on Wikipedia. [28372] #15697
- When
$type
is atom in get_the_category_rss()
, use get_bloginfo_rss( 'url' )
when setting the scheme attribute for the <category>
node. [28258] #24444
- In
WP_Date_Query::get_sql_for_subquery()
, don’t parse duplicate parameters – only parse one of w
and week
or month
and monthnum
. [28252] #25835
- Add a 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. for
wp_list_comments()
arguments. [28285] #19581
- In
get_the_author_posts()
, if there is no current $post
, return 0
and bail. [28362] #27998
- In
WP_Terms_List_Table::single_row()
, call sanitize_term()
on the passed term ($tag
). [28360] #16864
Externals:
TinyMCE:
- First pass at
wpview
logic for the
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.. URLs pasted on their own line are parsed as well. The toolbar will appear with the “remove” button when the view is clicked. Edit has not been implemented yet, nor have safety measures for non-iframe iFrame is an acronym for an inline frame. An iFrame is used inside a webpage to load another HTML document and render it. This HTML document may also contain JavaScript and/or CSS which is loaded at the time when iframe tag is parsed by the user’s browser. embeds. [28358] #28195
- Audio, video, and playlist shortcodes: [28342] #22400, #27881
- Convert all instances of variable variables to array properties
- Stop using
extract()
- Rename
$atts
to $html_atts
where collision with new $atts
(shortcode atts holder) var might occur
- Shortcode JS JavaScript, a web scripting language typically executed in the browser. Often used for advanced user interfaces and behaviors.: Avoid errors when an escaped shortcode includes a newline between brackets. [28223] #27907
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:
- Fix case sensitivity regressions in 3.9. [28276] #27866
- Treat “www” as a special subdomain, reversing 3.9 regression A software bug that breaks or degrades something that previously worked. Regressions are often treated as critical bugs or blockers. Recent regressions may be given higher priorities. A "3.6 regression" would be a bug in 3.6 that worked as intended in 3.5.. [28280] #27927
Thanks to @andrezrv, @arnee, @avryl, @azaozz, @boonebgorges, @celloexpressions, @Clorith, @danielbachhuber, @dimadin, @ebinnionm, @ehg, @ericlewis, @feedmeastraycat, @GaVrA, @gcorne, @greenshady, @helen, @hlashbrooke, @imath, @jartes, @jdgrimes, @jeremyfelt, @johnbillion, @jorbin, @jupiterwise, @mattwiebe, @MikeHansenMe, @m_i_n, @obenland, @ocean90, @pavelevap, @psoluch, @rob1n, @rzen, @sergej.mueller, @SergeyBiryukov, @t4k1s, @Tmeister, @westonruter, and @wonderboymusic for their help!
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. We’ve been chatting about 4.0 plans, and things are shaping up. Come chat this Wednesday to continue the discussion, and please note if you encounter issues with 3.9.1 on Trac.
#4-0, #week-in-core