Hi Everyone! This is the first Last Week in WordPress CoreCore 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 blogblog (versus network, site) as well.
Media:
- In
wp.media.view.Settings::update(), when handling checkboxes, check for a value offalsein addition to casting value to boolean.!! falseevaluates to true. [28371] #23954 - Allow users to set overrides for MediaElement instances by always passing
_wpmejsSettingsinstead 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 fromexif_read_data()should only override values from iptcparse() that are empty. [28367] #23706 - Support loopLoop 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
andshortcodes that specify files that are played using MediaElement’s Flash pluginPlugin 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: bothto play nice with adjacent floated elements. [28361] #27385
Widgets:
- Custom Navigation WidgetWidget 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 customizerCustomizer 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. UXUX 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 ofob_flush().ob_end_flush()flushes the output buffer and turns output buffering off, same asob_get_flush(). [28195] #28009
Themes and Templates:
- Prevent
paged-*from being added to body classes and preventPage %sfrom being added to page title on 404 error pages on default themes. [28249] #16468 - Bundled Themes:Prevent
Page %sfrom being added to page title on 404 error pages in bundled themes. [28250] #16468. - Bundled Themes: Use correct logic in IE conditional comments in headerHeader 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()whenis_author()andis_post_type_archive()are bothtrue.post_typeshould always win due to the precedence indicated inget_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
homeoption to the top ofpopulate_options()to make it easier to find next tositeurlsfor 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.ymlfor core development. [28221] #28036 - Add
.dfxpand.srtfiles tomime-typewhitelist inwp_get_mime_types(). They are both captioning formats supported by MediaElement. [28259] #27643 - Add
.xpsand.oxpsextensions to list of supported document types. More about the types on Wikipedia. [28372] #15697 - When
$typeis atom inget_the_category_rss(), useget_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 ofwandweekormonthandmonthnum. [28252] #25835 - Add a filterFilter 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, return0and bail. [28362] #27998 - In
WP_Terms_List_Table::single_row(), callsanitize_term()on the passed term ($tag). [28360] #16864
Externals:
TinyMCE:
- First pass at
wpviewlogic for theshortcodeShortcode 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-iframeiframe 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
$attsto$html_attswhere collision with new$atts(shortcode atts holder) var might occur
- Shortcode JSJS 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
Multisitemultisite 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 regressionregression 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 trunktrunk 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.