Welcome back the latest issue of Week in Core Core is the set of software required to run WordPress. The Core Development Team builds WordPress., covering changes [36801-36888]. Here are the highlights:
Ticket Created for both bug reports and feature development on the bug tracker. numbers based on trac timeline for the period above.
Note: If you want to help write the next WordPress Core Weekly summary, check out the schedule over at make/docs and get in touch in the #core-weekly-update Slack Slack is a Collaborative Group Chat Platform https://slack.com/. The WordPress community has its own Slack Channel at https://make.wordpress.org/chat/. channel.
Code Changes
- Update grunt-contrib-copy ~0.8.2 → ~1.0.0 [36864] #35104
- Update Autoprefixer to 6.3.3 [36860] #35104
- Update grunt-contrib-cssmin ~0.14.0 → ~1.0.0 [36865] #35104
- Update grunt-contrib-concat ~0.5.1 → ~1.0.0 [36863] #35104
- Update grunt-contrib-compress ~0.14.0 → ~1.1.0 [36862] #35104
- Update grunt-contrib-clean from 0.6.0 → 1.0.0 [36861] #35104
- Document PHP The web scripting language in which WordPress is primarily architected. WordPress requires PHP 7.4 or higher unit test Code written to test a small piece of code or functionality within a larger application. Everything from themes to WordPress core have a series of unit tests. Also see regression. classes. [36854] #35494
Customize
- Improve the collapsed view when switching to the responsive view. [36877] #35220
- Fix image cropping when doing live preview of theme switches. Ensure that 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. gets bootstrapped with the pre-activated
theme
supplied in the custom-header-crop
admin (and super admin) ajax requests. [36866] #32783
- Fix visibility of preview in iOS The operating system used on iPhones and iPads.. Removes CSS Cascading Style Sheets. rule added in [21014] that is now obsolete. [36804] #20805, #35875
- Eliminate unnecessary
WP_Customize_Site_Logo_Control
in favor of re-using WP_Customize_Image_Control
. Fixes #35941. [36851] #36096, #33755, #35941
- Don’t show custom image sizes in the media modal. Custom image sizes for logos should only be used for their intended purpose. [36839] #33755
- Rename custom logo classes after [36837]. [36838] #35945
- Site logos are custom logos. Brings the nomenclature closer to custom headers and backgrounds. See #35945. [36837] #35945
- Remove gap above section contained in panel when initially focusing on control. [36805] #36050
- Define params on
WP_Customize_Partial::render_callback()
for the sake of subclasses overriding this method. [36801] #27355
Date/Time
Docs
- Improve documentation for the
update_welcome_user_email()
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., introduced in [26538]. [36827] #25598, #35986
- Minorly improve the hook doc summary for the
pre_network_site_new_created_user
action, introduced in [35786]. [36826] #33631, #35986
- Improve documentation for
upgrade_450()
, introduced in [36180]. [36825] #27772, #35323, #35986
- Minorly improve the hook doc summary for the
pre_uninstall_plugin
action, introduced in [36124]. [36824] #34569, #35986
- Add a more descriptive changelog entry to the hook doc for the
privacy_on_link_title
filter. [36823] #35049, #35986
- Improve documentation for
WP_Upgrader::release_lock()
, introduced in [36349]. [36822] #34878, #35986
- Use third-person singular verbs in DocBlock (phpdoc, xref, inline docs) summaries for the
WP_Site_Logo
class, introduced in [36698]. Also minorly improves various inline docs (phpdoc, docblock, xref). [36820] #33755, #35986
- Add
wp_add_dashboard_widget()
parameter descriptions. [36868] #36092
- Correct
$plugins
global type in WP_Plugins_List_Table::prepare_items()
. [36830] #36080
- Improve syntax and correct documentation throughout a variety of methods in
WP_Customize_Widgets
. [36842] #32246, #35986
- Improve documentation for
WP_Customize_Widgets::customize_dynamic_partial_args()
, introduced in [36586]. [36841] #27355, #35986
- Improve DocBlock syntax for
WP_Customize_Nav_Menus::customize_dynamic_partial_args()
, introduced in [36586]. [36836] #27355, #35986
- Improve documentation for
WP_Customize_Nav_Menus::filter_nonces()
, introduced in [36414]. [36835] #27355, #35617, #35986
- Add a missing
@since
version to the DocBlock for wp_add_dashboard_widget()
. [36878] #32246
- Improve DocBlock syntax and add a missing
@return
notation for WP_Image_Editor_Imagick::strip_meta()
, introduced in [36700]. [36847] #33642, #30402, #28634, #35986
- Improve the hook doc summary for the
image_strip_meta
filter, introduced in [36700]. [36846] #33642, #30402, #28634, #35986
- Improve documentation for
WP_Upgrader::create_lock()
, introduced in [36349]. [36821] #34878, #35986
- Match the parameter name in the hook docs for the
press_this_useful_html_elements
filter, introduced in [36672]. [36819] #34455, #35986
- Standardize the changelog entry for the new
$author_url
argument, introduced in [36224]. [36834] #35377, #35986
- Move the hook doc for the
all_plugins
filter in WP_Plugins_List_Table::prepare_items()
to directly precede the apply_filters()
line. [36828] #35986
Editor
- TinyMCE, inline link: Add
uiAutocompleteL10n
with translatable strings for use in UI User interface Autocomplete live region. [36806] #33301
- Fix the icon for the native dialogs close button. Highlight the button on :focus. [36857] #36035
- TinyMCE, inline link: add styling for the dialog and UI Autocomplete to Press This. [36849] #33301
- TinyMCE: then toggling the paste in plain text mode disable the warning message after the second time. [36807] #28612
- TinyMCE: update to 4.3.7. Has few 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./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. Fixes #36035. [36803] #36035
Embeds
- During discovery, only request the first 150kb of linked content to avoid timouts requesting larger documents. [36880] #35979
- Adjust the 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. title attribute for improved accessibility Accessibility (commonly shortened to a11y) refers to the design of products, devices, services, or environments for people with disabilities. The concept of accessible design ensures both “direct access” (i.e. unassisted) and “indirect access” meaning compatibility with a person’s assistive technology (for example, computer screen readers). (https://en.wikipedia.org/wiki/Accessibility). Changes the title attribute from
Embedded WordPress Post
to "Post name" — site title
. [36873] #35804
- Embeds: Add support for embeds in the theme template hierarchy. [36875] #35421
Emoji
External Libraries
Filesystem API An API or Application Programming Interface is a software intermediary that allows programs to interact with each other and share data in limited, clearly defined ways.
- Tests: Merge the two different
wp_normalize_path()
tests. [36882] #35996
- Support Windows shares/DFS roots in
wp_normalize_path()
. [36881] #35996
General
HTTP HTTP is an acronym for Hyper Text Transfer Protocol. HTTP is the underlying protocol used by the World Wide Web and this protocol defines how messages are formatted and transmitted, and what actions Web servers and browsers should take in response to various commands. API
- Avoid an undefined index notice in
wp_http_validate_url()
. [36870] #34164
I18N Internationalization, or the act of writing and preparing code to be fully translatable into other languages. Also see localization. Often written with a lowercase i so it is not confused with a lowercase L or the numeral 1. Often an acquired skill.
- Remove the title attributes from the old Media UI. [36879] #34944
- Fix an invalid A resolution on the bug tracker (and generally common in software development, sometimes also notabug) that indicates the ticket is not a bug, is a support request, or is generally invalid. placeholder added in [36844]. [36850] #36048
- Don’t use the locale A locale is a combination of language and regional dialect. Usually locales correspond to countries, as is the case with Portuguese (Portugal) and Portuguese (Brazil). Other examples of locales include Canadian English and U.S. English. for the HTML HyperText Markup Language. The semantic scripting language primarily used for outputting content in web browsers. language attribute. [36802] #33511
- Move the
aria-label
text in get_theme_update_available()
to a separate string for easier translation The process (or result) of changing text, words, and display formatting to support another language. Also see localization, internationalization.. Add translator comments. [36845] #36048
- Move the
aria-label
text in wp_plugin_update_row()
and wp_theme_update_row()
to a separate string for easier translation. Add translator comments. [36844] #36048
- Avoid a notice when outputting a description for an existing archive menu item for a post type that doesn’t. [36888] #35324
- Ensure Description is respected in post type archive menu items. Introduced in r35382. [36859] #35324, #16075
- Ensure theme location setting data is saved with a large menu. [36852] #14134
Networks and Sites
- Handle redirect to a user’s subdomain properly during login [36867] #30598
Posts, Post Types
- Posts, Post Types: Ensure that non-ASCII characters in attachment slugs aren’t shown in urlencoded form in the sample permalink UI. [36853] #35980
Press This
- Change the newly added
press_this_save_post_content
filter to press_this_save_post
and pass the $post_data array to it. Remove the newly added press_this_useful_html_elements
. Remove the press_this_suggested_content
filter. Add some more inline docs and rename couple of vars to make the code more readable. [36848] #34455
REST API The REST API is an acronym for the RESTful Application Program Interface (API) that uses HTTP requests to GET, PUT, POST and DELETE data. It is how the front end of an application (think “phone app” or “website”) can communicate with the data store (think “database” or “file system”) https://developer.wordpress.org/rest-api/.
- Unit test for OPTIONS request should call rest_send_allow_header In [36829] we moved this logic to rest_send_allow_header() [36831] #36829
- OPTIONS requests to REST API should return Allow 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.. [36829] #35975
- Enqueue the minified version of farbtastic if
SCRIPT_DEBUG
is false. The files are available since [36341]. [36884] #36083, #35229
- CSS: Rename the handle for
deprecated-media.css
after [36341]. The media
handle is now used for media.css
thus the stylesheet
for the old media UI needs a different handle name. [36869] #35229
- Improve group processing of script dependencies. 36871] #35873, #35956
Security
- Setup config: Generate the default secret keys & salts from the local CSPRNG if available, falling back to the 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/ API and a backup psuedo random source. [36872] #35290
Taxonomy A taxonomy is a way to group things together. In WordPress, some common taxonomies are category, link, tag, or post format. https://codex.wordpress.org/Taxonomies#Default_Taxonomies.
- Improve backward compatibility on the
wp-admin/term.php
page. Specifically, run do_action( 'edit-tags.php' );
on this new term edit page introduced in [36308]. Changes the GET param back to tag_ID
and properly sets the screen base in WP_Screen
. [36874] #34988
- Remove unnecessary ‘All categories’ string on Edit Posts and Edit Links screens and use taxonomy’s
all_items
label instead. [36808] #36049
Themes
Uploads
- Remove an unnecessary static var from
wp_is_mobile()
to allow its direct and indirect use within unit tests. The static $is_mobile
var was only used to avoid a handful of calls to strpos()
, which are exceptionally fast and result in no measurable increase in processing time on each call to wp_is_mobile()
. [36813] #35976, #20014
- Add tests for device upload capabilities based on user agent. [36810] #35976
Props
Thanks to @adamsilverstein, @afercia, @andg, @azaozz, @boonebgorges, @borgesbrun, @borgesbruno, @bradyvercher, @celloexpressions, @ChriCo, @dd32, @diddledan, @DrewAPicture, @ericlewis, @extendwings, @faishal, @gitlost, @jeremyfelt, @joehoyle, @joemcgill, @johnbillion, @jorbin, @keraweb, @markoheijnen, @mattwiebe, @mayukojpn, @meitar for initial patch A special text file that describes changes to code, by identifying the files and lines which are added, removed, and altered. It may also be referred to as a diff. A patch can be applied to a codebase for testing., @mikeschroder, @mt8.biz, @netweb, @obenland, @ocean90, @pento, @perezlabs, @ramiy, @rilwis for initial patch, @rittesh.patel, @SergeyBiryukov, @stephenharris, @swissspidy, @Toro_Unit, and @westonruter for their contributions!
#4-5, #week-in-core