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 [38571-38636]. Here are the highlights:
- 66 commits
- 61 contributors
- 171 tickets created
- 15 tickets reopened
- 106 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
Bootstrap/Load
- Docs: Use a third-person singular verb for
wp_doing_ajax
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. added in [38334]. [38607] #25669
- Bootstrap: Use
dirname()
when loading class-wp-hook.php
from plugin.php
. [38589] #37707
Charset
- Database: Fall back to
utf8
when utf8mb4
isn’t supported. [38580] #37982
Customize
- Add
wp-util
as a dependency for customize-controls
. [38628] #38107
- Remove IE8 access to 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. to discontinue support. [38627] #38021
- Let
static_front_page
section be contextually active based on whether there are any published pages. [38624] #34923, #38013
- Ensure nav menu items lacking a label use the title from the original object. [38618] #38015
- CBetter hover/focus state for section titles and available widgets. [38602] #29158
- Implement previewing of form submissions which use the GET method. [38587] #20714
- Prevent 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. previewing logic from building 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. jQuery selectors when sidebars are registered without a class name in
before_widget
. [38577] #37993
Database
- Normalise index names in
dbDelta()
. [38591] #34874
- Increase the size of
wp_posts.post_password
to 255 characters. [38590] #881
Formatting
- Docs: Use a third-person singular verb for
smilies
filter added in [38504]. [38608] #35905
- Update
autop()
to match wpautop()
. [38594] #4857, #4857
- Docs: Fix an outdated comment. [38593] #4857
- Add an extra line break before block Block is the abstract term used to describe units of markup that, composed together, form the content or layout of a webpage using the WordPress editor. The idea combines concepts of what in the past may have achieved with shortcodes, custom HTML, and embed discovery into a single consistent API and user experience. elements in
wpautop()
. [38592] #4857
- Don’t send an 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. status code in
wp_send_json()
by default. This avoids clobbering an HTTP status code that may have been set prior to calling this function. [38576] #35666
General
- 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: Revert [38388]. [38636] #37699
- Docs: Use a third-person singular verb for
register_post_type_args
filter added in [34242]. [38610] #37770
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.
- Correct context for Next/Previous strings in
get_the_posts_pagination()
. [38611] #37952
Media
Menus
- 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): Standardize the remove/delete/cancel links in the Menus screen and Publish meta Meta is a term that refers to the inside workings of a group. For us, this is the team that works on internal WordPress sites like WordCamp Central and Make WordPress. boxes. [38616] #37969, #37018, #37448, #37138, #27314
- Use strict comparison for the condition added in [38612]. [38613] #37846
- Remove ‘sub item’ label when removing the sub item’s parent. [38612] #37846
- Docs: Fix phpdoc (docblock, inline docs) and jsdoc typos introduced in [38584] and [38587], respectively. [38588] #33742, #20714
- Prevent non-published posts/pages from being returned in search results for adding as nav menu items. [38584] #33742
- Fix notices thrown by classes extending
Walker_Nav_Menu
. [38575] #35206
- Improve documentation of new
$item_spacing
argument. [38574] #35206
Networks and Sites
- Multisite: Show always domain and path when deleting a site. [38633] #37309
- Multisite: Use
get_networks()
in get_main_network_id()
. [38632] #37218
- Multisite: Provide
$join
as a possible SQL clause to the sites_clauses
filter. [38631] #37922
- Multisite: Add annotations for extended
WP_Site
properties. [38630] #37932
- Docs: Synchronize docblocks for
WP_Site_Query::__construct()
and get_sites()
after the changes in [37735], [38008], [38103], and [38336]. [38596] #38039
- Docs: Correct description for
domain
and path
arguments in WP_Network_Query::__construct()
. [38595] #32504
Options, Meta APIs
- Options: Build out
register_setting
like register_meta
. [38635] #37885
Permalinks
- Ensure Pending Review Posts permalink posts link to the draft [38572] #37423
Plugins
- Style the primary action link in the non-js “Installing 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” page. [38617] #36430
- Tests: Use
add_filter()
when it’s available. [38582] #17817
- Docs: Fix minor formatting for inline docs (phpdoc, docblock, xref) in
WP_Hook
following its introduction in [38571]. [38573] #17817
- Hooks In WordPress theme and development, hooks are functions that can be applied to an action or a Filter in WordPress. Actions are functions performed when a certain event occurs in WordPress. Filters allow you to modify certain functions. Arguments used to hook both filters and actions look the same.: Add the new class
WP_Hook
, and modify hook handling to make use of it. [38571] #17817
Posts, Post Types
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/.
Shortcodes
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.
- Docs: Correct the description of
{$taxonomy}_term_new_form_tag
hook, making it more consistent with other *_form_tag
hooks. [38629] #38104
- Pass taxonomy name to actions in term-relationship CRUD Create, read, update and delete, the four basic functions of storing data. (More on Wikipedia.) functions. [38621] #38006
- Query: Eliminate unnecessary
wp_list_filter()
call in get_queried_object()
. [38586] #37962
- Query: Avoid PHP The web scripting language in which WordPress is primarily architected. WordPress requires PHP 7.4 or higher notice in
get_queried_object()
when query contains NOT EXISTS
tax query. [38585] #37962
Themes
- Docs: Correct two references to plugins in the
$args
parameter description for themes_api()
. [38623] #37939
- Docs: Use a third-person singular verb for
{$type}_template_hierarchy
filter added in [38385]. [38609] #14310
- Docs: Use a third-person singular verb in the DocBlock (phpdoc, xref, inline docs) summary for
get_theme_file_uri()
, get_parent_theme_file_uri()
, get_theme_file_path()
, and get_parent_theme_file_path()
, introduced in [38578]. [38606] #18302
- Docs: Use a third-person singular verb for
theme_file_uri
, parent_theme_file_uri
, theme_file_path
, and parent_theme_file_path
filters added in [38578]. [38605] #18302
- Add the non-encoded form of the queried item slug to the template hierarchy when the slug contains non-ASCII characters. [38583] #37655
- Taxonomy: Revert accidental changes introduced in [38578]. [38579] #18302
- Improve child theme A Child Theme is a customized theme based upon a Parent Theme. It’s considered best practice to create a child theme if you want to modify the CSS of your theme. https://developer.wordpress.org/themes/advanced-topics/child-themes/. file inheritance by introducing functions for locating and fetching the URL A specific web address of a website or web page on the Internet, such as a website’s URL www.wordpress.org or path to files within child and parent themes. [38578] #18302
Toolbar
- Add a ‘View Posts’ link to the toolbar when on the post listing screen. [38634] #34113
Upgrade/Install
- Docs: Correct a comment and
@return
entry in WP_Upgrader::create_lock()
. [38622] #38089
- Automatically log users in after installation. [38619] #34084
XML-RPC
- Avoid a PHP notice in
::pingback_ping()
if page title was not found. [38620] #36727
- Check the minimum number of arguments in
::wp_getUsersBlogs()
and ::blogger_getUsersBlogs()
. [38600] #29750
Thanks to @aaroncampbell, @adamsilverstein, @afercia, @akibjorklund, @DMing, @BjornW, @boonebgorges, @celloexpressions, @curdin, @danielpietrasik, @dd32, @DrewAPicture, @eliorivero, @enshrined, @ericlewis, @FlorianBrinkmann, @folletto, @georgestephanis, @gma992, @helen, @hideokamoto, @hugobaeta, @ian.edington, @iandunn, @jbrinley, @jeremyfelt, @joehoyle, @joemcgill, @johnbillion, @johnjamesjacoby, @jorbin, @karmatosed, @kitchin, @knutsp, @markshep, @MaximeCulea, @melchoyce, @monikarao, @nacin, @nazgul, @obenland, @ocean90, @paulwilde, @pento, @peterwilsoncc, @RedSand, @rmccue, @rnoakes3rd, @rommelxcastro, @ryankienstra, @ryanplas, @SergeyBiryukov, @skippy, @spacedmonkey, @swissspidy, @Takahashi_Fumiki, @websupporter, @welcher, @westonrute, @westonruter, and @wonderboymusic for their contributions!
#4-7, #week-in-core