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 [37903-37980]. Here are the highlights:
- 77 commits
- 50 contributors
- 87 tickets created
- 12 tickets reopened
- 86 tickets closed
Ticket Created for both bug reports and feature development on the bug tracker. numbers based on trac timeline for the period above. The following is a summary of commits, organized by component.
Code Changes
Administration
- List tables: Make the pagination links and text better responsive. [37912] #33962
- Unit Tests: Change some
@group
annotations to @ticket
. [37954]
- Unit Tests: Remove
@group foo
annotation from Tests_WP_Resource_Hints::test_dns_prefetch_styles()
. [37951]
- Unit Tests: Remove an unused parameter from
Tests_Ajax_DimComment::test_with_bad_id()
. Prevents a “too few arguments” error in PHP The web scripting language in which WordPress is primarily architected. WordPress requires PHP 7.4 or higher 7.1.0. [37950] #37271
Customize
- Fix site icon preview in RTL. [37964] #37286
- Prevent image controls with selected images smaller than pane width from being distorted through stretching to fit width. [37957] #37277
- Use the correct variable when referring to the media frame. [37955] #36236
- Text change on Widgets and Menus screens for buttons directing users 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.. [37904] #37159
- Add a RTL version of “browser.png” for the site icon preview. [37963] #37063
- Reverse order of setting sanitization/validation, validating prior to sanitizing. [37942] #34893, #37192, #37247
Editor
- TinyMCE: do not trigger
execCommand
on loading, it focuses the editor in Chrome. [37927] #37243
- TinyMCE: update to 4.3.13, changelog: https://github.com/tinymce/tinymce/blob/master/changelog.txt. [37910] #37225
- TinyMCE, inline link dialog: Reset the internal state when doing
unlink
, pressing Escape
, and clicking elsewhere in the editor.
Add the unlink shortcut from the wplink 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 as it triggers the new wp_unlink
command. [37906] #36781, #36732, #37153
Embeds
- After [37745], check if a featured image A featured image is the main image used on your blog archive page and is pulled when the post or page is shared on social media. The image can be used to display in widget areas on your site or in a summary list of posts. exists before attaching an event listener. [37977] #35657
General
- Docs: Fix a typo across some function and hook docs.
s/filterss/filters
. [37961] #32246
- Remove the
Pragma
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. from responses. [37944] #37250
- Docs: Add changelog entries to the hook doc for the
safe_style_css
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. denoting recent CSS Cascading Style Sheets. attribute additions. [37931] #35877, #32246
- Return “O B” when passing 0 to
size_format()
. [37962] #36635
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 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.
- Add unit tests for
wp_get_http_headers()
and wp_remote_retrieve_headers()
. [37907] #37090
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.
- Make the translator comment added in [37858] more explicit and consistent with other similar instances. [37948] #37147
- Localize the jQuery UI User interface datepicker. [37908] #29420
- Adjust the regex in
wp_maybe_decline_date()
to avoid \w
and \b
, as they don’t work with Unicode characters correctly in PHP 5.3.3 and earlier versions. [37979] #36790
- Add tests for
wp_maybe_decline_date()
. Reverts [37718], $wp_locale
needs to be cloned. [37975] #36790
- Avoid PHP notices when trying to show a parent post title of an orphaned post type. [37952] #37186
- Only show parent post titles when the user can read said post. [37941] #37186
- Improve form validation errors handling when editing images. [37966] #36316
- In
Walker_Nav_Menu_Edit::start_el()
initialize $original_title
with false
. Prevents displaying “Original:” without a title when adding a menu item without a title. [37953] #36729
Networks and Sites
- Docs: Remove duplicate text for
is_main_site()
parameter. [37932] #37241
- Simplify logic assigning
orderby
in get_site_by_path()
. [37930] #37215
- Revert [37874]. After [37923],
get_blog_details()
contained a now unnecessary attempt at back-compat for objects stored in cache. [37929] #36717
- Revert property type changes in
WP_Site
. [37922] #34292
- Docs: Supplement a changelog entry in the DocBlock (phpdoc, xref, inline docs) for the
$id
property in WP_Network
. [37919] #36717
- Lazy load extended
WP_Site
properties when requested. [37918] #36935
- Docs: Add changelog entries to the DocBlocks for the
$blog_id
and $site_id
properties in WP_Site
. [37917] #36717
- Fire the
ms_loaded
action after 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’s bootstrap has finished. [37916] #37235
- Network (versus site, blog) Admin (and super admin): Replace “Options saved.” notice with “Settings saved.”. [37959] #37279
- Make retrieving registered metadata actually work. The initial implementation used a
single
argument, which has now been added to the whitelist. [37934] #35658
- Ensure
$args
is an array and simplify compat logic. [37933] #35658
- Actually use fallback auth for the previous registration method. [37928] #35658
- Introduce an expanded meta registration API. There still need to be lots of tests written for previous and new behaviors, and many things are subject to change. Maybe things will explode. #yolo [37924] #35658
Plugins
- Return the original value in
apply_filters_deprecated()
if no filter is registered for the 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.). [37911] #10441
- Tests: After [37861] move tests for deprecated filters into
filters.php
. [37909] #10441
- Clean up
uninstall_plugins
option during database upgrade. [37965] #31625
Posts, Post Type
- In
wp_ajax_inline_save()
, do not apply level for non-hierarchical post types. [37913] #35010
Post Thumbnails
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/.
- Include a refreshed nonce in a
X-WP-Nonce
header when responding to an authenticated request. [37905] #35662
- Include auto-discovery Link header when serving API requests. [37903] #35580
- Reverse order of setting sanitization/validation, validating prior to sanitizing. [37943] #37247, #37192
Script Loader
Text Changes
Themes
- Avoid announcing the theme search results too many times. [37967] #36848
- After [37287], remove deprecated feature category The 'category' taxonomy lets you group posts / content together that share a common bond. Categories are pre-defined and broad ranging.. [37947] #33407
- After [37287], add deprecated theme features to the tag list in
WP_Theme::translate_header()
.
- Add “Custom Logo” to the list of WordPress theme features. [37945] #33407, #36744
- Docs: Fix typo in
WP_Theme_Install_List_Table
description. [37937] #37234
- After [37742], fix the color of the “Upload Theme” button to match other page title actions. [37968] #35457
Upgrade/Install
dbDelta()
will no longer try to downgrade the size of TEXT
and BLOB
columns. [37939] [37938] #36748
- Change priority for theme/update update rows. [37978] #13071
- Reject 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. messages in the Shiny Updates
postMessage
handler. [37976] #37125
- Fix plugin updates from the details modal on the Dashboard. 37974] #37131, #37126
- Fix plugin updates from the details modal on
update-core.php
. [37973] #37126
- Correctly decrement the update count after translation The process (or result) of changing text, words, and display formatting to support another language. Also see localization, internationalization. updates. [37971] #37127
- Trigger a JS JavaScript, a web scripting language typically executed in the browser. Often used for advanced user interfaces and behaviors. event when updating a theme. [37970] #37216
- Trigger the correct event after installing an importer plugin. [37969] #37273
Users
- Docs: In
wp_list_authors()
, clarify that include
and exclude
arguments can also be an array. Fix duplicated exclude
argument description. [37949] #37239
- Check zxcvbn is defined before calling. [37940] #34905
- Dashboard: Don’t add a “Configure” link to the toggle button. [37972] #35021
XML-RPC
- Add 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. to verify IXR changes in [37244]. [37980] #36586
Thanks to @aaires, @adamsilverstein, @afercia, @aidvu, @azaozz, @barryceelen, @birgire, @borgesbruno, @celloexpressions, @clubduece, @danielbachhuber, @DavidAnderson, @DrewAPicture, @ericlewis, @Faison, @flixos90, @Frozzare, @geekysoft, @grapplerulrich, @helen, @jeremyfelt, @jipmoors, @joemcgill, @jorbin, @Kenshino, @littler.chicken, @markjaquith, @nicholas_io, @Nikschavan, @ocean90, @Offereins, @patilswapnilv, @noahsilverstein, @pento, @peterwilsoncc, @polevaultweb, @Presskopp, @rabmalin, @rachelbaker, @ramiy, @rmccue, @sc0ttkclark, @schlessera, @SergeyBiryukov, @sidati, @spacedmonkey, @swissspidy, @voldemortensen, @welcher, and @westonruter for their contributions!
#4-6, #week-in-core