Welcome back to a new issue of Week in Core Core is the set of software required to run WordPress. The Core Development Team builds WordPress.. Let’s take a look at what changed on Trac An open source project by Edgewall Software that serves as a bug tracker and project management tool for WordPress. between November 15 and November 22, 2021.
- 76 commits
- 138 contributors
- 48 tickets created
- 6 tickets reopened
- 73 tickets closed
The Core team is currently working on the next major release, WordPress 5.9 🛠
Ticket Created for both bug reports and feature development on the bug tracker. numbers are based on the Trac timeline for the period above. The following is a summary of commits, organized by component and/or focus.
Code changes
Administration
- Restores “Customize” menu item for non-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. themes and moves for block themes – #54418
- Add the ruleset file to the cache key for PHPCS PHP Code Sniffer, a popular tool for analyzing code quality. The WordPress Coding Standards rely on PHPCS. and PHP The web scripting language in which WordPress is primarily architected. WordPress requires PHP 5.6.20 or higher compatibility scans – #54425
- Cache the results of
PHP_CodeSniffer
across workflow runs – #49783 - Restore the https HTTPS is an acronym for Hyper Text Transfer Protocol Secure. HTTPS is the secure version of HTTP, the protocol over which data is sent between your browser and the website that you are connected to. The 'S' at the end of HTTPS stands for 'Secure'. It means all communications between your browser and the website are encrypted. This is especially helpful for protecting sensitive data like banking information. URL A specific web address of a website or web page on the Internet, such as a website’s URL www.wordpress.org for browserify-aes – #54337
- Update all 3rd party GitHub GitHub is a website that offers online implementation of git repositories that can can easily be shared, copied and modified by other developers. Public repositories are free to host, private repositories require a paid subscription. GitHub introduced the concept of the ‘pull request’ where code changes done in branches by contributors can be reviewed and discussed before being merged be the repository owner. https://github.com/ actions to the latest versions – #53363
Bundled Themes
- Update the “Tested up to” 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. to
5.9
– #53797 - Twenty Nineteen: Apply coding standards fix from running
composer format
– #54392 - Twenty Sixteen: Correctly align columns within table blocks as configured in the editor – #54317
- Twenty Twenty-One: Check if anchor exists before triggering in-page navigation – #53619
- Twenty Twenty-One: Correct description of Dark Mode in 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. – #53892
- Twenty Twenty-One: Prevent notice thrown in
twenty_twenty_one_get_attachment_image_attributes()
– #54464 - Twenty Twenty-One: Remove RSS feed RSS is an acronym for Real Simple Syndication which is a type of web feed which allows users to access updates to online content in a standardized, computer-readable format. This is the feed. 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. icon link – #52880
- Twenty Twenty-Two: Import the latest changes from GitHub – #54318
- Twenty Twenty-Two: Sync updates from GitHub – #54318
Coding Standards
- Wrap some long lines in
js/_enqueues/admin/post.js
per the JS JavaScript, a web scripting language typically executed in the browser. Often used for advanced user interfaces and behaviors. coding standards for better readability – #53359
- Change new comment required text class – #16206
- Don’t output “cancel comment reply link” if comments aren’t threaded – #37267
- Fix PHP Notice “trying to get property of non-object” in
comments_open()
and pings_open()
– #54159
Commit Standards
Database
- Check if the
$args[0]
value exists in wpdb::prepare()
before accessing it – #54453
Docs
- Add missing
null
allowed type for the $id
parameter of wp_set_current_user()
– #53399 - Add missing parameters in
in_plugin_update_message-{$file}
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. – #40006 - Corrections relating to types used in inline documentation for comment ID and site ID proprties – #53399
- Improve the documentation for registering block patterns and block pattern categories – #53399
- Remove instances of the “eg.” abbreviation in favor of “example” or “for example” – #53330
- Restore [51733], accidentally reverted in [52212] – #40006
- Update documentation for the
$plugin_data
parameter of various 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. – #53399 - Various corrections and improvements relating to types used in inline documentation – #53399
Editor
- Add missing label to
new-post-slug
input on Classic Editor – #53725 - Check the correct post type support property for
initial_edits
– #53813 - Do not provide
initial_edits
for properties that are not supported by the current post type – #53813 - Fix fatal call to add_query_args() – #54337
- Fix how the Site Editor is linked to – #54337
- Fix incorrect access of ID field – #54337
- Load iframed assets in Site Editor – #54337
- Update wordpress packages – #54337
External Libraries
- Update the
regenerator-runtime
package to version 0.13.9
– #54027
- Add additional support for single and nestable tags in
force_balance_tags()
– #50225
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.
- Remove empty
?
when only anchor remains in add_query_arg()
– #44499
KSES
- Use correct global in
wp_kses_xml_named_entities()
– #54060
Login and Registration
- Wrap long usernames in login error message – #54168
- auto-focus the reset password field – #40302
- Add support for v1 and v2 gallery block in
get_post_galleries()
– #43826 - 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. modal loads only selected image – #42937
- Featured image modal loads only selected image – #53765
- Move dismiss upload errors button after errors – #42979
- Revert media uploader input change in [52059] – #42937
- improve error message for failed image uploads – #53985
- Add audible notice on menu item add or remove – #53840
Posts, Post Types
- Increment
post_count
option value during blog (versus network, site) creation – #54462, #53443 - Increment
post_count
option value only on 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 installations – #54462 - Multisite: Decrement
post_count
option value when a post is deleted – #53443 - Use global post as the default for
wp_get_post_parent_id()
– #48358
Query
- Correct and standardise the 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. query documentation – #53467
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/.
- Make the templates controller follow core REST patterns – #54422
- Remove experimental block menu item types – #40878
Script Loader
- Document
path
as an accepted value for $key
in wp_style_add_data()
– #53792
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.
- Allow
get_*_*_link()
and edit_term_link()
functions to accept a term ID, WP_Term
, or term object – #50225 - Clarify the taxonomy labels for customizing the field descriptions on Edit Tags screen: – #43060
Themes
- Check both parent and child themes for a
theme.json
file – #54401 - Force a scrollbar on the Themes page to prevent visual shake on hover – #53478
- Refine “Edit site” link.php – #54441
Upgrade/Install
- Add timezone info to last checked update time – #53554
- Correct the weekly cron event for clearing the
temp-backup
directory: – #51857 - Deactivate the Gutenberg The Gutenberg project is the new Editor Interface for WordPress. The editor improves the process and experience of creating new content, making writing rich content much simpler. It uses ‘blocks’ to add richness rather than shortcodes, custom HTML etc. https://wordpress.org/gutenberg/ 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 if its version is 11.8 or lower – #54405
- Differentiate en_US version strings from localized ones – #53710
- Improve the accuracy of the
auto_update_{$type}
filter docblock (phpdoc, xref, inline docs) – #53330 - Remove 5.8 function and fix deactivate Gutenberg plugin version compare < 11.9 – #46371
Users
- Prevent infinite 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. when using capability checks during
determine_current_user
on multisite – #53386
WPDB
- Call
wp_load_translations_early()
in wpdb::_real_escape()
– #32315 - Call
wp_load_translations_early()
in wpdb::query()
and wpdb::process_fields()
– #32315 - Capture error in
wpdb::$last_error
when insert fails instead of silently failing for 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. data or value too long – #37267
- Wraps long widget titles in classic Widgets screen – #37451
Props
Thanks to the 138 (!) people who contributed to WordPress Core on Trac last week: @hellofromTonya (20), @sabernhardt (16), @audrasjb (13), @costdev (10), @sergeybiryukov (7), @johnbillion (7), @desrosj (6), @poena (5), @afercia (5), @SergeyBiryukov (4), @peterwilsoncc (4), @davidbaumwald (4), @birgire (4), @jeffpaul (3), @dilipbheda (3), @henry.wright (3), @pbearne (2), @TimothyBlynJacobs (2), @swissspidy (2), @shaunandrews (2), @glendaviesnz (2), @antpb (2), @kjellr (2), @talldanwp (2), @pento (2), @ramonopoly (2), @manishamakhija (2), @melchoyce (2), @dlh (2), @jrf (2), @dd32 (2), @chaion07 (2), @hareesh-pillai (2), @joedolson (2), @anthonyeden (1), @anandau14 (1), @asif2bd (1), @dpegasusm (1), @datainterlock (1), @mnelson4 (1), @ovann86 (1), @dlt101 (1), @xkon (1), @sabrib (1), @pankajmohale (1), @ianhayes94 (1), @hitendra-chopda (1), @gkloveweb (1), @drewapicture (1), @bravokeyl (1), @fpcsjames (1), @nettsite (1), @galbaras (1), @henrywright (1), @TobiasBg (1), @chrisvanpatten (1), @sourovroy (1), @jorbin (1), @szaqal21 (1), @PieWP (1), @danielbachhuber (1), @benitolopez (1), @ocean90 (1), @soniakash (1), @rachelbaker (1), @jigneshnakrani (1), @zoiec (1), @jdgrimes (1), @woodyhayday (1), @travisnorthcutt (1), @skunkbad (1), @richardfoley (1), @psufan (1), @procodewp (1), @nlpro (1), @david.binda (1), @lukecarbis (1), @lucasw89 (1), @liammitchell (1), @kwisatz (1), @justindocanto (1), @mista-flo (1), @celloexpressions (1), @Mamaduka (1), @kafleg (1), @umesh84 (1), @robertghetau (1), @musabshakeel (1), @rixeo (1), @marybaum (1), @felipeloureirosantos (1), @tmatsuur (1), @hasanuzzamanshamim (1), @wetah (1), @ravipatel (1), @mukesh27 (1), @westonruter (1), @mjaschen (1), @saju4wordpress (1), @otto42 (1), @joen (1), @flixos90 (1), @clucasrowlands (1), @beafealho (1), @luminuu (1), @netweb (1), @richtabor (1), @ovidiul (1), @h71 (1), @andy-schmidt (1), @mkaz (1), @noisysocks (1), @pbiron (1), @wparslan (1), @zieladam (1), @hellofromtonya (1), @benjaminanakenam (1), @webcommsat (1), @zodiac1978 (1), @tellyworth (1), @takahashi_fumiki (1), @russhylov (1), @lynk (1), @youknowriad (1), @donmhico (1), @tobiasbg (1), @danielpost (1), @nacin (1), @alexislloyd (1), @vdwijngaert (1), @ComputerGuru (1), @benjamingosset (1), @Presskopp (1), @thimalw (1), @dufresnesteven (1), @kingkero (1), @clorith (1), and @spacedmonkey (1).
Congrats and welcome to our 8 new contributors of the week: @robertghetau, @musabshakeel, @mjaschen, @saju4wordpress, @clucasrowlands, @russhylov, @lynk, @danielpost ♥️
Core committers: @hellofromtonya (14), @audrasjb (13), @desrosj (12), @joedolson (10), @sergeybiryukov (9), @noisysocks (6), @johnbillion (3), @jffng (2), @spacedmonkey (2), @davidbaumwald (1), @peterwilsoncc (1), @adamsilverstein (1), @ryelle (1), and @timothyblynjacobs (1).
#5-9, #core, #week-in-core