The WordPress coreCoreCore is the set of software required to run WordPress. The Core Development Team builds WordPress. development team builds WordPress! Follow this site for general updates, status reports, and the occasional code debate. There’s lots of ways to contribute:
Found a bugbugA 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.?Create a ticket in the bug tracker.
Here is the agenda for the weekly meeting happening later today: Wednesday 30 October 2019 at 20:00 UTC. Please share any items you’d like to include in the comments below!
Announcements
Highlighted posts
Move Dev chat meeting time (end of daylight saving time)
The facilitator for this week’s chat was @audrasjb.
Announcements
WordPress version 5.3-RC2 was released on Tuesday. Everyone please help by testing out the RCrelease candidateOne of the final stages in the version release cycle, this version signals the potential to be a final release to the public. Also see alpha (beta)..
The latest Dev Notedev noteEach important change in WordPress Core is documented in a developers note, (usually called dev note). Good dev notes generally include a description of the change, the decision that led to this change, and a description of how developers are supposed to work with that change. Dev notes are published on Make/Core blog during the beta phase of WordPress release cycle. Publishing dev notes is particularly important when plugin/theme authors and WordPress developers need to be aware of those changes.In general, all dev notes are compiled into a Field Guide at the beginning of the release candidate phase. published for 5.3 discuses “Noteworthy Adminadmin(and super admin)CSSCSSCascading Style Sheets. Changes in WordPress 5.3”.
Also, the official Field GuideField guideThe field guide is a type of blogpost published on Make/Core during the release candidate phase of the WordPress release cycle. The field guide generally lists all the dev notes published during the beta cycle. This guide is linked in the about page of the corresponding version of WordPress, in the release post and in the HelpHub version page. for 5.3 was published!
@audrasjb called attention to the wonderful documentation work this cycle by @justinahinon and @jeffpaul. Thank you to both for their extraordinary efforts!
5.3 Updates
@azaozz Pointed out that there are only two tickets needing work after RC2, excluding the About Page. Follow the ticketticketCreated for both bug reports and feature development on the bug tracker. progress in TracTracAn open source project by Edgewall Software that serves as a bug tracker and project management tool for WordPress.here.
@ianbelanger informed the group that there are currently 0 tickets in the Bundled Themes component for Twenty Twenty. However, he added that an RC3 release would be helpful.
@audrasjb brought up ticket #48396 regarding @afercia‘s request to revert two lines of CSS to remove an unwanted changes on disabled buttons. @azaozz confirmed the revert to be a minor one and suggested that it move forward based on testing.
A pre-RC3 Bug Scrub in the #core channel was tentatively scheduled for Monday October 28, 2019 15:00 UTC. If there are no new tickets or regressions reported prior, the scrub will not take place.
@sergeybiryukov asked about branching for 5.3 this week. @peterwilsoncc suggested certainly branching before WordCampWordCampWordCamps are casual, locally-organized conferences covering everything related to WordPress. They're one of the places where the WordPress community comes together to teach one another what they’ve learned throughout the year and share the joy. Learn more. US Contributor DayContributor DayContributor Days are standalone days, frequently held before or after WordCamps but they can also happen at any time. They are events where people get together to work on various areas of https://make.wordpress.org/ There are many teams that people can participate in, each with a different focus. https://2017.us.wordcamp.org/contributor-day/https://make.wordpress.org/support/handbook/getting-started/getting-started-at-a-contributor-day/., as to allow for good-first-tickets to be committed for new contributors. @desrosj added that branching could be done at any time now that the dust has settled from RC2, but deferred to @azaozz‘s judgement as CoreCoreCore is the set of software required to run WordPress. The Core Development Team builds WordPress. Tech Lead for 5.3. @azaozz suggested trying to resolve a couple of remaining issues in 5.3 prior to branching in the next few days, and a consensus was reached around this idea.
Here is the agenda for the weekly meeting happening later today: Wednesday, October 23, 2019, 20:00 UTC. Please share any items you’d like to include in the comments below!
Announcements and highlighted posts
Upcoming Release Discussions
Calls from component maintainers
Open Floor
If you have anything to propose for the agenda or specific items related to those listed above, please leave a comment below.
This meeting is held in the #core channel. To join the meeting, you’ll need an account on the Making WordPress Slack.
She issued a call for announcements and highlighted posts, then announced that WordPress 5.3 Release Candidaterelease candidateOne of the final stages in the version release cycle, this version signals the potential to be a final release to the public. Also see alpha (beta). 1 had landed the day before, on October 16.
Dev Notesdev noteEach important change in WordPress Core is documented in a developers note, (usually called dev note). Good dev notes generally include a description of the change, the decision that led to this change, and a description of how developers are supposed to work with that change. Dev notes are published on Make/Core blog during the beta phase of WordPress release cycle. Publishing dev notes is particularly important when plugin/theme authors and WordPress developers need to be aware of those changes.In general, all dev notes are compiled into a Field Guide at the beginning of the release candidate phase.
@jeffpaul added that pending one more dev notedev noteEach important change in WordPress Core is documented in a developers note, (usually called dev note). Good dev notes generally include a description of the change, the decision that led to this change, and a description of how developers are supposed to work with that change. Dev notes are published on Make/Core blog during the beta phase of WordPress release cycle. Publishing dev notes is particularly important when plugin/theme authors and WordPress developers need to be aware of those changes.In general, all dev notes are compiled into a Field Guide at the beginning of the release candidate phase., the Field GuideField guideThe field guide is a type of blogpost published on Make/Core during the release candidate phase of the WordPress release cycle. The field guide generally lists all the dev notes published during the beta cycle. This guide is linked in the about page of the corresponding version of WordPress, in the release post and in the HelpHub version page. will publish shortly.
AccessibilityAccessibilityAccessibility (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) testing in the 5.3 Adminadmin(and super admin)
@francina thanked @jeffpaul for the Field Guide and @ipstenu for pluginPluginA 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 support.
Upcoming Releases
5.3
@francina‘s call for updates prompted mostly murmurings that everything’s progressing on schedule. @azaozz pointed out there were only a couple of new tickets after RC1, and @desrosj had three to call out for reviews from other committers: #48022, #48312, #47699.
(Remember that after RC1, every commit needs signoff from two committers, not one, until launch.)
Discussion of a related ticketticketCreated for both bug reports and feature development on the bug tracker., #48331, followed.
@jeffpaul: Not a component maintainer update, but worth noting that during the RC1 packaging process (I believe) we confirmed that trunktrunkA 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. would be opened back up after RC2. That may be worth confirming here and noting in the devchat summary post which you’re reading now)
@sergey and your faithful but tardy reporter confirmed that we’ll start milestoning for 5.4 at that point, and @desrosj pointed the group to the RC1 discussion here.
@desrosj pointed out that 5.4 already has 94 tickets. He encouraged the group and observers (and you, dear reader!) to address these 94 tickets first or puntpuntContributors sometimes use the verb "punt" when talking about a ticket. This means it is being pushed out to a future release. This typically occurs for lower priority tickets near the end of the release cycle that don't "make the cut." In this is colloquial usage of the word, it means to delay or equivocate. (It also describes a play in American football where a team essentially passes up on an opportunity, hoping to put themselves in a better position later to try again.) them if they’re unrealistic.
RC2 is tomorrow, October 22. @francina asked the group for a team and a timeline; discussion followed about some last-minute changes that we won’t be making tomorrow.
WordPress 5.3 will introduce a number of CSSCSSCascading Style Sheets. changes in WordPress adminadmin(and super admin). While the necessity to improve wp-admin accessibilityAccessibilityAccessibility (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) was previously raised in several TracTracAn open source project by Edgewall Software that serves as a bug tracker and project management tool for WordPress. tickets, GutenbergGutenbergThe 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/’s recent interface improvements made it necessary to improve the whole interface as well.
Background: in April 2019, WP-Campus conducted an accessibility audit of the new editor interface, made by an independent contractor, Tenon LLC. This audit raised issues in the editor but also in the media modal, which uses wp-admin styles. Fixing these issues on Gutenberg and on the media modal but not in the whole wp-admin interface would have been very inconsistent.
Some tickets were milestoned to the 5.3 release cycle to start backporting Gutenberg accessibility improvements to the whole admin interface. These first tickets aim to improve:
Color contrasts on form fields and buttons
Focus styles on form fields and buttons
Content behavior on text zoom
Backporting some of Gutenberg’s styles to fix these issues introduced some visual issues with the interface elements hierarchy. Therefore, Design and Accessibility teams worked on the overall visual hierarchy:
darker tables and metaboxes borders were introduced for a better hierarchy between interface elements
Note for pluginPluginA 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 authors and WordPress developers
These changes are only CSS changes, and not structural changes, so the HTMLHTMLHyperText Markup Language. The semantic scripting language primarily used for outputting content in web browsers. markup is exactly the same as before, with the same class attributes on each element.
In short, your styles should align with these changes if interface elements are not overridden by custom CSS. If you are overriding WordPress Admin CSS on form elements, you should test your plugins or your custom developments against WordPress 5.3 RCrelease candidateOne of the final stages in the version release cycle, this version signals the potential to be a final release to the public. Also see alpha (beta). 1.
If you are a plugin author, there are different use cases:
Plugins that are using default Admin CSS styles should work just like before.
Plugins that are using custom Admin CSS styles by overriding default Admin CSS should be checked against 5.3.
Plugins that are using fully customized Admin CSS styles should not be concerned by those changes.
In general, plugin authors and WordPress developers are encouraged to:
remove any fixed heights: flexible heights are the WordPress recommended standard (and one of the main goals of the Admin CSS changes).
remove any custom top and bottom padding values.
remove any custom line-height values.
update their CSS code to override new focus/hover buttons colors if they use custom colors on this type of element.
In the next section of this dev notedev noteEach important change in WordPress Core is documented in a developers note, (usually called dev note). Good dev notes generally include a description of the change, the decision that led to this change, and a description of how developers are supposed to work with that change. Dev notes are published on Make/Core blog during the beta phase of WordPress release cycle. Publishing dev notes is particularly important when plugin/theme authors and WordPress developers need to be aware of those changes.In general, all dev notes are compiled into a Field Guide at the beginning of the release candidate phase., you’ll find some noteworthy CSS changes coming in WordPress 5.3.
Main things that are changing in 5.3:
Forms fields:
text inputs
textareas
selects
checkboxes
radiobuttons
both primary and secondary buttons
colorpickers
Tables, notifications and metaboxes
Known issues
Available for testing in WordPress 5.3 RC 1, these changes have been tested in various use cases and no breakage situation was identified during the tests. Please check the report for full information about the testing panel.
This is a work in progress, just like anything in WordPress CoreCoreCore is the set of software required to run WordPress. The Core Development Team builds WordPress.. These usability improvements were implemented during summer 2019 then tested and iterated on September and October. After 5.3 is released, the idea is to iterate on wp-admin design to make it fully consistent with the editor interface, and to provide a great and accessible editorial experience for websites administrators. The next minor releases will fix small issues with 5.3 changes and the next majors will improve the consistency of user experiences between Gutenberg and WordPress administration.
New style for primary buttonNew style for focused primary buttonNew style for secondary buttonLegacy style for focused secondary button
Darker borders on tables, notices, metaboxes and other similar elements
These changes introduce better contrast for borders for the following user interface elements:
Tables
Screen Options and Help
Admin notices
Welcome panel
MetaMetaMeta 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 (post boxes on classic editor or in edit attachment screens)
Cards
Health Check accordions and headings
Theme and Plugin upload forms
Legacy CSS code:
Depending on the related element, several CSS declarations were used.
Update on 18 October 2019: Added the “Noteworthy Adminadmin(and super admin)CSSCSSCascading Style Sheets. changes in WordPress 5.3” dev notedev noteEach important change in WordPress Core is documented in a developers note, (usually called dev note). Good dev notes generally include a description of the change, the decision that led to this change, and a description of how developers are supposed to work with that change. Dev notes are published on Make/Core blog during the beta phase of WordPress release cycle. Publishing dev notes is particularly important when plugin/theme authors and WordPress developers need to be aware of those changes.In general, all dev notes are compiled into a Field Guide at the beginning of the release candidate phase. to the Accessibility section
WordPress 5.3 is shaping up to be the best WordPress yet! Users will see new blocks, more intuitive blockBlockBlock 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. editor interactions, improved media handling, improved accessibilityAccessibilityAccessibility (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), and the new Twenty Twenty default theme. Among many goodies in 5.3, developers will love the date/time component improvements, PHPPHPThe web scripting language in which WordPress is primarily architected. WordPress requires PHP 7.4 or higher 7.4 compatibility, and will also be able to take advantage of 157 enhancements and feature requests, 366bugbugA 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. fixes, and more! Let’s look at the many improvements coming in 5.3…
Accessibility
Of the 50 updates related to Accessibility in 5.3, you’ll want to particularly note the changes to Admin CSS, improvements of all the media views form controls and changes to explicit labeling, how coreCoreCore is the set of software required to run WordPress. The Core Development Team builds WordPress. will now programmatically add aria-current="page" attributes to certain widgets, and programmatically add specific aria-label parameter for navigation menus. Read the dev notesdev noteEach important change in WordPress Core is documented in a developers note, (usually called dev note). Good dev notes generally include a description of the change, the decision that led to this change, and a description of how developers are supposed to work with that change. Dev notes are published on Make/Core blog during the beta phase of WordPress release cycle. Publishing dev notes is particularly important when plugin/theme authors and WordPress developers need to be aware of those changes.In general, all dev notes are compiled into a Field Guide at the beginning of the release candidate phase. below for more details on the Accessibility focus.
The block editor has continued its rapid iteration since WordPress 5.0, and now has GutenbergGutenbergThe 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/ version 6.5 bundled with WordPress 5.3; that’s TWELVE releases all bundled into 5.3 (versions 5.4, 5.5, 5.6, 5.7, 5.8, 5.9, 6.0, 6.1, 6.2, 6.3, 6.4, and 6.5)! Bug fixes and performance improvements from Gutenberg versions 6.6 and 6.7 will also be part of 5.3. The Beta 1 post highlights many of the new features and improvements across these releases, but I’ll specifically pull out the reduction in 1.5 seconds of loading time for a particularly sizeable post (~ 36,000 words, ~ 1,000 blocks) as an impressive achievement given all that has otherwise been added to the block editor. The dev notes below also highlight new server-side block style variations APIAPIAn 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., a new block example API, the Group block, reduced block styles specificity, using class names for text alignment, Columns block classnames, color support for the separator block, an updates to Table and Gallery blocks markup.
Of the 42 updates for Media in 5.3, you’ll want to particularly note the new way to manage big images by detecting them and generating a “web-optimized maximum size” of them as well as saving of image metadata while creating intermediate sizes. Read the dev notes below for more details on the Media component.
MultisitemultisiteUsed 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
Of the 15 updates for Multisite in 5.3, you’ll want to particularly note changes to the database, changes to WP_MS_Sites_List_Table, return for short circuits for multisite classes, and improved performance for site and networknetwork(versus site, blog) lookups by ID. Read the dev note below for more details on the Multisite component.
The great news continues. WordPress 5.3 supports PHP 7.4, which is scheduled for release at the end of November! Contributors worked with several external libraries to ensure that all 5 tickets addressing compatibility issues for PHP 7.4 were addressed in time for WordPress 5.3.
In addition to ensuring 5.3 supports PHP 7.4, a handful of updates occurred as a result of the continued coding standards and code modernization efforts. Most notably, the spread operator is now in use where appropriate, and the native PHP JSONJSONJSON, or JavaScript Object Notation, is a minimal, readable format for structuring data. It is used primarily to transmit data between a server and web application, as an alternative to XML. extension is now required to run WordPress.
PluginPluginA 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 and theme developers are encouraged to read the following detailed dev notes to fully understand the changes coming and how their code should be updated!
REST APIREST APIThe 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/.
Of the 33 updates for the REST API in 5.3, you’ll want to particularly note register array and object metadata, nested response filtering with _fields query parameter, how to set drafts back to “floating date” status, and possibly best of all up to a 30-40% performance increase in large API responses. Read the dev note below for more details on the REST API component.
Of the 31 updates for Site Health in 5.3, you’ll want to particularly note changes to the grading indicator, recovery email enhancements, filters for completed Site Health status tests, and a new Admin email verification screen. Read the dev notes below for more details on the Site Health component.
There are even more goodies in 5.3 like much–needed fixes and a set of improvements to the Date/Time component, changes to prevent search engines indexing sites, new default for links in comments and comment author URLs to use the rel="nofollow ugc" attribute, changes on Twenty Nineteen HTMLHTMLHyperText Markup Language. The semantic scripting language primarily used for outputting content in web browsers. structure, changes to wp_die() HTML output, expansion of the options available to compare_key so that developers have access to metaMetaMeta 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.-key comparison operators similar to those available for meta values, updates related to bumping the Backbone version bundled with WordPress from v1.3.3 to v1.4.0 and other external library updates, dropping support for integer menu slugs, addition of a “Show” button next to the password field on the login screen, passing arrays to supports argument when registering post types, HTML5 support for script and style arguments, recording additional information for saved queries, unit-less CSS line-height values, updates to cores’ build/test tools, and more! Read through the dev notes below to see what else is coming in 5.3.
Over 362 bugs, 157 enhancements and feature requests, and 36 blessed tasks have been marked as fixed in WordPress 5.3. Some additional ones to highlight include:
General: Use ** operator to replacepow() function calls (#48083)
I18ni18nInternationalization, 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.: Text length should be localizable (#44541)
Menus: Replace httpHTTPHTTP 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. with httpsHTTPSHTTPS 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. in custom links menu item (#46312)
Networks and Sites: Redundant blog_versions table (#19755)
Networks and Sites: Save database version in site meta (#41685)
Site Health: Provide simple debug data in WSOD emails (#48090)
Widgets: Replace http with https in the link placeholder widgetWidgetA 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. image (#46320)
Please, test your code. Fixing issues helps you and helps millions of WordPress sites.
In WordPress 5.3, a new screen has been introduced to help ensure the site’s administration email remains accurate and up to date. The site’s adminadmin(and super admin) email (as defined when installing WordPress, and found on the Settings > General page) is a critical part of every WordPress site. This new screen will help site owners remain in full control of their site, even as years go by.
How does this work?
By default, administrators will see a screen after logging in that lists the site’s admin email address once every 6 months.
They are presented with 4 actions:
The site’s email is verified as correct: After clicking “The email is correct” button, the user is taken to the Dashboard with an admin notice saying “Thank you for verifying”. The screen will be hidden for 6 months from all administrators.
The site’s email needs to be changed: After clicking the “Update” button, the user is taken to the Settings > General page where they can update the site’s email address. Administrators will be presented with the verification screen the next time they log in.
The user clicks “Remind me later”: the user is taken to the Dashboard. Administators will see the screen again after 3 days have passed.
Back to “Site Name”: When this link is clicked, the user will be taken to the site’s home page. Administrators will be presented with the verification screen the next time they log in.
Available Actions and Filters
Actions
There are a few action hooksHooksIn 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. on the verification page that developers can use to customize the screen.
admin_email_confirm – Fires before the admin email confirm form.
admin_email_confirm_form – Fires inside the admin-email-confirm-form form tagtagA 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.), but before any other output.
A new action hook after the form was not introduced. Instead, use the login_footer action, which is called just after the closing </form> tag. The if ( 'confirm_admin_email' === $_GET['action'] ) conditional can be used to check that the email verification screen is being shown.
Filters
One new filterFilterFilters 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., admin_email_check_interval, has also been introduced. This filter can be used to change the frequency that administrators should see the verification screen.
The following example changes the interval from the default of 6 months to 2 months:
For more information about these changes, check out #46349 in TracTracAn open source project by Edgewall Software that serves as a bug tracker and project management tool for WordPress..
WordPress 5.3 contains a number of REST APIREST APIThe 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/. improvements designed to make it easier and faster to work with APIAPIAn 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. data from the blockBlockBlock 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. editor or other client applications.
Register Array & Object Metadata
As covered previously in this developer note on array & object metadata, it is now possible to use register_post_meta & register_term_meta (as well as the underlying method register_meta) to interact with complex metaMetaMeta 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. values as schema-validated JSONJSONJSON, or JavaScript Object Notation, is a minimal, readable format for structuring data. It is used primarily to transmit data between a server and web application, as an alternative to XML. arrays or objects using the REST API. See the linked post for more details.
Nested response filtering with _fields query parameter
This developer note on the changes to the REST API’s _fields= query parameter shows how you may now filterFilterFilters 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. your REST API response objects to include only specific nested properties within the response body.
TicketticketCreated for both bug reports and feature development on the bug tracker.#42094
Set drafts back to “floating date” status
Once a date has been set for a draft, it was previously impossible to set the post back to showing “publish immediately” (also referred to as a “floating date,” where the post will be dated whenever it is published). As of 5.3, passing null for a date value will unset the draft date and restore this floating state.
We have introduced a caching wrapper around the generation of REST resource schema objects, which initial testing has shown to yield up to a 30-40% performance increase in large API responses. If you work with expensive or large REST API queries, things should be quite a bit faster now. (Ticket #47871)
The REST API has also been improved to avoid unnecessary controller object instantiation (#45677) and to skip generation of sample permalinks when that data is not requested (#45605).
Please Note: if your team has existing performance benchmarking tooling for the REST API, please contact the component maintainers in the #core-restapiSlackSlackSlack is a Collaborative Group Chat Platform https://slack.com/. The WordPress community has its own Slack Channel at https://make.wordpress.org/chat/. channel; we very much desire to expand our metrics in this area.
Additional Changes of Note
In addition to these key enhancements, there are a number of smaller improvements to the REST API which may be of interest to developers.
It is no longer possible to DELETE a Revision resource using the REST API, as this behavior could break a post’s audit trail. Ticket #43709
The /search endpoint will now correctly embed the full original body of each matched resource when passing the _embed query parameter. Ticket #47684
rest_do_request and rest_ensure_request now accept a string API path, so it is possible to instantiate a request in PHPPHPThe web scripting language in which WordPress is primarily architected. WordPress requires PHP 7.4 or higher using nothing more than the desired endpoint string, e.g. rest_do_request( '/wp/v2/posts' ); Ticket #40614
Creating or updating a Terms resource via the REST API now returns the updated object using the “edit” context. Ticket #41411
It is now possible to edit a posted comment through the REST API when authenticating the request as a user with the moderate_comments capability. Previously a full editor- or adminadmin(and super admin)-level role was needed. Ticket #47024
rest_get_avatar_urls now receives the entire User or Comment object, not just the object’s email address. Ticket #40030
Welcoming Timothy Jacobs as a REST API component maintainer
Last but not least, many of you have no doubt seen @timothyblynjacobs active in tracTracAn open source project by Edgewall Software that serves as a bug tracker and project management tool for WordPress., slack, and community events. Timothy has driven much of the momentum that resulted in the above improvements, and I’m excited to (belatedly) announce that he has joined the REST API team as an official component maintainer. Thank you very much for your energy and dedication!
Thank you also to every other person who contributed to API changes this cycle; it’s the best version of the REST API yet, and we couldn’t have done it without the dozens of contributors who helped create, review and land these patches.
We’ve got some ambitious ideas about how we can make the REST API even better in 5.4. Interested in helping out, with code, docs, or triagetriageThe act of evaluating and sorting bug reports, in order to decide priority, severity, and other factors.? Join us for weekly office hours, every week on Thursdays at 1800 UTC!
Here is the agenda for the weekly meeting happening later today: Wednesday, October 16, 2019, 20:00 PM UTC. Please share any items you’d like to include in the comments below!
Announcements and highlighted posts
Upcoming Release Discussions
Calls from component maintainers
Open Floor
If you have anything to propose for the agenda or specific items related to those listed above, please leave a comment below.
This meeting is held in the #core channel. To join the meeting, you’ll need an account on the Making WordPress Slack.
In September 2019, the WordPress AccessibilityAccessibilityAccessibility (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) team tested WP 5.3 Adminadmin(and super admin)CSSCSSCascading Style Sheets. changes against the Top 20 plugins on WordPress.org, to evaluate possible breakage on plugins admin screens and to iterate on the related changes.
This week, those tests were reproduced against 5.3-beta3-46471. This post is a report illustrated with screenshots of relevant admin screens for each pluginPluginA 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.
The idea was to test Admin CSS changes against various use cases to see what could happen and to fix as many found bugs as possible. Of course, not every use cases are covered in 20 plugins, but the Accessibility team assumes it will provide a general view on the robustness of the changes coming in WP 5.3.
A dev notedev noteEach important change in WordPress Core is documented in a developers note, (usually called dev note). Good dev notes generally include a description of the change, the decision that led to this change, and a description of how developers are supposed to work with that change. Dev notes are published on Make/Core blog during the beta phase of WordPress release cycle. Publishing dev notes is particularly important when plugin/theme authors and WordPress developers need to be aware of those changes.In general, all dev notes are compiled into a Field Guide at the beginning of the release candidate phase. will quickly follow this post, to communicate on all the CSS changes coming in WP 5.3 admin screens to plugin authors and WordPress developers.
To sum up, some plugins which use custom CSS that override WordPress Admin default CSS rules on form controls may have few minor visual glitches. Most notably: the input fields can be taller than before WP 5.3. There’s no breakage as the input fields are fully operable, but plugin authors and WordPress developers are encouraged to:
remove any fixed heights: flexible heights are the WordPress recommended standard (and one of the main goals of the Admin CSS changes)
remove any custom top and bottom padding values
remove any custom line-height values
For each plugin, screenshot are provided. You can click them to see the full media file.
Contact Form 7
This plugin uses default coreCoreCore is the set of software required to run WordPress. The Core Development Team builds WordPress. admin styles. No breakage found.
Yoast
This plugin uses both custom styles and default core admin styles. No breakage found. One input and one button are too close to each other in the search appearance page. Looks to be due to incorrect use of margins.
Akismet
This plugin uses both custom styles and default core admin styles. No breakage found.
Classic Editor
This plugin uses default core admin styles. No breakage found.
Jetpack
This plugin uses custom styles. No change found on the screens audited. Further exploration could be needed on specific admin screens. Edit: Jetpack team is already working on some small CSS changes in a dedicated pull request. Worth a read to see how plugins could handle Admin CSS changes.
WooCommerce
This plugin uses both custom and default admin styles. Two misaligned labels were found in the installation screen. Some inputs have large vertical paddings/heights. No breakage found.
Note: WooCommerce team already worked on Admin CSS changes in a dedicated pull request. An interesting read to see how plugins could handle Admin CSS changes.
WordPress Importer
This plugin uses default admin styles. No breakage found.
Really Simple SSLSSLSecure Sockets Layer. Provides a secure means of sending data over the internet. Used for authenticated and private actions.
This plugin uses both custom and default admin styles. No breakage found.
Elementor Page Builder
This plugin uses both custom and default admin styles. Small misalignment in one (screenshot 6) of the dozen pages of settings, due to fixed margins. Pretty minor though. No breakage found.
Wordfence Security
This plugin uses both custom and default admin styles. No breakage found.
Duplicate Post
This plugin uses default admin styles. No breakage found.
TinyMCE Advanced
This plugin uses both custom and default admin styles. No breakage found.
All in One SEO Pack
This plugin uses both custom and default admin styles. No breakage found.
WP Forms
This plugin uses both custom and default admin styles. No breakage found.
Google XML Sitemaps
This plugin uses default admin styles. No breakage found.
Google Analytics Dashboard Plugin for WordPress
This plugin uses custom admin styles. No breakage found but the test couldn’t handle each screen of the plugin due to the some issues with plugin’s configuration on local installs.
All-in-One WP MigrationMigrationMoving the code, database and media files for a website site from one server to another. Most typically done when changing hosting companies.
This plugin uses both custom and default admin styles. No breakage found.
UpdraftPlus Backup
This plugin uses both custom and default admin styles. No breakage found.
WP Super Cache
This plugin uses default admin styles. No breakage found.
Google Analytics Dashboard for WP
This plugin mixes custom and default admin styles. No breakage found.
Please note this report is only including Top 20 plugins from WordPress.orgWordPress.orgThe 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/, but the changes were also tested on various others plugins, such as WP-Rocket, Advanced Custom Fields, Polylang… and dozens of plugins with less active installations.
You must be logged in to post a comment.