get_page_by_title() deprecated

In WordPress 6.2, the get_page_by_title() function has been deprecated in favour of using WP_Query (#57041). Unlike the deprecated function, WP_Query can only be run after plugins and pluggable functions have loaded, on the plugins_loaded action or later.

Due to limitations with the deprecated functions database query, it could return different results depending on the database version and/or engine used. Switching to WP_Query will ensure you receive the same results regardless of the setup of your server.

To achieve an equivalent database query via WP_Query, the following arguments can be used.

$query = new WP_Query(
	array(
		'post_type'              => 'page',
		'title'                  => 'Sample Page',
		'post_status'            => 'all',
		'posts_per_page'         => 1,
		'no_found_rows'          => true,
		'ignore_sticky_posts'    => true,
		'update_post_term_cache' => false,
		'update_post_meta_cache' => false,
		'orderby'                => 'post_date ID',
		'order'                  => 'ASC',
	)
);

if ( ! empty( $query->post ) ) {
	$page_got_by_title = $query->post;
} else {
	$page_got_by_title = null;
}

The same result can also be achieved via the get_posts() wrapper for WP_Query(). In this case, you can replace the code with the following:

$posts = get_posts(
	array(
		'post_type'              => 'page',
		'title'                  => 'Sample Page',
		'post_status'            => 'all',
		'numberposts'            => 1,
		'update_post_term_cache' => false,
		'update_post_meta_cache' => false,			
		'orderby'                => 'post_date ID',
		'order'                  => 'ASC',
	)
);

if ( ! empty( $posts ) ) {
	$page_got_by_title = $posts[0];
} else {
	$page_got_by_title = null;
}

Ensuring the page is accessible

Due to the database query used by get_page_by_title(), it was possible the result returned from the database was not intended to be accessible by the user and that linking to the result would lead to a File Not Found error.

The code above reproduces this behaviour. If you wish to avoid this edge, then leave the post_status parameter out of the code above will resolve your issue.

Props to @afragen,ย @spacedmonkey, @milana_cap, @bph,ย @webcommsat for proofreading.

#6-2, #dev-notes

Editor Chat Agenda: 8 March 2023

Facilitator and notetaker:ย @paaljoachim

This is the agenda for the weeklyย editor chatย scheduled forย Wednesday, March 08 2023, 03:00 PM GMT+1. This meeting is held in theย #core-editorย channel in the Making WordPressย SlackSlack Slack is a Collaborative Group Chat Platform https://slack.com/. The WordPress community has its own Slack Channel at https://make.wordpress.org/chat/.

Gutenberg plugin 15.3 RC2 ready to test. The final version of 15.3 will likely be released on Wednesday.
WordPress 6.2 RC1 postponed, additional Beta 5 added.
WordPress 6.2 Beta 5.

Key project updates:

Task Coordination.

Open Floor โ€“ extended edition.

If you are not able toย attendย the meeting, you are encouraged to share anything relevant for the discussion:

  • If you have an update for the main site editing projects, please feel free to share as a comment or come prepared for the meeting itself.
  • If you have anything to share for the Task Coordination section, please leave it as a comment on this post.
  • If you have anything to propose for the agenda or other specific items related to those listed above, please leave a comment below.

#agenda, #core-editor, #core-editor-agenda, #meeting

Editor Components updates in WordPress 6.2

This post lists notable changes to theย @wordpress/componentsย package for the WordPress 6.2 release:

Deprecating bottom margin on control components

Several UIUI User interface components currently ship with styles that give them top and/or bottom margins. This can make it hard to reuse them in arbitrary layouts, where you want different amounts of gap or margin between components.

To better suit modern layout needs, we will gradually deprecate these outer margins. A deprecation will begin with an opt-in period where you can choose to apply the new margin-free styles on a given component instance. Eventually in a future version, the margins will be completely removed.

Continuing the effort started in previous releases, for the WordPress 6.2 release we focused on the BaseControlย component and its consumers. While the effort is still ongoing, the outer margins on the following components have been deprecated. (Links all go to the WordPress Storyboard)

To start opting into the new margin-free styles, set theย __nextHasNoMarginBottomย prop toย true.

<SelectControl
  options={ selectOptions }
  value={ selectValue }
  label={ __( 'Label' ) }
  onChange={ onSelectChange }
  __nextHasNoMarginBottom={ true }
/>

To better suit modern layout needs, we will gradually deprecate these outer margins. A deprecation will begin with an opt-in period where you can decide to apply the new margin-free styles on a given component instance. Eventually, in a future version, the margins will be completely removed.

In WordPress 6.2, the bottom margin on theย URLInputย component has been deprecated.

To start opting into the new margin-free styles, set theย __nextHasNoMarginBottomย prop toย true:

<URLInput
     __nextHasNoMarginBottom
     className={ className }
     value={ attributes.url }
     onChange={ ( url, post ) => setAttributes( { url, text: (post &&     post.title) || 'Click here' } ) }
/>

Contributors working on the Components package are in the process of migrating all internal usages to use the newย __nextHasNoMarginBottomย prop. Once all usages are migrated, an official deprecation will be added to theย BaseControlย component.

For more information visit #38730.ย (top)

Increased consistency when applying inline styles and class names to control components

To improve consistency across theย @wordpress/componentsย package, any inline styles passed to theย InputControlย component through itsย styleย prop will be applied to its outer wrapper element, instead of an inner input wrapper element.

Similarly, any class names applied to theย UnitControlย component through itsย classNameย prop will be applied to its outer wrapper element, instead of an inner input wrapper element. As a consequence of this change, theย components-unit-control-wrapperย class name and theย __unstableWrapperClassNameย prop have been removed from the UnitControl component.

These changes may affect usages of other components relying onย InputControl and UnitControl, such asย NumberControl, RangeControl, HeightControl, etc.

For more information visit #45340 and #45139.ย (top)

Parent navigation support & named arguments for the Navigator component

Theย Navigatorย component from theย @wordpress/componentsย package has been enhanced with two additional features:

  • it can now match named arguments (ie.ย /product/:productId);
  • it now offers a way to navigate to the parent screen via theย goToParentย function and theย NavigatorToParentButtonย component.

These two features assume thatย NavigatorScreens are assigned paths that are hierarchical and follow a URLURL A specific web address of a website or web page on the Internet, such as a websiteโ€™s URL www.wordpress.org-like scheme, where each path segment is separated by theย /ย character.

For more information visit #47827 and #47883.ย (top)

Absence of inert polyfill

Theย Disabledย component internally relies on theย inertย property. To manage expectations when interacting with the component inย browsers where theย inertย attribute is not supported, the componentโ€™s docs were updated to clarify that the polyfill for theย inertย property needs to be added by the consumer of theย @wordpress/componentsย package.

For more information visit #45272.ย (top)

Using the placement prop for Popover-based components

With the recent refactor of theย Popoverย component to use theย floating-uiย library, theย placementย prop has become the recommended way to determine how the component positions with respect to its anchor. While the olderย positionย prop is still supported, weโ€™re making changes towards removing all of its usages in the GutenbergGutenberg 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/ repository and deprecating it.

As part of these efforts, theย positionย prop has been marked as deprecated on the following components:

  • Dropdownย from theย @wordpress/componentsย package
  • URLPopoverย component from theย @wordpress/block-editorย package

Consumers of these components should be using the newย placementย prop instead.

For more information visit #46865 and #44391.ย (top)

Added default values to props on ColorPalette, BorderBox and BorderBoxControl

Many props of theย ColorPalette,ย BorderBoxย andย BorderBoxControlย components from theย @wordpress/componentsย package have been assigned a default value to better reflects each propโ€™s purpose.

The Storybook pages for each component have been updated: ColorPalette, BorderControl and BorderBoxControl to reflect those changes.

For more information visit #45463.ย (top)

__experimentalHasMultipleOrigins removed from selected components

Theย __experimentalHasMultipleOriginsย prop has been removed from theย ColorPalette,ย GradientPicker,ย BorderControlย andย BorderBoxControlย components in theย @wordpress/componentsย package.

The prop has been replaced by a check in theย ColorPaletteย component which automatically detects whether the colors passed through theย colorsย prop has a single or multiple color origins.

For more information visit #46315.ย (top)

Props toย @0mirka00 and @brookemk for the help in writing theseย dev notesdev note Each 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..

Props toย @bph and @webcommsat for reviewing this post.

#6-2, #dev-notes, #dev-notes-6-2

I18N Improvements in 6.2

Various internationalization (i18n) improvements are in WordPress 6.2, and this developers note will focus on these.

Make it easier to switch to a userโ€™s localeLocale 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.

A while back, WordPress 4.7 introduced user admin languages and locale switching. With every user being able to set their preferred locale, itโ€™s crucial to use locale switching to ensure things like emails are sent in that locale. Thatโ€™s why you would see a lot of code likeย switch_to_locale( get_user_locale( $user ) )ย in coreCore Core is the set of software required to run WordPress. The Core Development Team builds WordPress. and in plugins.

Not only is this very repetitive, it also causes limitations when used in combination with things like theย Preferred Languagesย feature pluginFeature Plugin A plugin that was created with the intention of eventually being proposed for inclusion in WordPress Core. See Features as Plugins, where one would like to fall back to another locale if the desired one is not available.

To improve this, WordPress 6.2 provides a newย switch_to_user_locale()ย function that takes a user ID, grabs the userโ€™s locale and stores the ID in the stack, so that at each moment in time you know whose locale is supposed to be used.

Together with this enhancementenhancement Enhancements are simple improvements to WordPress, such as the addition of a hook, a new feature, or an improvement to an existing feature., theย WP_Locale_Switcherย class has been updated to filterFilter 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. both locale and determine_locale with the switched locale. This way, anyone using theย determine_locale()ย function will get the correct locale information when switching is in effect.

Core already makes use of this new function, and plugins and themes are of course encouraged to do so as well.

See #57123 for more information.

wp_get_word_count_type()

In #56698, the localeโ€™s word count type (i.e. whether they count words or characters), has been made part of the WP_Locale class.

Previously, to get that information, plugins and themes had to do something similar as core and use code like _x( 'words', 'Word count type. Do not translate!' ). All such translationtranslation The process (or result) of changing text, words, and display formatting to support another language. Also see localization, internationalization. strings in core have already been replaced with the new wp_get_word_count_type() function (which is a wrapper around WP_Locale::get_word_count_type()). So if you have been using those translation strings in your code, you can now switch to this new function too!

Install new translations when editing your profile

Ever since the aforementioned user admin language feature was introduced, users have been able to change their preferred language in the user profile by choosing from the list of already installed languages. New languages could only be installed via the General Settings page.

Starting with WordPress 6.2, you donโ€™t have to go to the settings page anymore if you quickly want to change your user language to a new oneโ€”if you have the necessary capabilitiescapability Aย capabilityย is permission to perform one or more types of task. Checking if a user has a capability is performed by the current_user_can function. Each user of a WordPress site might have some permissions but not others, depending on theirย role. For example, users who have the Author role usually have permission to edit their own posts (the โ€œedit_postsโ€ capability), but not permission to edit other usersโ€™ posts (the โ€œedit_others_postsโ€ capability). to install languages of course, which by default only admins have.

See #38664 for full context.

Screenshot of the profile edit screen, showing the language chooser dropdown where users can now also choose languages that have not yet been installed.
Users with the necessary capabilities can now install new languages via the profile edit screen.

Translator comments for screen reader strings

In r55276 / #29748, all translatable strings intended for screen readers have been marked as such via translator comments.

This aims to provide better context for translators and make it easier to determine that some strings contain hidden accessibilityAccessibility 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) text and are not displayed in the UIUI User interface.

Props @ocean90 and @webcommsat for reviewing this post.

#6-2, #dev-notes, #dev-notes-6-2, #i18n

WordPress 6.2 Accessibility Improvements

Thank you toย @joedolsonย andย @alexstineย for collaborating on this post.

With WordPress 6.2 set to launch on March 28th, this post seeks to provide an overview of the many accessibilityAccessibility 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) improvements and fixes coming to the next major WordPress release. As always, thereโ€™s more work to be done with accessibility requiring an ongoing effort and commitment.ย Outside of the work mentioned below, there have been numerous moments of collaboration around accessibility as features were developed including with splitting tabs in block settings, introducing browse mode, and the additional option to edit the navigation block in the block settings.

If youโ€™re interested in helping with these efforts, please join the #accessibility channel in Make SlackSlack Slack is a Collaborative Group Chat Platform https://slack.com/. The WordPress community has its own Slack Channel at https://make.wordpress.org/chat/ and check out how you can get involved. There are numerous ways to get involved in this important work including testing, giving accessibility feedback, and creating PRs to address feedback.

Navigation blockBlock 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.

  • Announce when a block is inserted in the Navigation list view. (47034)
  • Fix various off canvas appender accessibility issues. (47047)
  • Better handling of loading states for navigation selector. (43904)

General block editor experienceย 

  • TabPanel: Support manual tab activation. (46004)
  • Keycodes: Fix tilde (~) character isnโ€™t displayed correctly. (46826)
  • Update text align toolbar control label. (47119)
  • SidebarSidebar A sidebar in WordPress is referred to a widget-ready area used by WordPress themes to display information that is not a part of the main content. It is not always a vertical column on the side. It can be a horizontal rectangle below or above the content area, footer, header, or any where in the theme. Tabs: Set default tab to first available. (45998)
  • Make the inline toolbar navigable by arrow keys. (43645)
  • BlockVariationPicker: Remove Unnecessary ARIA Role. (45916)
  • Esure block labels and titles consider variations. (44250)
  • useNavigateRegions: Use closest to determine the next region to navigate to. (44883)
  • Fix focus return when closing the Post publish panel. (45623)
  • Fix the navigate regions focus style. (45369)
  • Fix navigate regions backwards for macOS Firefox and Safari. (45019)
  • Fix the block toolbar styling when the โ€˜Show button text labelsโ€™ preference is enabled. (44779)
  • Fix the Save buttons labeling and tooltip. (43952)
  • Focus on the first parent block on block removal if no previous block is available (48204). This is underway but not yet merged.

Contrast Checker improvements

  • Limit contrast checker to only blocks that have at least one color defined. (43592)
  • Fix: Contrast checker appears unexpectedly on some blocks. (45639)
  • Fix: Contrast checker does not update properly. (45686)

Site editor

  • Change SpacingSizesControl ARIA from region to group. (46530)
  • Browse mode: Fix aria region navigation in the site editor. (46525)
  • Browse mode: Allow resizing the sidebar in the site editor using keyboard. (47176)
  • Browse mode: Add an aria label to the site save dialog. (47898)
  • Style Book: Focus the Style Book when opened, and enable ESCAPE key to close (48151).
  • Style Book: Allow button text labels for style book icon. (48088)
  • Add role=application to List View to prevent browse mode triggering in NVDA. (44291)
  • Make the template customized info accessible. (48159)

Other:ย 

  • Add โ€œTesting Instructions for Keyboardโ€ to PR template to encourage accessibility testing. (45957)
  • Constrained tabbing: Fix unstable behavior in FireFox. (42653)
  • TokenInput field: fix screen reader focus issue. (44526)

#6-2, #accessibility

Dev Chat Summary, March 1, 2023

The WordPress Developers Chat meeting took place on March 1, 2023 at 20:00 UTC in the core channel of Make WordPress Slack.

Key Links

Are you interested in helping draft Dev Chat summaries? You can volunteer to be added to the rotation, either during the meeting or by contacting on the Make Slack abhanonstopnewsuk

Announcements

  • WordPress 6.2 Beta 4 went live earlier today and is now available to download and test. Thanks to everyone who contributed to it, including the release party facilitators and all the testers.
  • The current target for the final release is March 28, 2023, less than four weeks away.

Highlighted Posts

Changes in TracTrac An open source project by Edgewall Software that serves as a bug tracker and project management tool for WordPress. between February 20 and February 27, 2023 show some great statistics:

  • 45 commits
  • 103 contributors
  • 50 tickets created
  • 7 tickets reopened
  • 64 tickets closed
  • and 21 new contributors!
  • Whatโ€™s New in Gutenberg 15.2ย is out, with accessibilityAccessibility 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) and template editing experience improvements, as well as additional blockBlock 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. control support.
  • Theย WordPress Roadmap pageย has been updated with additional bullet points that will appear under APIs and Block theme dev tools.
  • The CoreCore Core is the set of software required to run WordPress. The Core Development Team builds WordPress.-Performance team has published a Core Performance Team Roadmap.

Release Update

Key information on the next major releasemajor release A release, identified by the first two numbers (3.6), which is the focus of a full release cycle and feature development. WordPress uses decimaling count for major release versions, so 2.8, 2.9, 3.0, and 3.1 are sequential and comparable in scope.: 6.2

Below are some links for anyone new or wanting to get more involved in the release.

Check theย #6-2-release-leadsย channel for the latest updates.

A live WordPress 6.2 demo will take place Thursday, 2 March 2023 at 17:00ย UTC. Find more details on the 6.2 Live Product Demo post.

Open ticketticket Created for both bug reports and feature development on the bug tracker. update for 6.2

@costdev noted that 34 tickets remain in the 6.2 milestone (query used). The remaining tickets relate to ย Build/Test Tools, docs-only, test-only,ย gutenberg-merge, or the About page, and will be scrubbed in coming days.

With the release of BetaBeta A pre-release of software that is given out to a large group of users to trial under real conditions. Beta versions have gone through alpha testing in-house and are generally fairly close in look, feel and function to the final product; however, design changes often occur as part of the process. 4, @hellofromtonya reminded the team that if a regressionregression 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. or issue comes up before RCrelease candidate One 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, then another beta may be necessary. She also noted that the 6.3 (alpha) milestone begins when trunk is branched at RC 1.

Invitation to contributors to help test releases during the development cycle, and to watch for the release party schedule in the #6-2-release-leadsย channel.

Requests for Help with Tickets/Blockers

Remaining tickets in 6.2 milestone

@azaozz confirmed that there were no core code changes in the remaining tickets.

Dev Notesdev note Each 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.

@webcommsat highlighted the work progressing on dev notes related to 6.2. @bph noted that in GutenbergGutenberg 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/ everything is almost done. @milana_cap noted that Documentation tasks have all been assigned.

@audrasjb provided a link to the WP 6.2 Documentation tracker, and @milana_cap confirmed that each item has been covered.

Open Floor

From the Agenda

@miguelsansegundo raised Trac ticket #56908: The result of locate_block_template function might be wrong prior to the meeting. Given the lack of recent activity, @hellofromtonya suggested it be tested in Gutenberg first, else it could be moved to the 6.3 milestone.

Roadmap Phase 4: Multi-lingual

@pbiron asked if there was any existing documentation or discussion about what the roadmapโ€™s multi-lingual support feature might look like. @jeffpaul recalled Mattโ€™s discussion of this feature at WCEU 2022 (starts around the 10:00 minute mark), and that more detail around Phase 3 (Collaboration) would need to come first.

@audrasjb asked if the feature, built in Gutenberg first, would support taxonomies (used in other multi-lingual plugins), and @azaozz asserted that it should be a โ€œcore projectโ€ and work with everything.

Following his original question, @pbiron asked when work on Phase 4 might start. @jeffpaul speculated that if Phase 3 runs through 2024, that Phase 4 might start in 2025. He further cautioned against starting too soon to avoid significant rework, depending on how Phase 3 comes together. @azaozz indicated that Phase 3 may be shorter than estimated, since much of the โ€œinfrastructureโ€ in the editor has been prepared for the collaboration phase.

@oglekler noted that multi-lingual plugins are complicated, and that the functionality should be native to WordPress. @azaozz agreed, suggesting they might become less complicated once core supports the feature.

@clorith pointed out that there are older multi-lingual experiment PRs in Gutenberg, but that they are rudimentary and donโ€™t necessarily hint at the final featureโ€™s implementation. @pbiron wondered if there was a label for such items, but @clorith didnโ€™t recall.

Call for Documentation and Maintainers

@bph provided a list of tickets (grouped by component) in the 6.2 milestone that donโ€™t have maintainers, where documentation coverage may be incomplete. Here is the list:

She called on contributors to point out any needed Dev Notes, short dev mentions, or Field GuideField guide The 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. one-liners to the Documentation team through the Outreach to component maintainers tracker on GitHubGitHub GitHub is a website that offers online implementation of git repositories that 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 by the repository owner. https://github.com/.

@webcommsat also provided a handbook link to help those interested: What it means to be a component maintainer.

The next meeting will be on March 8, 2023 at 20:00 UTC.

Props to @webcommsat for running the meeting, and to @ironprogrammer for the summary. Review by @webcommsat.

#6-2, #dev-chat, #meeting, #summary

Dev Chat Summary, February 22, 2023

The WordPress Developers Chat meeting took place on February 22, 2023 at 20:00 UTC in the core channel of Make WordPress Slack.

Key Links

Are you interested in helping draft Dev Chat summaries? You can volunteer to be added to the rotation, either during the meeting or by contacting @abhanonstopnewsuk on Slack.

Highlighted Posts

Between February 13 and February 20, 2023, there were on TracTrac An open source project by Edgewall Software that serves as a bug tracker and project management tool for WordPress.:

  • 58 commits
  • 88 contributors
  • 74 tickets created
  • 10 tickets reopened
  • 69 tickets closed
  • 14 new contributors ๐ŸŽ‰
  • Read about this Marketing experiment about post announcements, which intentionally posts only the first betaBeta A pre-release of software that is given out to a large group of users to trial under real conditions. Beta versions have gone through alpha testing in-house and are generally fairly close in look, feel and function to the final product; however, design changes often occur as part of the process., RCrelease candidate One 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)., and general release announcements to News, and intermittent beta/RC posts to Make/CoreCore Core is the set of software required to run WordPress. The Core Development Team builds WordPress..

Help โ€“ Tickets/Components

Remaining Tickets in 6.2 Milestone

@johnbillion reminded the team that there were 95 open tickets to go (query used).

@costdev asked maintainers and contributors to assist triagetriage The act of evaluating and sorting bug reports, in order to decide priority, severity, and other factors. efforts by moving into Future Release any tickets they know will not make it into the 6.2 milestone.

Considering the high count, and being only a week away from Beta 4, @francina asked if release leads were comfortable with this many bugs. @hellofromtonya pointed out that only 57 of the tickets were defects (query used), and that any outstanding items would be punted by RC1.

@jeffpaul asked for confirmation if regressions introduced during 6.2 could remain open into RC, and @hellofromtonya confirmed, though could cause a delay (prescience?)

Open Floor

About Page

@francina asked for an About Page status update (#57477: About Page โ€“ 6.2 Release), and @jpantani noted that the draft document was still open for general feedback through the week. The document will be closed to changes on March 3, 2023 at 23:59 UTC.

Live Product Demo

@jpantani also mentioned the planned 6.2 Live Product Demo scheduled for March 2, 2023 at 17:00 UTC.

Props to: @ironprogrammer for the summary, and @webcommsat for review and agenda preparation,
and @francina for facilitating the meeting.

#6-2, #dev-chat, #meeting, #summary

WordPress 6.2 Beta 4

WordPress 6.2 BetaBeta A pre-release of software that is given out to a large group of users to trial under real conditions. Beta versions have gone through alpha testing in-house and are generally fairly close in look, feel and function to the final product; however, design changes often occur as part of the process. 4 is ready for download and testing!

This version of the WordPress software is under development. Please do not install, run, or test this version of WordPress on production or mission-critical websites. Instead, itโ€™s recommended that you test Beta 4 on a test server and site.

You can test WordPress 6.2 Beta 4 in three ways:

Option 1: Install and activate the WordPress Beta Tester pluginPlugin 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. (select the โ€œBleeding edgebleeding edge The latest revision of the software, generally in development and often unstable. Also known as trunk.โ€ channel and โ€œBeta/RCrelease candidate One 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). Onlyโ€ stream).

Option 2: Direct download the Beta 4 version (zip).

Option 3: Use the following WP-CLIWP-CLI WP-CLI is the Command Line Interface for WordPress, used to do administrative and development tasks in a programmatic way. The project page is http://wp-cli.org/ https://make.wordpress.org/cli/ command:

wp core update --version=6.2-beta4

The current target for the final release is March 28, 2023, which is four weeks away. Your continued help with testing is vital to ensuring everything in this release is the best it can be.

Get an overview of the 6.2 release cycle, and check the Make WordPress Core blog for 6.2-related posts in the coming weeks for further details.

Calling all testers! We need your help

Testing for issues is a critical part of developing any software, and itโ€™s a meaningful way for anyone to contributeโ€”whether you have experience or not. This detailed guide is a great place to start if youโ€™ve never tested a beta release.

If you build products for WordPress, you probably realize that the sooner you can test this release with your themes, plugins, and patterns, the easier it will be for you to offer a seamless experience to your users.

Want to know more about testing releases in general? You can follow along with the testing initiatives that happen in Make CoreCore Core is the set of software required to run WordPress. The Core Development Team builds WordPress.. You can also join the #core-test channel on the Making WordPress Slack workspace.

If you think you may have run into an issue, please report it to the Alpha/Beta area in the support forums. If you are comfortable writing a reproducible bugbug 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. report, you can file one on WordPress Trac. You can also check your issue against a list of known bugs.

Interested in the details on the latest GutenbergGutenberg 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/ features? Find out whatโ€™s been included since WordPress 6.1 (the last major releasemajor release A release, identified by the first two numbers (3.6), which is the focus of a full release cycle and feature development. WordPress uses decimaling count for major release versions, so 2.8, 2.9, 3.0, and 3.1 are sequential and comparable in scope. of WordPress). You will find more details in these Whatโ€™s new in Gutenberg posts for 15.1, 15.0, 14.9, 14.8, 14.7, 14.6, 14.5, 14.4, 14.3, and 14.2.

Whatโ€™s new in Beta 4

This release contains more than 292 enhancements and 354 bug fixes for the editor, including more than 286 tickets for the WordPress 6.2 core. Expect even more fixes as the 6.2 release cycle continues.

This phase of the release addresses approximately 79 issues since last weekโ€™s Beta 3โ€”props to all the Beta testers out there. (Without you these releases couldnโ€™t happen, so great job, and thank you!)ย 

Discover 6.2 enhancements such as the new collections of headerHeader 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. and footer patterns that make creating with WordPress smoother than ever before. Thereโ€™s plenty more in this release so check out the Beta 1 announcement for more details on other notable highlights.

โ€œFourโ€ you another haiku for 6.2

Time for soft string freeze
Loose ends of Beta 3 tied
Beta 4 for all

Thank you to the following contributors for collaborating on this post: @laurlittle and @davidbaumwald
Haiku by @shilpashah

#6-2, #development, #releases

Editor chat summary: Wednesday, 1st March 2023

This post summarises the latest weekly Editor meeting (agenda, slack transcript), held in the #core-editor SlackSlack 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, on Wednesday, February 22, 2023, 14:00 UTC.

General Updates

Async key project updates

Read the latest updates directly from the following tracking issues:

Task Coordination

There has been no task coordination due to the low number of participants. And me (@andraganescu) forgetting all about it.

Open floor

@mdxfr proposed the GutenbergGutenberg 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/ contributors should do a focus on ironing out bugs and missing features which prevent the front end rendering of blocks, templates and template parts to match 100% their preview in the editors. Marc offered these examples as seemingly different bugs that have the same underlying cause.

@tomjdevisser raised some questions about new contributor onboarding such as:

  • how do you earn the right to approve PRs?
  • who decides based on what how to prioritize tickets?
  • how do you know what projects to add PRs to?
  • is there a list with contributors per profession/area of expertise to ask for review/approval?

Some of the questions where answered in the thread, some have their answer in this bit of documentation โ€“ but some questions revealed a missing documentation about how project management works, particularly around priorities, creating issues that track Gutenberg phases and who are the people who are expected to offer this guiding. CC @annezazu @priethor for any input you may have.


Note: Anyone reading this summary outside of the meeting, please drop a comment in the post summary, if you can/want to help with something.

Read complete transcript

#meeting-notes, #core-editor, #editor, #gutenberg, #core-editor-summary

A Week in Core โ€“ February 27, 2023

Welcome back to a new issue of Week in CoreCore 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 TracTrac An open source project by Edgewall Software that serves as a bug tracker and project management tool for WordPress. between February 20 and February 27, 2023.

  • 45 commits
  • 103 contributors
  • 50 tickets created
  • 7 tickets reopened
  • 64 tickets closed

Ticketticket 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

  • Move wp-theme-plugin-editor script before โ€“ #57073

Bootstrap/Load

  • Check that either mysqli_connect() or mysql_connect() is available โ€“ #51988

Build/Test Tools

  • Add test coverage for the get_posts_navigation() function โ€“ #55751
  • Remove duplicate DocBlockdocblock (phpdoc, xref, inline docs) opening characters in tests/theme/wpTheme.php โ€“ #56792

Bundled Themes

  • Twenty Seventeen: Mark one more screen reader string with a translator comment โ€“ #29748
  • Twenty Twenty: Avoid PHPPHP The web scripting language in which WordPress is primarily architected. WordPress requires PHP 7.4 or higher warnings in 8.1 due to incorrect usage of wp_add_inline_style() โ€“ #57777

Coding Standards

  • Use strict comparison in bundled themesโ€™ PHP files โ€“ #56791

Comments

  • Prevent replying to unapproved comments โ€“ #53962
  • Restore global $comment assignment in comment_form_title() โ€“ #53962

Database

  • Remove the check for sitecategories table on Database Repair screen โ€“ #57762

Docs

  • Correct duplicate hook reference for notify_moderator โ€“ #57808
  • Document default values for optional parameters in various DocBlocks โ€“ #56792
  • Fix erroneous since mention in wp_internal_hosts hook โ€“ #57796

Editor

  • Fix โ€˜wp-blockBlock 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.-library-themeโ€™ style enqueue conditions โ€“ #57561
  • Fix invalidinvalid 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. parameters being passed to wp_register_style() โ€“ #57771, #56990, #57688
  • Update the WP packages with fixes prior to WP 6.2 betaBeta A pre-release of software that is given out to a large group of users to trial under real conditions. Beta versions have gone through alpha testing in-house and are generally fairly close in look, feel and function to the final product; however, design changes often occur as part of the process. 3 โ€“ #57471

Formatting

  • Add aspect-ratio tests for safecss_filter_attr() โ€“ #57664

General

  • Add more error checking to WP_List_Util::pluck() โ€“ #56650

HTMLHTML HyperText Markup Language. The semantic scripting language primarily used for outputting content in web browsers. APIAPI 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.

  • Fix finding bookmarks set on closing tagtag 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.) WP_HTML_Tag_Processor โ€“ #57787, #57575
  • Set $this->html to protected to support subclassing โ€“ #57575
  • Add fragment support to WP_Http::make_absolute_url() โ€“ #56231

Help/About

  • Avoid extra redirections on HelpHub Links โ€“ #57726
  • Avoid extra redirections on HelpHub Links โ€“ #57726
  • Restore the correct URLURL A specific web address of a website or web page on the Internet, such as a websiteโ€™s URL www.wordpress.org for Editing Files article on Edit Themes screen โ€“ #57726
  • Use a consistent capitalization for โ€œSupport forumsโ€ links across WP Adminadmin (and super admin) โ€“ #57726
  • Use a consistent capitalization for โ€œSupport forumsโ€ links across WP Admin โ€“ #57726
  • Use the new /documentation/ URLs for HelpHub links in Bundled Themes โ€“ #57726
  • Use the new /documentation/ URLs for HelpHub links in WordPress Admin โ€“ #57726

Mail

  • Fix character encoding issues in PluginPlugin 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./Theme background update emails โ€“ #56964

Media

  • Add WP_Image_Editor_Imagick::set_imagick_time_limit() method โ€“ #52569

Networks and Sites

  • Fix the attributes for the email input field on the new networknetwork (versus site, blog) user screen โ€“ #38460
  • Remove confusing upper case for option names on Edit Site: Settings screen โ€“ #50572
  • Use consistent markup for admin notices โ€“ #39213

Posts, Post Types

  • Pass the post object to _update_posts_count_on_delete() โ€“ #57023

RevisionsRevisions The WordPress revisions system stores a record of each saved draft or published update. The revision system allows you to see what changes were made in each revision by dragging a slider (or using the Next/Previous buttons). The display indicates what has changed in each revision.

  • Remove an unnecessary call to _doing_it_wrong() and corresponding new text string from the implementation of the new wp_save_post_revision_revisions_before_deletion filterFilter 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. โ€“ #57320

Site Health

  • Use PasswordHash API directly when validating keys โ€“ #56787

TaxonomyTaxonomy 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.

  • Rename temporary variable in wp_queue_posts_for_term_meta_lazyload() โ€“ #57150

Themes

  • Account for a numeric theme directory in WP_Theme::__construct() โ€“ #54645
  • Add 3 and update 2 shadow presets in theme.json โ€“ #57708, #57559

Toolbar

  • Update the URL for Documentation link in the admin bar โ€“ #57726

Upgrade/Install

  • Introduce WP_Automatic_Updater::is_allowed_dir() method โ€“ #42619

Users

  • Adjust the initialization of the $duplicated_keys array in wp_salt() โ€“ #57121
  • Fix confirmation link for multisitemultisite 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 users with no role โ€“ #57164

Widgets

  • Match variable types in rss feedRSS 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. link filter โ€“ #57594

Props

Thanks to the 103 (!) people who contributed to WordPress Core on Trac last week: @sergeybiryukov (15), @costdev (12), @audrasjb (11), @sabernhardt (9), @hellofromTonya (5), @flixos90 (4), @mukesh27 (4), @dhrupo (3), @poena (3), @desrosj (3), @Ankit-K-Gupta (2), @afragen (2), @hellofromtonya (2), @dmsnell (2), @hasanmisbah (2), @sakibmd (2), @jrf (2), @afercia (2), @dd32 (2), @robinwpdeveloper (2), @afrin29 (2), @mamaduka (2), @scruffian (2), @ipajen (2), @johnbillion (2), @richtabor (1), @drzraf (1), @fabiankaegy (1), @priethor (1), @ajlende (1), @jameskoster (1), @oandregal (1), @mtias (1), @kellychoffman (1), @joen (1), @beafialho (1), @antpb (1), @adityaarora010196 (1), @skithund (1), @boniu91 (1), @sc0ttkclark (1), @dimadin (1), @bgin (1), @sannevndrmeulen (1), @ndiego (1), @jffng (1), @glendaviesnz (1), @mikachan (1), @milana_cap (1), @fasuto (1), @Chouby (1), @schlessera (1), @dshanske (1), @ellatrix (1), @ntsekouras (1), @roytanck (1), @calvinalkan (1), @paulkevan (1), @ocean90 (1), @joemcgill (1), @madhudollu (1), @sanketchodavadiya (1), @franz00 (1), @swissspidy (1), @meyegui (1), @markjaquith (1), @spacedmonkey (1), @hugodevos (1), @winterpsv (1), @alvastar (1), @lopo (1), @simongomes02 (1), @robin-labadie (1), @wildworks (1), @chrisbaltazar (1), @sun (1), @geisthanen (1), @joyously (1), @michelmany (1), @jongycastillo (1), @rahmohn (1), @arnolp (1), @pbiron (1), @zieladam (1), @benjgrolleau (1), @afshanadiya (1), @Mista-Flo (1), @adeltahri (1), @stalukder03 (1), @dilipbheda (1), @itsnikhilpatel (1), @paulamit (1), @paulschreiber (1), @zevilz (1), @joedolson (1), @obayedmamur (1), @aryamaaru (1), @jeremyfelt (1), @stevenkword (1), @marksabbath (1), @aristath (1), @chiragrathod103 (1), and @azaozz (1).

Congrats and welcome to our 21 (!!) new contributors of the week:ย @hasanmisbah, @sakibmd, @adityaarora010196, @fasuto, @calvinalkan, @meyegui, @winterpsv, @alvastar, @simongomes02, @robin-labadie, @chrisbaltazar, @sun, @geisthanen, @michelmany, @jongycastillo, @arnolp, @itsnikhilpatel, @paulamit, @zevilz, @marksabbath, @chiragrathod103 โ™ฅ๏ธ

Core committers: @sergeybiryukov (15), @audrasjb (14), @hellofromtonya (4), @peterwilsoncc (3), @flixos90 (2), @joedolson (2), @johnbillion (2), @ocean90 (1), @timothyblynjacobs (1), and @gziolo (1).

#6-2, #core, #meta6545, #week-in-core