__group__ ticket summary reporter component _version priority severity milestone type _status workflow _created modified _description _reporter Last Week 60818 Typo in wp-admin/includes/class-pclzip.php nithins53 General normal trivial 6.6 defect (bug) new commit 2024-03-21T12:33:40Z 2024-03-21T15:14:14Z "If we go through wp-admin/includes/class-pclzip.php on line number 51 we can see it is mentioned "" reserved for **''futur''** use "". It should be ""reserved for ''**future**'' use""" nithins53 Last Week 60814 several typo corrections in formatting.php file shailu25 Formatting normal trivial 6.6 defect (bug) accepted commit 2024-03-20T17:06:23Z 2024-03-20T17:36:50Z "several typo corrections in wp-includes/formatting.php file inline comments `parethesis` -> `parenthesis` `paretheses` -> `parentheses` `puctuation` -> `punctuation`" shailu25 Old Tickets 60650 sanitize_locale_name() should reject non-strings dd32 I18N 6.2.1 lowest trivial Awaiting Review defect (bug) new 2024-02-28T05:46:20Z 2024-02-28T09:53:14Z "While debugging some locale-related oddities, I ran into `sanitize_locale_name()` happily accepting arrays. {{{ wp> sanitize_locale_name( [ 'test@test' => 'test@test' ] ); array(1) { 'test@test' => string(8) ""testtest"" } }}} This is not uncommon for WordPress functions that rely upon `preg_replace()` and a number of other sanitize functions behave similarly. I would expect an array input to return either `''` as `array( .. )` is not a valid string." dd32 Old Tickets 60646 Docs: Incorrect return type specified for get_post_custom with negative post ID value roytanck Posts, Post Types 5.8 normal trivial Future Release defect (bug) new has-patch 2024-02-27T15:11:58Z 2024-03-08T12:03:04Z "On the documentation page for `get_post_custom`, the return type section says: ""False for an invalid $post_id (non-numeric, zero, or negative value)."" https://developer.wordpress.org/reference/functions/get_post_custom/ However, the function applies `absint` to the `$post_id`. So if its value would be negative (i.e. -10), this would be converted a positive value (10), and `get_post_meta` would be called for that post. This post ID can then either exists (resulting in an array being returned) or not (empty string). Perhaps a negative numerical value should not converted? There's a potential for mix-ups? If we keep the code as is, the docs should probably specify that negative values are converted to positive." roytanck Old Tickets 60565 download_url() returns inaccurate error message on missing URL argument hinnerk HTTP API 6.4.3 normal trivial 6.6 enhancement reviewing has-patch 2024-02-16T20:53:37Z 2024-02-19T19:48:29Z "Expected: {{{#!php add( 'invalid_email', __( 'Error: There is no account with that username or email address.' ) ); $errors->add( 'invalid_email', __( 'Error: The email address is not correct.' ) ); $errors->add( 'user_email', __( 'Error: The email address is not correct.' ), array('form-field' => 'email', ) ); }}} The 1st is an error message when you try to login using an email address that is not used as a user in this site, the key is ""invalid_email"" The 2nd is an error message when you try to register a new user with an email address that is not correctly formatted, the key is ""invalid_email"" The 3rd is an error message when you try to update your personal profile with an email address that is not correctly formatted, the key is ""user_email"" So we have 2 keys and 2 messages (like ""A1 A2 B2"", should be ""A1 B2 B2"") but the message 2 is sharing both, we should clearly decide is ""invalid_email"" is when the email does not exists in our site OR when the email is not correctly formatted. I suggest that the 2nd message should share the ""user_email"" and let the ""invalid_*"" for the login stuff, like we already have ""invalidcombo"" or ""invalid_username"" that shares the same kind of issue. thanks for your reading time" juliobox Old Tickets 60732 Update old document URLs to new ones mkismy General normal minor 6.6 enhancement accepted has-patch 2024-03-08T15:53:24Z 2024-03-20T11:17:56Z "Some articles that was in https://wordpress.org/documentation/ was moved under https://developer.wordpress.org/advanced-administration/ and the old URLs has a redirect. However URLs in php files still refer to the old ones so I thought the URLs should be updated to avoid unnecessary redirects." mkismy Old Tickets 60729 YouTube embed start= chrdre Embeds 6.4.3 normal minor Awaiting Review defect (bug) new 2024-03-08T07:24:54Z 2024-03-08T07:24:54Z "Hi. I am experiencing an issue where I am seeing the video start time being either randomized or shifted for each load. Expected behavior: YouTube video embedded with a timestamp like {youtube_url}start=5064, video starts at 1:24:24 each time video is loaded on a blog post. Issue 1: if ""resize for smaller devices"" is active the start point is randomized before posting. E.g. at 5064 it start approximately 30 seconds before it should (say 5034). I shift the start time to 5094 to try and compensate, resulting in it starting earlier than previously (say 5004). I leave it at 5064 and publish the blog post, with the result of it starting at 0 seconds (incognito mode, fresh browser, logged in). Issue 2: Resize for smaller devices is turned off. Now the first time the video is loaded it starts where it is supposed to start at 5064 seconds (steps: start video -> refresh page -> start video -> refresh -> ...). But, for each time the blog post is loaded and the viewers presses play, the start time shifts back approximately 30 seconds. This does not happen in incognito mode, here it loads at the correct timestamp each time the page is reloaded and video started." chrdre Old Tickets 60721 redirect_canonical suddenly causes issues with paramter values and CDN retrovertigo Canonical 6.4.3 normal minor Awaiting Review defect (bug) new 2024-03-07T07:31:07Z 2024-03-07T07:31:07Z "Hi there, I was just wondering if anything has changed regarding https://developer.wordpress.org/reference/functions/redirect_canonical/? `https://some-domain.tld/?my_param=a+a` triggers a 301 redirect to `https://some-domain.tld/?my_param=a a` Now our CDN is set to pass URLs with `my_param` straight on to WordPress. Since that response with a 301, that's what gets cached by the CDN and causes a redirect loop. Is that something new? I hadn't had that issue before, but also not 100% sure if I sent a value like ""a+a"" before. Trying to figure out why this redirect loop happens now after years. I'll leave that ticket to be a bug, but if nothing has changed in redirect_canonical() then I guess it can just be closed. Thanks for your help." retrovertigo Old Tickets 60668 Missing translation in login_header() first parameter juliobox Login and Registration 2.1 normal minor 6.6 enhancement accepted has-patch 2024-03-01T10:22:14Z 2024-03-02T09:19:02Z "Hey there Actuel code from WP (wp-login.php): {{{#!php Typography > Font > Manage Font : While fetching the the fonts, the loader is not alight in the centre. It should have equal top bottom spacing. krupajnanda Editor normal minor Awaiting Review defect (bug) new 2024-02-23T06:06:15Z 2024-02-27T05:35:40Z "== Bug Report === Description I believe the loader that appears should have equal spacing from top to bottom. === Environment - WordPress: 6.5-beta2 - PHP: 8.0.30-dev - Server: PHP.wasm - Database: WP_SQLite_Translator (Server: 5.5 / Client: 3.40.1) - Browser: Chrome 121.0.0.0 - OS: macOS - Theme: Twenty Twenty-Four 1.0 - MU Plugins: * 0-playground.php * 0-sqlite.php * WordPress WXZ Exporter 0.1 - Plugins: * Create Block Theme 1.13.8 * Debug Bar 1.1.4 * Health Check & Troubleshooting 1.7.0 * Test Reports 1.1.0 * User Switching 1.7.3 * WordPress Importer Git loader 0.8.2 === Steps to Reproduce 1. Go to Themes > Editor 2. Click on any heading or paragraph 3. Now, open a style 4. Click on Typography 5. Click on Font > Manage Fonts icon 6. Now, observe the loader appearing here which does not equal spacing from top-bottom. === Expected Results 1. ✅ IMO it should be centre-aligned. === Actual Results 1. ❌ Uneven top-bottom spacing. === Supplemental Artifacts Add as Attachments" krupajnanda Old Tickets 60581 Redundant variable type check david.binda Shortcodes trunk normal minor 6.6 enhancement new has-patch 2024-02-20T14:07:32Z 2024-02-20T14:13:38Z After the r57597, which is ensuring that the return type of the `shortcode_parse_atts` function is always an array, the `is_array` check in [https://core.trac.wordpress.org/browser/trunk/src/wp-includes/media.php?rev=57597#L5068 get_post_galleries] function is, IMHO, no longer needed. david.binda Old Tickets 60579 Notice: Undefined index: name in /wp-includes/class-wp-roles.php on line 293 mrsize General 6.4.3 normal minor Awaiting Review defect (bug) new has-patch 2024-02-20T09:56:44Z 2024-02-21T10:26:47Z "[[Image(http://servtest.ovh/notice-wp.jpg)]] I have some notices on my dashboard, and fix the bug by modifying the function in core file, line 279 : {{{#!php roles ) ) { return; } $this->role_objects = array(); $this->role_names = array(); foreach ( array_keys( $this->roles ) as $role ) { // Vérifier si 'name' est défini pour le rôle actuel if ( isset( $this->roles[ $role ]['name'] ) ) { $this->role_objects[ $role ] = new WP_Role( $role, $this->roles[ $role ]['capabilities'] ); $this->role_names[ $role ] = $this->roles[ $role ]['name']; } else { // Gérer le cas où 'name' n'est pas défini (éventuellement définir une valeur par défaut) $this->role_objects[ $role ] = new WP_Role( $role, $this->roles[ $role ]['capabilities'] ); $this->role_names[ $role ] = 'Nom par défaut'; } } /** * Fires after the roles have been initialized, allowing plugins to add their own roles. * * @since 4.7.0 * * @param WP_Roles $wp_roles A reference to the WP_Roles object. */ do_action( 'wp_roles_init', $this ); } }}} " mrsize Old Tickets 60572 block_core_navigation_render_inner_blocks loses caret for parent items anaid General 6.4.3 normal minor Awaiting Review defect (bug) new 2024-02-19T12:18:58Z 2024-02-25T10:35:35Z "When we build a menu via the blocks editor the regular way, and create a parent menu items with a submenu, the parent menu item is (somehow) marked as a parent. It receives a caret automatically in Twenty Twenty Four theme. When programmatically creating a menu via `block_core_navigation_render_inner_blocks`, the parent-child relationship is not marked automatically. There is no dropdown caret in the parent menu item. Reproduction scenario: - Twenty Twenty Four theme - Go to Editor and manually create Navigation - Parent item ""Post A"" - Add a submenu - Child item ""Post B"" - View the website. Post A is parent, has a dropdown caret and Post B is below it Now, do it programmatically via block_core_navigation_render_inner_blocks: {{{ function block_core_navigation_render_inner_blocks($items) { return new WP_Block_List(array( new WP_Block([ 'blockName' => 'core/navigation-link', 'attrs' => [""label"" => ""Post A""], 'innerBlocks' => array(new WP_Block([ 'blockName' => 'core/navigation-link', 'attrs' => [""label"" => ""Post B""], 'innerBlocks' => [], 'innerHTML' => '', 'innerContent' => [], ])), 'innerHTML' => '', 'innerContent' => [], ]) )); } }}} View the website. There is no dropdown caret applied to the parent post (Post A)" anaid Old Tickets 60519 Link widget always displays rating xurxodiz Widgets 6.4.3 normal minor Awaiting Review defect (bug) new 2024-02-13T02:19:47Z 2024-02-13T11:25:56Z "Using the latest WP version, when you add links through the Link Manager and use a Widget to display them in e.g. a sidebar, the links always show the rating regardless of the widget setting ""Show rating"" being unchecked. You can test it simply by creating a link, adding it to a link widget and placing it in a widget area. I've traced the problem to a gap in logic in the 'update' function of /wp-includes/widgets/class-wp-widget-links.php 'rating' setting is not taken care of when updating the instance settings, so it is always set to 1 as default during $instance array update. It can be fixed by adding the following line after line 114: {{{#!php $instance['rating'] = ! empty( $new_instance['rating'] ) ? (int) $new_instance['rating'] : 0; }}} Same as it is done in line 114 for 'limit' setting. Thanks." xurxodiz Old Tickets 60468 "WP_Query matches any post when query parameter ""name"" is an empty string" miyarakira Query normal minor Awaiting Review defect (bug) new 2024-02-07T17:25:07Z 2024-02-07T17:25:07Z "`WP_Query` matches any post when query parameter `name` is an empty string. For example: {{{ $query = new WP_Query([ 'name' => '', 'post_type' => 'post', 'posts_per_page' => 1, ]); var_dump($query->posts); }}} The same is true for `get_posts()` which uses `WP_Query` internally. This might be the intended behavior, but it's unintuitive and surprising. It can (did) cause a bug in user code that expects such a query to return no results." miyarakira Old Tickets 60429 Deprecated: Implicit conversion from float to int loses precision retrovertigo I18N normal minor Awaiting Review defect (bug) new 2024-02-03T02:42:48Z 2024-03-07T09:10:41Z "**Describe the bug** Running WordPress 6.4.3 this PHP warning comes up: {{{ Deprecated: Implicit conversion from float 4294967295 to int loses precision in /var/www/html/wp-includes/pomo/mo.php on line 208 }}} **To Reproduce** 1. Run WordPress 6.4.3 2. Switch on WP_DEBUG and WP_DEBUG_DISPLAY 3. Load the site 4. See warning printed out See https://github.com/LeoColomb/pomo/issues/16 for a screenshot. " retrovertigo Old Tickets 60427 "small ""ü"" in page as anchor causes a mistake when try to save (wrong JSON-response)" gregordoehnert Posts, Post Types 6.4.3 normal minor Awaiting Review defect (bug) assigned 2024-02-02T19:00:04Z 2024-02-02T19:00:04Z "I tried to make some changes on a page with pre-block content. It contains some anchors and everytime I tried to save the page after some small changes I got the alert ""Aktualisierung fehlgeschlagen. Die Antwort ist keine gültige JSON-Antwort."". The well know answer that there is something wrong with JSON. I found the reason is that in the anchors where small ""ü"" (a german umlaut). It happened with the anchor target as well as with the anchor link. And at the same time there are some anchors with other umlauts, namely with a big ""Ü"", which do not cause the issue." gregordoehnert Old Tickets 60370 Test Tools: Clarifying reusable workflows in Github CI youknowriad Build/Test Tools normal minor Awaiting Review enhancement new 2024-01-29T12:59:58Z 2024-01-29T13:00:51Z "While working on https://github.com/WordPress/wordpress-develop/pull/5922 we had to increase the timeout limit for one of the reusable workflows of the repository: phpunit-tests-run.yml The problem is that the update were not being taken into consideration in the PR because we explicitly refer to the ""trunk"" version of that workflow in `phpunit-tests.yml` Github does offer a way to use relative links to other workflows from the same repository (instead of URLs), ti would have solved the issue there but it comes with a set of tradeoffs that need to be considered. For example, updating Node.JS version in the reusable workflow would need to be done for all the previous branches that WP still supports while forcing the use of the ""trunk"" workflow means we can update in a single place. The initial discussion about this happened on the following Slack Thread https://wordpress.slack.com/archives/C02RQBWTW/p1706523051675219 I'm opening this ticket so we can track this discussion and potentially address it (or not). " youknowriad Yesterday 60855 wp_mkdir_p can error when simultaneous requests attempt to create the same directory grantmkin General normal normal Awaiting Review defect (bug) new 2024-03-27T18:54:56Z 2024-03-27T18:54:56Z "When two requests happen at the same time that both attempt to create a new directory with `wp_mkdir_p`, a race condition can occur that results in one request creating the directory and the other triggering an error. The issue happens when both of the requests reach the `file_exists` check at nearly the same time: https://github.com/WordPress/wordpress-develop/blob/e73db80196c0044503633bda41511258a9516a8b/src/wp-includes/functions.php#L2059 The directory does not exist yet, so the check fails and both requests continue execution of the function. Then the requests are in a race to get to the code where the directory is actually created using `mkdir`: https://github.com/WordPress/wordpress-develop/blob/e73db80196c0044503633bda41511258a9516a8b/src/wp-includes/functions.php#L2082 The first request to reach that point will successfully create the directory and return true, the second will return false when `mkdir` fails because the directory already exists. This causes an error upstream in the code because `wp_mkdir_p` is expected to return true when the directory already exists. Found when testing the font library on new installs, see https://github.com/WordPress/gutenberg/issues/59023#issuecomment-2022746082" grantmkin Yesterday 60854 Block Hooks: Allow insertion as first or last child of Template Part block Bernhard Reiter General normal normal Future Release enhancement new 2024-03-27T17:11:00Z 2024-03-27T17:11:00Z "In [https://github.com/WordPress/gutenberg/pull/57754 GB#57754], a mechanism was introduced to allow insertion of hooked blocks into the Navigation block, in particular as its `first_child` or `last_child`, thus fixing #59743. The latter was achieved by storing the `ignoredHookedBlocks` array in the corresponding `wp_navigation` post's post meta (instead of a `metadata` attribute on the anchor block). This technique could be applied to other blocks that fetch their inner blocks from a separate DB record (rather than having them stored inline); these are sometimes referred to as ""controlled inner blocks"". There might not be a large number of container blocks with controlled inner blocks into which we'd want to inject hooked blocks; however, there's at least one obvious example: The Template Part block. It's currently not possible to inject a hooked block as its first or last child. Note however that the code that inserts hooked blocks into the Navigation block's `wp_navigation` post objects currently lives in Gutenberg. Consequently, it's advisable to absorb that code into Core first (i.e. to fix #60759) before tackling this issue." Bernhard Reiter Yesterday 60853 Apostrophe is not displaying correct in German when using the Plugin WPML kasteelkevakanties I18N 6.4.3 normal normal Awaiting Review defect (bug) new 2024-03-27T16:31:55Z 2024-03-27T16:58:34Z "The apostrophe ' is not displaying correct in German using the WPML plugin. If you type the apostrophe (') it is not displayed at the top but instead it is at the bottom. This is not correct. I have contacted WPML for the issue, but they say that there is nothing they can do, because WordPress shows Apostrophes as per German standards on the front." kasteelkevakanties Yesterday 60852 Block Templates: Make conditional tags work when processing content for REST API Bernhard Reiter General normal normal Future Release feature request new 2024-03-27T16:26:53Z 2024-03-27T16:26:53Z "@ndiego brought up to me that it might be desirable to make [https://developer.wordpress.org/themes/basics/conditional-tags/ conditional tags] such as [https://developer.wordpress.org/reference/functions/is_singular/ `is_singlular`] or [https://developer.wordpress.org/reference/functions/is_user_logged_in/ `is_user_logged_in`] work in Block Hook related filters ([`hooked_block_types`](https://developer.wordpress.org/reference/hooks/hooked_block_types/), `hooked_block`, `hooked_block_{$hooked_block_type}`). These conditional tags will probably work on the frontend; the problem is that they ''won't'' work in the editor, which is why we it is not recommended to use them for hooked blocks, as they would produce a mismatch between what's in on the frontend and what's in the editor (e.g. a block that's conditionally hooked based on the return value of `is_singular` might correctly show up on the frontend, but not in the editor when rendering the single posts template). To fix this, we'd likely need to set the relevant information during processing of a block template's content that precedes sending it to the client via the REST API (i.e. probably somewhere inside of [https://developer.wordpress.org/reference/functions/get_block_template/ `get_block_template()`] and [https://developer.wordpress.org/reference/functions/get_block_templates/ `get_block_templates()`] or inside the functions that they call). In theory, the relevant information should be available, as the server knows which template(s) to respond with to a given request, and they are given as an argument (`$id` or `$query`, respectively) to the aforementioned functions. However, implementing the fix is probably still non-trivial for Template Hierarchy related conditional tags, as they all return values based on the global `$wp_query` object; we'd thus need to set properties on that global during block template processing, or extend all Template Hierarchy related conditional tags to account for this scenario. I'm not quite sure if this would benefit any code other than Block Hooks filters. Dynamic Blocks can largely use conditional tags already, since their PHP code is typically only run on the frontend, but not for populating the editor." Bernhard Reiter Yesterday 60851 Bulk edit and quickedit needs more space for longer translations zodiac1978 Quick/Bulk Edit 6.3 normal normal Awaiting Review enhancement new 2024-03-27T13:34:07Z 2024-03-27T13:34:07Z "In #25753 we introduced more space (5em was the default, we needed 7em) for `.locale-de-de .inline-edit-row fieldset label span.title` in the German locale. After that, #28303 added this change to the new formal locale `.locale-de-de-formal` But in #33212 this was removed again by @ocean90 and the new default was 6em. This wasn't enough for ru_RU which got 8em. In WordPress 6.2 the string ""Parent"" was translated with ""Eltern"" and for this 6em was okay: https://translate.wordpress.org/projects/wp/6.2.x/admin/de/default/?filters%5Bstatus%5D=either&filters%5Boriginal_id%5D=16083988&filters%5Btranslation_id%5D=105887217 But in WordPress 6.3 this was changed to ""Übergeordnet"": https://translate.wordpress.org/projects/wp/6.3.x/de/default/?filters%5Bstatus%5D=either&filters%5Boriginal_id%5D=16507337&filters%5Btranslation_id%5D=109126351 Now the translation is too long and 6em space is not sufficient anymore. Re-adding the 7em width would solve this issue again. There is also the same problem with the Polish locale which has a very long translation: https://translate.wordpress.org/projects/wp/dev/pl/default/?filters%5Bstatus%5D=either&filters%5Boriginal_id%5D=16087645&filters%5Btranslation_id%5D=106835593" zodiac1978 Yesterday 60850 Localize script not working in WordPress 6.5-RC3-57856 dev28 Script Loader trunk normal normal Awaiting Review defect (bug) assigned close 2024-03-27T08:40:18Z 2024-03-27T08:54:21Z "During my testing of the plugin, I encountered an issue with the localized script while using the 6.5 beta version. Specifically, I noticed a JavaScript error that prevented the script from working as intended. However, I would like to clarify that this issue is not present in the current version, and the localized script works flawlessly without any errors. https://prnt.sc/zFevup7B2iU4 https://prnt.sc/YR0FXm_l__D9 **System info: ** ` ### wp-core ### version: 6.5-RC3-57856 site_language: en_US user_language: en_US timezone: +05:00 permalink: /%postname%/ https_status: false multisite: false user_registration: 0 blog_public: 0 default_comment_status: open environment_type: production user_count: 1 dotorg_communication: true ### wp-paths-sizes ### wordpress_path: /home/worldwebusers/phpdev3/public_html/wordpressbeta wordpress_size: 54.67 MB (57325890 bytes) uploads_path: /home/worldwebusers/phpdev3/public_html/wordpressbeta/wp-content/uploads uploads_size: 1.35 MB (1419920 bytes) themes_path: /home/worldwebusers/phpdev3/public_html/wordpressbeta/wp-content/themes themes_size: 36.91 MB (38701146 bytes) plugins_path: /home/worldwebusers/phpdev3/public_html/wordpressbeta/wp-content/plugins plugins_size: 6.99 MB (7332893 bytes) database_size: 2.75 MB (2883584 bytes) total_size: 102.68 MB (107663433 bytes) ### wp-active-theme ### name: Twenty Twenty-Four (twentytwentyfour) version: 1.0 author: the WordPress team author_website: https://wordpress.org parent_theme: none theme_features: core-block-patterns, post-thumbnails, responsive-embeds, editor-styles, html5, automatic-feed-links, widgets-block-editor, block-templates theme_path: /home/worldwebusers/phpdev3/public_html/wordpressbeta/wp-content/themes/twentytwentyfour auto_update: Disabled ### wp-themes-inactive (13) ### Twenty Eleven: version: 4.5, author: the WordPress team, Auto-updates disabled Twenty Fifteen: version: 3.6, author: the WordPress team, Auto-updates disabled Twenty Fourteen: version: 3.8, author: the WordPress team, Auto-updates disabled Twenty Nineteen: version: 2.7, author: the WordPress team, Auto-updates disabled Twenty Seventeen: version: 3.5, author: the WordPress team, Auto-updates disabled Twenty Sixteen: version: 3.1, author: the WordPress team, Auto-updates disabled Twenty Ten: version: 4.0, author: the WordPress team, Auto-updates disabled Twenty Thirteen: version: 4.0, author: the WordPress team, Auto-updates disabled Twenty Twelve: version: 4.1, author: the WordPress team, Auto-updates disabled Twenty Twenty: version: 2.5, author: the WordPress team, Auto-updates disabled Twenty Twenty-One: version: 2.1, author: the WordPress team, Auto-updates disabled Twenty Twenty-Three: version: 1.3, author: the WordPress team, Auto-updates disabled Twenty Twenty-Two: version: 1.6, author: the WordPress team, Auto-updates disabled ### wp-plugins-active (2) ### Loan Calculator WP: version: 1.2.3, author: World Web Technology, Auto-updates disabled Loan Calculator WP Pro: version: 1.0.0, author: World Web Technology, Auto-updates disabled ### wp-plugins-inactive (5) ### Akismet Anti-spam: Spam Protection: version: 5.3.2, author: Automattic - Anti-spam Team, Auto-updates disabled Classic Editor: version: 1.6.3, author: WordPress Contributors, Auto-updates disabled Hello Dolly: version: 1.7.2, author: Matt Mullenweg, Auto-updates disabled Reviews Sorted: version: 2.3.10, author: Reviews Sorted, Auto-updates disabled WP Custom Post Type Filter: version: 1.0.0, author: WWT, Auto-updates disabled ### wp-media ### image_editor: WP_Image_Editor_Imagick imagick_module_version: 1809 imagemagick_version: ImageMagick 7.1.1-29 Q16-HDRI x86_64 21991 https://imagemagick.org imagick_version: 3.7.0 file_uploads: 1 post_max_size: 512M upload_max_filesize: 512M max_effective_size: 512 MB max_file_uploads: 20 imagick_limits: imagick::RESOURCETYPE_AREA: 62 GB imagick::RESOURCETYPE_DISK: 9.2233720368548E+18 imagick::RESOURCETYPE_FILE: 768 imagick::RESOURCETYPE_MAP: 31 GB imagick::RESOURCETYPE_MEMORY: 16 GB imagick::RESOURCETYPE_THREAD: 1 imagick::RESOURCETYPE_TIME: 0 imagemagick_file_formats: 3FR, 3G2, 3GP, AAI, AI, APNG, ART, ARW, ASHLAR, AVI, AVS, BAYER, BAYERA, BGR, BGRA, BGRO, BIE, BMP, BMP2, BMP3, BRF, CAL, CALS, CANVAS, CAPTION, CIN, CIP, CLIP, CMYK, CMYKA, CR2, CR3, CRW, CUBE, CUR, CUT, DATA, DCM, DCR, DCRAW, DCX, DDS, DFONT, DNG, DOT, DPX, DXT1, DXT5, EPDF, EPI, EPS, EPS2, EPS3, EPSF, EPSI, EPT, EPT2, EPT3, ERF, EXR, FARBFELD, FAX, FF, FILE, FITS, FL32, FLV, FRACTAL, FTP, FTS, FTXT, G3, G4, GIF, GIF87, GRADIENT, GRAY, GRAYA, GROUP4, GV, HALD, HDR, HISTOGRAM, HRZ, HTM, HTML, HTTP, HTTPS, ICB, ICO, ICON, IIQ, INFO, INLINE, IPL, ISOBRL, ISOBRL6, J2C, J2K, JBG, JBIG, JNG, JNX, JP2, JPC, JPE, JPEG, JPG, JPM, JPS, JPT, JSON, K25, KDC, KERNEL, LABEL, M2V, M4V, MAC, MAP, MASK, MAT, MATTE, MEF, MIFF, MKV, MNG, MONO, MOV, MP4, MPC, MPEG, MPG, MPO, MRW, MSL, MSVG, MTV, MVG, NEF, NRW, NULL, ORA, ORF, OTB, OTF, PAL, PALM, PAM, PANGO, PATTERN, PBM, PCD, PCDS, PCL, PCT, PCX, PDB, PDF, PDFA, PEF, PES, PFA, PFB, PFM, PGM, PGX, PHM, PICON, PICT, PIX, PJPEG, PLASMA, PNG, PNG00, PNG24, PNG32, PNG48, PNG64, PNG8, PNM, POCKETMOD, PPM, PS, PS2, PS3, PSB, PSD, PTIF, PWP, QOI, RADIAL-GRADIENT, RAF, RAS, RAW, RGB, RGB565, RGBA, RGBO, RGF, RLA, RLE, RMF, RSVG, RW2, SCR, SCT, SFW, SGI, SHTML, SIX, SIXEL, SPARSE-COLOR, SR2, SRF, STEGANO, STRIMG, SUN, SVG, SVGZ, TEXT, TGA, THUMBNAIL, TIFF, TIFF64, TILE, TIM, TM2, TTC, TTF, TXT, UBRL, UBRL6, UIL, UYVY, VDA, VICAR, VID, VIFF, VIPS, VST, WBMP, WEBM, WEBP, WMF, WMV, WMZ, WPG, X, X3F, XBM, XC, XCF, XPM, XPS, XV, XWD, YAML, YCbCr, YCbCrA, YUV gd_version: 2.3.3 gd_formats: GIF, JPEG, PNG, WebP, BMP, AVIF, XPM ghostscript_version: 9.25 ### wp-server ### server_architecture: Linux 3.10.0-1160.114.2.el7.x86_64 x86_64 httpd_software: Apache/2.4.6 php_version: 8.1.27 64bit php_sapi: cgi-fcgi max_input_variables: 1500 time_limit: 300 memory_limit: -1 max_input_time: 600 upload_max_filesize: 512M php_post_max_size: 512M curl_version: 7.29.0 NSS/3.90 suhosin: false imagick_availability: true pretty_permalinks: true htaccess_extra_rules: false current: 2024-03-27T08:25:43+00:00 utc-time: Wednesday, 27-Mar-24 08:25:43 UTC server-time: 2024-03-27T13:25:38+05:00 ### wp-database ### extension: mysqli server_version: 5.7.36 client_version: mysqlnd 8.1.27 max_allowed_packet: 1073741824 max_connections: 151 ### wp-constants ### WP_HOME: undefined WP_SITEURL: undefined WP_CONTENT_DIR: /home/worldwebusers/phpdev3/public_html/wordpressbeta/wp-content WP_PLUGIN_DIR: /home/worldwebusers/phpdev3/public_html/wordpressbeta/wp-content/plugins WP_MEMORY_LIMIT: 2048M WP_MAX_MEMORY_LIMIT: -1 WP_DEBUG: false WP_DEBUG_DISPLAY: false WP_DEBUG_LOG: false SCRIPT_DEBUG: false WP_CACHE: false CONCATENATE_SCRIPTS: undefined COMPRESS_SCRIPTS: undefined COMPRESS_CSS: undefined WP_ENVIRONMENT_TYPE: Undefined WP_DEVELOPMENT_MODE: undefined DB_CHARSET: utf8 DB_COLLATE: undefined ### wp-filesystem ### wordpress: writable wp-content: writable uploads: writable plugins: writable themes: writable `" dev28 Yesterday 60849 Meta is saved twice in auto-draft mode 79mplus General normal normal Awaiting Review defect (bug) new has-patch 2024-03-27T06:02:24Z 2024-03-28T02:35:17Z "Steps to reproduce the bug: 1. Go to Add new page for any post type. 2. Add the first custom field (can be new or existing) » Click Add Custom Field 3. Add a second custom field (can be new or existing) » optionally click Add Custom Field 4. Click Save/Update. 5. Notice that the first custom field entered has been saved twice. " 79mplus Yesterday 60847 Style Engine: continue get_classnames loop after adding the default classname ramonopoly Editor trunk normal normal Awaiting Review enhancement new has-patch 2024-03-27T00:23:59Z 2024-03-27T00:24:16Z "The `WP_Style_Engine` class has a method get_classnames that builds classnames. It loops over an array to add each classname. There should be a `continue` in the loop after adding the default classname. Syncs changes from: https://github.com/WordPress/gutenberg/pull/60153 **Why?** Because we've added the first classname by virtue of testing for `true`. The following tests all expect a string: `get_slug_from_preset_value` only works on a string, not a boolean." ramonopoly 2 Days Ago 60846 When creating a new template, the Choose a pattern screen doesn't honor the `template_hierarchy` filter aljullu Editor 6.1 normal normal Future Release defect (bug) new has-patch 2024-03-26T12:49:19Z 2024-03-26T17:43:46Z "Currently, in blocks themes it's possible to use the {{{${type}_template_hierarchy}}} filter to alter the template hierarchy. However, those filters are not taken into consideration by the `Choose a pattern` popup screen that appears when creating a new template in the Site Editor, causing a mismatch between the editor and the frontend. **Steps to reproduce** 1. Add this code snippet to your site. You can use the [https://wordpress.org/plugins/code-snippets/ Code Snippets plugin]: {{{#!php Editor > Templates > Add New Template > Pages and select any page. 4. Notice in the Choose a pattern screen the suggested content to start with is from the Page template, instead of the Single template. Expected result: the Site Editor should follow the filter in the same way the frontend does. So in step 4 the Single template should appear in the Choose a pattern screen, instead of the Page template. **Actual result screenshot** [[Image(https://github.com/WordPress/gutenberg/assets/3616980/7598c990-1a64-4df3-b509-47d83fc59239)]] **Expected result screenshot** [[Image(https://github.com/WordPress/gutenberg/assets/3616980/fff09fd9-5600-4969-89f6-dab6523f50de)]] **Real life use case** In WooCommerce, there are Product Category and Product Tag templates. Currently, they fall back to the default WordPress taxonomy templates, but we would like them to fall back to a custom WooCommerce template named Product Catalog. While this would work in the frontend, the experience would be confusing in the editor, as creating a Product Category archive template wouldn't suggest the same ""starting point"" from what's seen in the frontend." aljullu 3 Days Ago 60842 PHPunit tests for wp_check_invalid_utf8 pbearne Build/Test Tools normal normal Awaiting Review defect (bug) new 2024-03-25T20:25:12Z 2024-03-25T20:25:12Z pbearne 3 Days Ago 60841 Create token lookup class. dmsnell General trunk normal normal Awaiting Review feature request new has-patch 2024-03-25T17:13:32Z 2024-03-25T17:16:14Z "In the HTML API it would be nice to perform spec-compliant attribute encoding and decoding. This requires a divergence from current Core behavior; namely, to rely on the set of defined named character references rather than a list that has been combined over time. Specifically when parsing HTML character references I keep finding the need for two operations: - is this substring an HTML character reference? - what, if any, is the next character reference in this string at this offset? For the first question it's possible to use `in_array( $substring, $character_reference_names, true )`, even though this may not be optimal. It's a reasonable first step. For the second question I'm unaware of a strong implementation available in PHP or WordPress. The change motivating this is moving from //split a string into potential character references and non-character-reference contents and then check if each one is valid// and towards a single-pass parser that is less likely to be confused by strings that are almost character references. There is a potential for improving the speed of handling character references, but it is not a driving goal. {{{#!php read_token( $html, $at ); if ( false !== $name ) { $decoded .= substr( $html, $was_at, $was_at - $at ) . entity_lookup( 'attribute', $name ); $at += strlen( $name ); } else { ++$at; } }}} https://github.com/WordPress/wordpress-develop/pull/5337/files#diff-e2bc0d3d983191acdb2effe67311dc37666eae53d59983281b34a7b4eed238acR1124-R1163 A final need involves mapping a token to a value, but this may be best relegated to another class or application code. For example, mapping from named character reference to UTF-8 bytes representing the corresponding Code Point. ---- My proposal is adding a new class `WP_Token_Set` providing at least two methods for normal use: - `contains( $token )` returns whether the passed string is in the set. - `read_token( $text, $offset = 0 )` indicates if the character sequence starting at the given offset in the passed string forms a token in the set, and if so, returns the longest matching sequence. It also provides utility functions for pre-computing these classes, as they are designed for relatively-static cases where the actual code is intended to be generated dynamically, but stay static over time. For example, HTML5 defines the set of named character references and indicates that the list //shall not// change or be expanded. [https://html.spec.whatwg.org/#named-character-references-table HTML5 spec] - `static::from_array( array $words )` generates a new token set from the given array of tokens. - `to_array()` dumps the set of tokens into an array of string tokens. - `static::from_precomputed_table( $table )` instantiates a token set from a precomputed table, skipping the computation for building the table and sorting the tokens. - `precomputed_php_source_table()` generates PHP source code which can be loaded with the previous static method for maintenance of the core static token sets. ---- Having a semantic class for this work provides an opportunity to optimize lookup without demanding that the user-space (or Core-space) code change. There are more methods that could be useful but which aren't included in the proposal because they haven't been necessary: - `add( $token )` and `remove( $token )` for dynamically altering the table. Also, this is currently limited to store tokens of byte-length <= 256 for practical implementation details (it has not been necessary to store longer tokens). ## How can I provide feedback? I'm happy to do all the work of documenting the class, adding tests, and cleaning up the code for inclusion. What I'd appreciate from you is feedback on the idea, the naming of the class and the methods, whether you have considered other ideas similar to this before, feedback on the general approach taken in the linked PRs. Thank you all." dmsnell 3 Days Ago 60840 Composer: update to WordPressCS 3.1.0 jrf Build/Test Tools trunk normal normal 6.6 task (blessed) new 2024-03-25T16:58:01Z 2024-03-25T17:07:33Z "WordPressCS 3.1.0 has just been released and is fully prepared for the WP 6.5 release. It is recommended for WP Core to update as soon as convenient. The impact on existing Core code is expected to be low to non-existent, but the release does provide more safeguards for the future. Refs: * https://github.com/WordPress/WordPress-Coding-Standards/releases/tag/3.1.0 * https://github.com/WordPress/WordPress-Coding-Standards/compare/3.0.1...3.1.0 Previous: #59161 Props: @garyj, @dingo_d, @rodrigosprimo, @chouby, @westonruter @bjorsch" jrf 3 Days Ago 60839 WordPress issue > WordPress 6.5 RC3 and 6.4.3, crop feature not working: Invalid Paramter vivekawsm General 6.4.3 normal normal Awaiting Review defect (bug) new 2024-03-25T11:12:30Z 2024-03-25T11:12:30Z "Description The crop feature is not working and showing error when clicking on the apply option. Issue existing on both WordPress 6.5 RC3 and 6.4.3. === Environment - WordPress: 6.5-RC3-57872 - PHP: 8.0.30 - Server: TasteWP-S4 Official/3.0.0 - Database: mysqli (Server: 8.0.32-0ubuntu0.20.04.2 / Client: mysqlnd 8.0.30) - Browser: Firefox 123.0 (Windows 10/11) - Theme: Twenty Twenty-Four 1.0 - MU-Plugins: None activated - Plugins: * WordPress Beta Tester 3.5.5 === Expected Results Crop should work when clicked on the apply option === Actual Results Invalid Paramter error showing when clicked on the apply option Attach video url for reference : https://www.loom.com/share/2b35d8d654284820b67b031e9a8e6d4b" vivekawsm 4-7 Days Ago 60836 Static homepage display settings: the posts page is not being assigned to the Blog Home template or Index template west7 Themes trunk normal normal 6.5.1 defect (bug) new 2024-03-24T23:44:19Z 2024-03-25T11:10:20Z "When I use 6.5 Beta Tester plugin and change to static homepage display, Home and Blog, the blog page is assigned to the Pages template, not the Blog Home or Index template. I don't have any other plugins installed, only Beta Tester. I am using Local and tried both the Twenty Twenty-Two and Twenty Twenty-Four themes. The expected output when changing to static homepage display is that the posts page will be assigned to the Blog Home template or Index template. " west7 4-7 Days Ago 60835 Fix and improve handling of uploading of font files azaozz Upload normal normal 6.6 defect (bug) new 2024-03-24T20:04:05Z 2024-03-24T23:12:22Z "Follow up to #60652 and [57868]. As discussed at https://github.com/WordPress/wordpress-develop/pull/6211 the code that enables uploading of font files by replacing the output of `wp_handle_upload()` by using the `upload_dir` filter is not the best solution. In addition it implements nested filters that can be pretty confusing so understand and/or use for plugin and theme authors. A more straightforward solution is needed for this and similar cases in the future." azaozz 4-7 Days Ago 60834 separators do not always show on page lyleleverich Editor normal normal Awaiting Review defect (bug) new reporter-feedback 2024-03-24T18:43:45Z 2024-03-25T08:09:52Z It appears that separators do not show when the page is viewed under some conditions. We suspect it is when a photo is loaded just above the separator after the page has been saved. Deleting the separator and replacing it does not work. Adding a paragraph between the separators and photo does not work. Only adding a second separator will result in a single separator to show on the viewed page. lyleleverich 4-7 Days Ago 60833 WordPress menu looks like a fail after update to 6.4.3 vizvizka Themes normal normal Awaiting Review defect (bug) new reporter-feedback 2024-03-24T17:52:17Z 2024-03-26T17:36:23Z After I updated WordPress, the menu looks very different and ugly on top right side. I tried to change the menu's appearance via block editor, I deleted the menu items and reenetered them. The same thing happens every time. Is it a bug or problem about my side? vizvizka 4-7 Days Ago 60832 add_meta_box breaks on plugin sub-pages if add_menu_page has dynamic title malcure Menus 6.4.3 normal normal Awaiting Review defect (bug) new has-patch 2024-03-24T06:31:45Z 2024-03-27T17:06:26Z "add_meta_box breaks on plugin sub-pages if add_menu_page has dynamic title. Poc and fix attached. The reason is that if the menu title is dynamic like 'My Plugin ' . $count . ''" malcure 4-7 Days Ago 60831 Investigate flakey `Tests_Admin_wpSiteHealth ::test_object_cache_thresholds()` test swissspidy Site Health normal normal Awaiting Review defect (bug) new 2024-03-23T11:33:04Z 2024-03-23T11:33:04Z "The following two tests / datasets ''sometimes'' fail for certain hosting providers: {{{ Tests_Admin_wpSiteHealth::test_object_cache_thresholds::test_object_cache_thresholds with data set #2 Tests_Admin_wpSiteHealth::test_object_cache_thresholds with data set #2 ('terms_count', 1) Failed asserting that false is true. /tmp/wp-test-runner/tests/phpunit/tests/admin/wpSiteHealth.php:482 Tests_Admin_wpSiteHealth::test_object_cache_thresholds::test_object_cache_thresholds with data set #3 Tests_Admin_wpSiteHealth::test_object_cache_thresholds with data set #3 ('options_count', 100) Failed asserting that false is true. /tmp/wp-test-runner/tests/phpunit/tests/admin/wpSiteHealth.php:482 }}} Example: https://make.wordpress.org/hosting/test-results/r57871/digitoimistodude-r57871/ Maybe these are just issues with that particular host, but perhaps there's also a opportunity to make the tests more robust. So let's try to look into it to find out more." swissspidy 4-7 Days Ago 60830 Advanced Editor Tools - SIMPLE SORT robtcyn Editor 5.9.2 normal normal Awaiting Review enhancement new 2024-03-22T22:22:40Z 2024-03-23T05:54:32Z "Under the Edit button, add SORT SELECTED TEXT. Here is an example of what I am trying to sort. I currently copy it to Libre Office, do a sort, then return it to the web page - which is: https://xml3.com/songs/songs-for-smaller-scale-ukuleles/ • Achy Breaky Heart • Banana Boat Song • Billy Boy • Hush Little Baby • It Ain’t Gonna Rain No More • Jambalaya (On the Bayou) • Skip to my Lou • Tom Dooley • Tulsa Time • Waltz Across Texas • You Never Can Tell • Born in the USA • Everyday People • Feelin Alright " robtcyn 4-7 Days Ago 60829 Improve shortcode support for link fields Code Muffin Editor normal normal Awaiting Review enhancement new 2024-03-22T16:55:25Z 2024-03-26T16:44:12Z "Using a shortcode in a link field currently prepends {{{http://}}} to the field. They still render on the frontend, but this makes them functionally unusable because the resulting href is always prepended by that {{{http://}}}. This is due to the JS function {{{correctURL}}} (in [https://github.com/WordPress/wordpress-develop/blob/4.4/src/wp-includes/js/wplink.js#L88 wp-includes/js/wplink.js]), which adds it if the URL does not start with {{{http:}}}, {{{https:}}}, {{{?}}} {{{#}}} or {{{/}}}. I suggest adding {{{[}}} to that list of allowed characters, so shortcodes can be used too." Code Muffin 4-7 Days Ago 60828 tests for wp_check_browser_version pbearne Build/Test Tools normal normal Awaiting Review defect (bug) new has-patch 2024-03-22T16:30:47Z 2024-03-22T16:38:00Z pbearne 4-7 Days Ago 60827 Patterns menu item, put back the context parameter. kebbet I18N trunk normal normal 6.5.1 defect (bug) reopened has-patch 2024-03-22T14:14:46Z 2024-03-27T22:44:53Z "This is a follow up for the next minor release, 6.5.1 and the previous ticket #60825 The commit message by @audrasjb in [57864] stated: `A follow-up changeset will be needed to replace the current __() function with _x() and put back the context parameter.` This is what should replace the call to `__()`: `_x( 'Patterns', 'site editor menu item' )`" kebbet 4-7 Days Ago 60826 Fix incorrect use of add_theme_support( 'editor-style(s)' ) Soean Themes normal normal Awaiting Review defect (bug) new has-patch 2024-03-22T12:13:58Z 2024-03-22T20:51:21Z "In the functions `add_editor_style()`, `remove_editor_styles()` and `remove_theme_support()` the Theme `$feature` parameter`editor-style` is used instead of `editor-styles`. It should be: `add_theme_support( 'editor-styles' );` See docs: https://developer.wordpress.org/block-editor/how-to-guides/themes/theme-support/#editor-styles See code docs: https://github.com/WordPress/wordpress-develop/blob/8d0aed455b1790c5d51386f7675d9e8d68e48edf/src/wp-includes/theme.php#L2672" Soean 4-7 Days Ago 60824 Add filters to to wp_verify_nonce() tymotey Security trunk normal normal Awaiting Review enhancement new has-patch 2024-03-22T06:32:01Z 2024-03-22T10:01:55Z "Allow a more customizable way to interact with wp_verify_nonce(). Improvements are meant to allow plugins to be able to modify/log the nonce sent, also allowing easy control on the return value in each situation(verify 1, verify 2, nonce failed to verify)." tymotey Last Week 60822 Fix Docker environment for ARM devices in WP <= 6.3 desrosj Build/Test Tools normal normal 6.6 defect (bug) new has-patch 2024-03-21T19:28:02Z 2024-03-21T19:28:31Z "Follow up to #59930. The MySQL Docker containers for versions 5.7 and below do not support recent Apple silicone chips. Previously this was fixed by including `amd64/` as a prefix to the image name in the `docker-compose.yml` file (see [54096]). However, this stopped working after recent updates to Docker Desktop. In `trunk` and 6.4/6.5 branches, [57568] fixed the issue by bumping the default version of MySQL to 8.0 and removed the `amd64/` prefix. Since raising that default version is not a good solution for older branches, a different one needs to be committed to 6.3 and backported. A [https://github.com/WordPress/wordpress-develop/pull/5843 PR on GitHub is open with the proposed fix for the older branches]." desrosj Last Week 60820 Improve wording of the 'Login Details' mail pixelverbieger Text Changes normal normal Awaiting Review enhancement assigned reporter-feedback 2024-03-21T15:26:56Z 2024-03-22T11:15:38Z "When creating a new user (as admin), they receive a very short e-mail in which a user name and a link are simply sent without comment. I would like the text of this e-mail to be a little more informative. The password reset emails are a good example. There we write ""Someone has requested a password reset for the following account"", state the site name, the user name and then write the link. The text of the login detail mail could read: ""Someone has created an account for you in their website foo.com. Your username is foo.name. To set your password, visit the following address: ..."" " pixelverbieger Last Week 60817 Investigate potentially failing `test_should_set_chmod()` test swissspidy Build/Test Tools normal normal Future Release defect (bug) new dev-feedback 2024-03-21T09:46:06Z 2024-03-21T09:46:06Z "This is a follow-up to #57774, which added a suite of new tests in 6.5. Since that milestone is soon closing, I am opening this to further investigate the `\Tests_Filesystem_WpFilesystemDirect_Mkdir::test_should_set_chmod()` test, which seems to fail on a certain host. See https://make.wordpress.org/hosting/test-results/r57860/wpmudevbot-r57860/ This could either be an issue with the host, core, or simply the test itself. This test is also the last one with an `is_windows()` check. Would be good if we could get rid of this env-specific check and maybe rely on comparing with `FS_CHMOD_DIR` instead." swissspidy Last Week 60816 Attachment pages conflicting with actual pages ayeshamalik Permalinks 6.4.3 normal normal Awaiting Review defect (bug) new reporter-feedback 2024-03-21T09:04:38Z 2024-03-22T22:35:13Z The attachment pages are conflicting with the slug of the actual website's pages. What nonsense this is, It is totally frustrating. I don't know what is going on at the WordPress core team. ayeshamalik Last Week 60809 .editor-styles-wrapper styles opacity changed killerbeez Editor trunk normal normal 6.5.1 defect (bug) new reporter-feedback 2024-03-20T03:57:30Z 2024-03-25T23:27:02Z "In WordPress 6.4.3, the block editor automatically applies this to `.editor-styles-wrapper`: {{{ .editor-styles-wrapper.mce-content-body, .editor-styles-wrapper.editor-styles-wrapper { opacity: 1; } }}} While testing WordPress 6.5, this no longer occurs. Our theme has `opacity: 0` applied to the body, and we use jQuery to change it to `opacity: 1` when the DOM is loaded. This means that in 6.5, our block editor has 0 opacity. The issue for us is that this also applies to the block editor and as a result we see a grey box instead of the blocks of content. In testing with WordPress Alpha 6.6 or with the latest Gutenberg activated this doesn't appear to be the case, is there a reason this was removed from the 6.5 core?" killerbeez Last Week 60808 Twenty Twenty-Four: Black outline around the Navigation block submenu-expanding button jordesign Bundled Theme trunk normal normal 6.5.1 defect (bug) new dev-feedback 2024-03-20T03:01:53Z 2024-03-28T07:05:58Z "This appears to be a regression introduced in https://core.trac.wordpress.org/changeset/57739 Brought over from the Gutenberg repo: https://github.com/WordPress/gutenberg/issues/59944 ---- == Description When a sub-menu item is present, when clicking on the sub-menu item or on the parent menu item, a black border is shown around the items. [[Image(https://cldup.com/kNOVprCJ_d.png)]] Video: https://cloudup.com/cm8LVp_p6kN == Step-by-step reproduction instructions 1. go to the site editor 2. add a navigation block 3. add an item and a sub item 4. publish changes and visit the site 5. click on the sub-menu item and on the parent item 6. see the black border == Environment info WordPress 6.5 RC2 2024 theme == Please confirm that you have searched existing issues in the repo. Yes == Please confirm that you have tested with all plugins deactivated except Gutenberg. Yes" jordesign Last Week 60805 Reading Settings: add option to discourage AI services from crawling the site jeherve Privacy normal normal Awaiting Review feature request new 2024-03-19T12:06:28Z 2024-03-19T12:06:28Z "I'd like to suggest a new addition to the bottom of the Reading Settings screen in the dashboard: [[Image(https://cldup.com/p6xw24IFff.png)]] This new section would help site owners indicate whether or not they would like their content to be indexed by AI services and used to train future AI models. There have been a lot of discussions about this in the past 2 years: content creators and site owners have asked whether their work could and should be used to train AI. Opinions vary, but at the end of the day I believe most would agree that as a site owner, it would be nice if I could choose for myself, for my own site. In practice, I would imagine the feature to work just like the Search Engines feature just above: when toggled, it would edit the site's `robots.txt` file and disallow a specific list of AI services from crawling the site. ---- There are typically 4 main approaches to discouraging AI Services from crawling your site: 1. You can add `robots.txt` entries matching the different User Agents used by AI services, and asking them not to index content via a `Disallow: /`. - **This seems to be the cleanest approach, and the one that AI services are the most likely to respect.** - This also has an important limitation ; it relies on a list of AI User Agents that would have to be kept up to date. It would obviously be hard for that list to ever be fully exhaustive. ''See an example of the user agents we would have to support below.'' 2. You can add an `ai.txt` file to your site, as [https://site.spawning.ai/spawning-ai-txt suggested by Spawning AI] here. - However, we have no guarantee AI services currently recognize and respect this file. 3. You could add a meta tag to your site's `head`: ``. This is something that was apparently first [https://www.deviantart.com/team/journal/UPDATE-All-Deviations-Are-Opted-Out-of-AI-Datasets-934500371 implemented by DeviantArt]. - I do not know if this is actually respected by AI services. It is not an HTML standard today. In fact, discussions for a new HTML standard are still in progress, and suggest a different tag ([https://github.com/whatwg/html/issues/9334 reference]). - If a standard like that were to be accepted, and if AI Services agreed to use it, it may be the best implementation in the future since we would not have to define a list of AI services. 4. You can completely block specific User Agents from accessing the site. - I believe we may not want to implement something that drastic and potentially blocking real visitors in WordPress Core. This is something that is better left to plugins. ---- Some plugins already exist that implement some of the approaches above. It shows that there may be interest to include such a feature in Core. - [https://wordpress.org/plugins/cellarweb-chatbot-blocker/ ChatBot Blocker] - [https://wordpress.org/plugins/simple-noai-and-noimageai/ Simple NoAI and NoImageAI] - [https://wordpress.org/plugins/block-ai-crawlers/ Block AI Crawlers] - [https://wordpress.org/plugins/block-chat-gpt-via-robots-txt/ Block Chat GPT via robots.txt] - [https://wordpress.org/plugins/block-common-crawl-via-robots-txt/ Block Common Crawl via robots.txt] - [https://github.com/thefrosty/wp-block-ai-scrapers WordPress Block AI Scrapers] ---- If we were to go with the first option, here are some examples of the User Agents we would have to support: - `Amazonbot` -- https://developer.amazon.com/support/amazonbot - `anthropic-ai` -- https://www.anthropic.com/ - `Bytespider` -- https://www.bytedance.com/ - `CCBot` -- https://commoncrawl.org/ccbot - `ClaudeBot` -- https://claude.ai/ - `cohere-ai` -- https://cohere.com/ - `FacebookBot` -- https://developers.facebook.com/docs/sharing/bot - `Google-Extended` -- https://blog.google/technology/ai/an-update-on-web-publisher-controls/ - `GPTBot` -- https://platform.openai.com/docs/gptbot - `omgili` -- https://webz.io/blog/web-data/what-is-the-omgili-bot-and-why-is-it-crawling-your-website/ - `omgilibot` -- https://webz.io/blog/web-data/what-is-the-omgili-bot-and-why-is-it-crawling-your-website/ - `SentiBot` -- https://sentione.com/ - `sentibot` -- https://sentione.com/ This list could be made filterable so folks can extend or modify that list as they see fit." jeherve Last Week 60803 Include fonts directory in `get_space_used()` calculation peterwilsoncc Editor normal normal Awaiting Review defect (bug) new 2024-03-19T02:46:16Z 2024-03-19T11:37:00Z "As font files can be uploaded by users other than the network administrators on multisite installs, the `get_space_used()` function may need to be modified to include the new folder. This will ensure that all files are considered when calculating the amount of upload space available for individual sites on a multi-site install. This isn't super urgent in the early days of the font library so can wait until a 6.5 point release." peterwilsoncc Last Week 60801 New sessions are created when user authenticates but there already are active sessions robert681 Login and Registration 6.4.3 normal normal Awaiting Review defect (bug) new 2024-03-18T18:28:41Z 2024-03-19T11:49:09Z "**The problem:** When a user logs in to WordPress a new session is created. If the user opens a new browser tab and navigates to website/wp-admin, the user does not need to authenticate because of the session cookies are saved in the browser, which is the expected behaviour. The same happens even when the user closes the browser completely and reopens it within the duration of that session. However, if the user navigates to the URL *website/wp-login.php* on the website they are already logged in, the user is presented with a login page, and upon authenticating WordPress creates a new session and new cookies etc, instead of ""retrieving"" the existing logged-in session. **How to reproduce:** 1. Log in to a WordPress website 2. Open a new browser tab on the same browser (you can close the previous one) 3. Navigate to the login page of the same website you are already logged in to: *website/wp-login.php* 4. Log in At this point there are two different sessions for the same user in the database and in the browser the user has multiple sets of cookies for the different sessions. **The issues this causes:** 1. Excessive amount of unnecessary session data in the database. We've seen some large websites with tens of thousands of session entries in the database. 2. Site admins who try to control / limit / manage the number of simultaneous user sessions with third party plugins end up having a lot of problems, such as locking out legit users etc **Possible solution?:** There are a few possible solutions, however, the easiest one we can think of is to check for session cookies in the users' browsers whenever they access the *wp-login.php*, and if there are, retrieve that session." robert681 Last Week 60800 Twenty Twenty-One: prevent PHP 8 fatal error from non-string in $tags_list josephscott Bundled Theme normal normal 6.6 defect (bug) new has-patch 2024-03-18T16:07:35Z 2024-03-19T09:40:33Z "In `/inc/template-tags.php` there is a call to `get_the_tag_list()` - https://themes.trac.wordpress.org/browser/twentytwentyone/2.1/inc/template-tags.php#L154 The only check on the return value is an `if` condition. The problem is that a few lines down ( 159 ) it is required to be a string. But the `get_the_tag_list()` function is documented as being able to return `string|false|WP_Error` - https://developer.wordpress.org/reference/functions/get_the_tag_list/ When a `WP_Error` object is returned and used in the string context of the `printf()` a fatal error happens in PHP 8.1: {{{ PHP Fatal error: Uncaught Error: Object of class WP_Error could not be converted to string in twentytwentyone/inc/template-tags.php:159 }}} The `if` condition should be updated to ensure that the `printf()` only gets called if the return value of `get_the_tag_list()` is indeed a string. Something like: {{{ if ( is_string( $tags_list ) ) { }}}" josephscott Last Week 60799 Change the Header Tag in Link Modal from

to

for Better Accessibility lyonmuller Editor 6.4.3 normal normal Awaiting Review defect (bug) new 2024-03-18T15:38:57Z 2024-03-26T20:04:49Z "=== Problem: Currently, the WordPress link insertion modal in the text editor uses an

tag for its title (""Insert/edit link""). This can create accessibility issues, as multiple

tags on a single page can confuse screen readers and undermine the semantic structure of the content, potentially leading to a poor user experience for people with disabilities. === Proposed Solution: I suggest changing the

tag in the link insertion modal to a

tag, or alternatively to a tag if the heading level is not appropriate in the context of the modal's use. This change would improve the semantic HTML structure and enhance accessibility by maintaining a proper heading hierarchy. === Justification: According to the HTML5 specification and accessibility guidelines, a page should have a clear and logical heading hierarchy. The main content should start with an

tag, followed by

,

, and so on. The current use of an

tag in the link modal disrupts this hierarchy, especially since this modal can appear on any page regardless of the existing heading structure. Implementing this change will make WordPress more accessible and compliant with WCAG (Web Content Accessibility Guidelines) standards, which is crucial for users relying on screen readers and for SEO best practices. === Steps to Reproduce: 1. Go to the WordPress text editor. 2. Click on the 'Add link' button to open the link insertion modal. 3. Inspect the modal's title element, which is currently marked up as an

. === Possible Implementation: The change can be implemented by modifying the HTML structure in the core WordPress files where the link modal is defined. Additionally, testing should be conducted to ensure that this change does not affect the modal's functionality and that it enhances the accessibility as intended. I am looking forward to the community's input on this proposal and am happy to contribute to the implementation and testing phases. " lyonmuller Last Week 60798 Investigate potentially failing Imagick PDF alpha channel test swissspidy Media normal normal 6.6 defect (bug) new dev-feedback 2024-03-18T11:30:17Z 2024-03-27T15:27:25Z "The test `\Tests_Image_Editor_Imagick::test_remove_pdf_alpha_channel_should_remove_the_alpha_channel_in_preview()` was introduced in #39216 / [56271]. On some hosting providers, this test appears to be failing with errors such as this: {{{ Tests_Image_Editor_Imagick::test_remove_pdf_alpha_channel_should_remove_the_alpha_channel_in_preview The intermediate size could not be retrieved. Failed asserting that false is of type ""array"". /tmp/wp-test-runner/tests/phpunit/tests/image/editorImagick.php:680 }}} Examples: https://make.wordpress.org/hosting/test-results/r57849/wpsabot-r57849/ https://make.wordpress.org/hosting/test-results/r57848/wetopibot-r57848/ We should investigate this failure to see whether it's an issue in core or with the hosting provider. The test mentions ""Ghostscript version >= 9.14"", so maybe it's just a matter of skipping the test if the installed Ghostscript version (`gs --version` I think) is older than that." swissspidy Last Week 60796 An error for page and post without revisions support danielpietrasik Posts, Post Types 6.4 normal normal Awaiting Review defect (bug) new 2024-03-18T10:03:04Z 2024-03-18T10:03:04Z "Since **6.4.0** the `$revisions_enabled` argument was added to the arguments array of `register_meta()` function (https://developer.wordpress.org/reference/functions/register_meta/#changelog). For post and page with disabled revisions support there is an error: Error: Function register_meta was called incorrectly. Meta keys cannot enable revisions support unless the object subtype supports revisions. Please see Debugging in WordPress for more information. (This message was added in version 6.4.0.). In register_block_core_footnotes() function `revisions_enabled` argument is permanently set to true and it's makes this error." danielpietrasik Last Week 60793 wp_trigger error has a wrong wp_kses $allowed_html arguement. nico23 Formatting 6.4 normal normal Awaiting Review defect (bug) new has-patch 2024-03-18T02:04:16Z 2024-03-18T02:15:45Z "Elements and attributes need to be array keys, not values. Came with: https://core.trac.wordpress.org/changeset/56707 Fix: https://github.com/WordPress/wordpress-develop/pull/6285" nico23 Last Week 60791 Pre-populate slug using URL parameters on new post edit screen. gerardreches Posts, Post Types normal normal Awaiting Review enhancement new has-patch 2024-03-17T06:29:23Z 2024-03-17T15:28:10Z "get_default_post_to_edit() allows to pre-populate `post_title`, `content`, and `excerpt` from `$_REQUEST`. This URL will pre-populate the title and the content: /wp-admin/post-new.php?post_type=post&post_title=My+Title&content=aaaa I have an use case where I need to do the same for the `post_name`: https://wordpress.org/support/topic/set-title-and-slug-of-new-post-using-url-parameters/ I have a shortcode that allows me to load content from a custom post type, and it searches by slug (it needs to be this way for UX reasons). If the post with the provided slug doesn't exist, I register an admin notice alerting that the shortcode is trying to load an unexisting post, and offer a link to create the missing post with the specified slug. I need the slug to be pre-populated with the URL parameter, just as it is possible to do for title, content, and excerpt." gerardreches Last Week 60790 Font Library: Editor has encountered an unexpected error shilpamanoj Editor trunk normal normal Awaiting Review defect (bug) new reporter-feedback 2024-03-16T10:02:59Z 2024-03-20T22:17:07Z "During the customization of the Blog template, an unexpected error was encountered by the editor when changing the line height after uploading a custom font. " shilpamanoj Last Week 60789 Administration Email Address: Allow method to deactivate andrewhoyer Administration normal normal Awaiting Review feature request new close 2024-03-16T01:23:43Z 2024-03-21T10:09:56Z "As a manager of many client sites, my email address is used on a lot of sites in the ""Administration Email Address"" in Settings > General. Over time, clients move to other vendors, and sometimes this happens without the opportunity to change the Administration Email Address before it is moved. In many cases, this email address remains unchanged for years, and I continue to receive software update, user account, and other emails for accounts I have no contact with, and no way to access to change the setting. This has been mentioned by other WordPress developers as well, and I believe it is a widespread problem, although one easy to dismiss on a day-to-day basis. I did a search through Trac tickets and didn't see anything like it, so I am posting this ticket in hopes that a solution can be reached. Ideally, I'd like to see a solution that includes a time-sensitive link (similar to new account registrations) that would allow the owner of the admin to click through to the link, and agree to have the email address removed as the ""Administration Email Address""." andrewhoyer Last Week 60788 Content-Disposition support in download_url() seems broken siliconforks HTTP API 6.4.3 normal normal Awaiting Review defect (bug) new 2024-03-16T01:12:30Z 2024-03-16T01:12:30Z " In https://core.trac.wordpress.org/changeset/51939 a change was made to resolve ticket https://core.trac.wordpress.org/ticket/38231 to make `download_url()` use the `Content-Disposition` header to specify the name of the downloaded file. I realize I'm a bit late to the party here since the ticket was opened more than 7 years ago and the change was made more than 2 years ago, but I think that this change was flawed and needs to be reconsidered (and possibly reverted entirely). The way it was implemented seems fundamentally broken and has the effect of making `download_url()` basically impossible to use reliably. Consider the following simple PHP script named `echo.php`: {{{#!php 'secupress', 'fields' => [] ) ); }}} Since the doc says ''""@type bool $contributors Whether to return the list of contributors. **Default false**.""'' I should not receive this field. Let see the response: {{{#!php string(37) ""SecuPress Free — WordPress Security"" [""slug""]=> string(9) ""secupress"" [""version""]=> string(7) ""2.2.5.1"" [""author""]=> string(44) ""SecuPress"" [""author_profile""]=> string(41) ""https://profiles.wordpress.org/secupress/"" [""contributors""]=> array(4) { ... }}} There is. Same for those params that are ""false"" by default but still included: ""sections"", ""versions"", ""reviews"", ""banners"", ""active_installs"" (I don't know for ""group"", can't get the thing). Also there is one param that is not affected by the arguments passed and always returned: ""num_ratings"". Finally there is some fields that are always returned where the doc can't help, I tried to use they array keys to cancel them, no chance, this is : ""author', ""author_profile"" (those 2 may be forced, that's ok), ""support_threads"", ""support_threads_resolved"", ""upgrade_notice"", and ""requires_plugin"" (I know it's new, but don't forget it) The patch may have to be done on w.org since this is the site that add too much data and to not respect the passed parameters. Thanks for your time" juliobox Last Week 60782 The method parameter is never used. patelmohip General normal normal Awaiting Review enhancement new 2024-03-15T10:58:56Z 2024-03-15T11:27:28Z The function update_home_siteurl() has two parameters that newer used in the function block. patelmohip Last Week 60781 Expand or modify wp_get_environment_type function to allow more environment types dingo_d Bootstrap/Load 5.5.1 normal normal Awaiting Review enhancement new dev-feedback 2024-03-15T09:49:27Z 2024-03-15T11:29:04Z "Currently the [https://developer.wordpress.org/reference/functions/wp_get_environment_type/ wp_get_environment_type()] function only allows 4 environment types: {{{#!php $wp_environments = array( 'local', 'development', 'staging', 'production', ); }}} But there are projects that have multiple environment types (CI, CD, pre-production, UAT, etc.). So if you define the `WP_ENVIRONMENT_TYPE` to anything outside of these 4 environments, you'll end up with serving the `production` environment. A trivial example would be where you'd like to change the color of your admin UI based on environments. I mean, sure you can use something like {{{defined('WP_ENVIRONMENT_TYPE') ? WP_ENVIRONMENT_TYPE : 'production'}}}, but what's the point of the `wp_get_environment_type` function then? One alternative is to expand the `$wp_environments` variable with some of the industry most-used terms. Or just remove this check, and just return the value of `defined('WP_ENVIRONMENT_TYPE') ? WP_ENVIRONMENT_TYPE : 'production'` check." dingo_d Last Week 60780 Twenty Twenty :- Button block having issue with letter spacing nidhidhandhukiya Bundled Theme 6.4.3 normal normal Awaiting Review defect (bug) new has-patch 2024-03-15T09:34:25Z 2024-03-24T17:25:09Z "Steps to reproduce the issue :- 1. Activate Twenty Twenty theme. 2. Choose Button block. 3. Add text. 4. Now change the letter spacing. You can able to see there is no difference in letter spacing in editor and front side both. I have attached video for better understanding. Video URL :- https://share.cleanshot.com/mpT4l41VskS7J26DB23b" nidhidhandhukiya Last Week 60778 Twenty Twenty-Three Theme: The Quote block style is not working as expected. viralsampat Bundled Theme normal normal Awaiting Review defect (bug) new dev-feedback 2024-03-15T07:13:01Z 2024-03-15T10:06:33Z "Hello, I have reviewed and found that the ""**Quote**"" block style is not working as expected into the **Twenty Twenty-Three** theme. Here, I have attached video: Issue: [https://share.cleanshot.com/78X9q3xkwy0kkT5HvHFL] Thanks," viralsampat Old Tickets 60777 New terms created when a term with commas is added in post editor awesiome Posts, Post Types 6.4.3 normal normal Awaiting Review defect (bug) new 2024-03-14T17:35:07Z 2024-03-14T17:35:07Z "When a taxonomy term has commas e.g ""Red, yellow & green"" and you add the term to a post in the post editor, the term gets added but new terms get created for the words before and after each comma. E.g you add the term ""Red, yellow & green"" to your post. That term will get added. However, you will also notice that two new terms have been created called ""Red"" and ""yellow & green"". Not sure if this is the case with both Gutenberg enabled." awesiome Old Tickets 60776 Pullquote block having minor difference in spacing between editor and front side nidhidhandhukiya Editor 6.4.3 normal normal Awaiting Review defect (bug) new close 2024-03-14T15:34:47Z 2024-03-19T05:00:13Z "Steps to reproduce the issue :- 1. Activate Twenty Twenty Four theme. 2. Choose Pullquote block. 3. Add text and background to check the proper difference in both side. Now check both the side editor and front. You can able to see spacing difference in editor and frontend. I have attached video for better understanding. Video URL :- https://share.cleanshot.com/D39PTHnJ6TrspTC8XYMw" nidhidhandhukiya Old Tickets 60775 Twenty Twenty Four :- Search block having issue with the width when we add first time. nidhidhandhukiya Bundled Theme 6.4.3 normal normal Awaiting Review defect (bug) new 2024-03-14T15:21:47Z 2024-03-14T15:21:47Z "Steps to reproduce the issue :- 1. Activate Twenty Twenty theme. 2. Choose Search block. 3. Give Width in px without change it in % or anything apply as defalut. Now check both the side editor and front. You can able to see no difference in width of search block. Now change the width from the given option for example :- 25% You can able to see a difference in editor and front end both. Now change width paramater which is changed in %, Make it px and then change value. You can able to see difference in width of search block in editor and front both the side. I have attached video for better understanding. Video URL :- https://share.cleanshot.com/hVRc9FjRz5PnKPCsVhrs" nidhidhandhukiya Old Tickets 60774 Make the user_login field readonly instead of disabled on the profile screen roytanck Users normal normal 6.6 enhancement accepted commit 2024-03-14T11:34:38Z 2024-03-14T14:18:12Z "This came up in an accessibility audit of one of the sites I work on. On the profile edit screen in wp-admin, the username is displayed using an input field with the `disabled` attribute. This field is skipped by screen readers, which leads to a ""loss of information"" for visually impaired users. It's better to use `readonly` here. This is exactly what the field is used for, and readonly fields are read by screen readers." roytanck Old Tickets 60773 Add a new Post from the editor klevismiho Editor normal normal Awaiting Review enhancement new 2024-03-14T10:23:55Z 2024-03-14T11:34:51Z " When you are in the editor of an existing Post, there is no way to add a new Post from there. You need to go back to ""View Posts"" -> ""Add New Post"". I would love to have this new usability feature added in the core." klevismiho Old Tickets 60770 TimeZone select box compatibility with RTL directions farhad0 Administration trunk normal normal Awaiting Review enhancement new has-patch 2024-03-13T15:35:10Z 2024-03-13T16:55:59Z "This patch fixes the time zone select box compatibility with RTL directions It sets auto direction which makes the options value compatible with both RTL and LTR directions " farhad0 Old Tickets 60769 Block Hooks: Consolidate approach to get the list of hooked blocks. tomjcafferkey General normal normal Awaiting Review enhancement new 2024-03-13T14:28:40Z 2024-03-13T14:28:40Z "Our current approach to getting hooked blocks has two parts to it: 1. We use `get_hooked_blocks()` to get all of the hooked blocks which are hooked from the `block.json` file. 2. In function `insert_hooked_blocks` we apply the filter callbacks (passing a derived value from step 1 as the default value) to get hooked blocks that are applied by the `hooked_block_types` filter. Currently it's a bit confusing and without knowledge you'd assume `get_hooked_blocks()` would retrieve ''all'' of the hooked blocks. Additionally it feels like you have to run a few different pieces of code separately and combine their resulting values to get a complete picture which could result in some bugs or unnecessary complexities. I feel there's room for improvement to provide a better API for getting all of the hooked blocks by consolidating these two approaches into a single function somehow. How this to work we would also need to know the current context so we can pass that data to the filter callbacks." tomjcafferkey Old Tickets 60765 Typography Presets ramonopoly Editor trunk normal normal 6.6 defect (bug) new has-patch 2024-03-13T04:54:33Z 2024-03-13T05:36:36Z " We should pass theme.json settings to global preset or style value-generating callbacks. Currently `value_func` callable properties in `PRESETS_METADATA` do not have access to the current theme JSON settings. An example: `wp_get_typography_font_size_value()` needs to know other theme.json settings in order to correctly output values. Styles generated by `WP_Theme_JSON::get_stylesheet` outside a WordPress instance, using custom settings will therefore have no effect. See bug issue for further details: https://github.com/WordPress/gutenberg/issues/58135 This ticket is to sync the following Gutenberg PR: https://github.com/WordPress/gutenberg/pull/58362 " ramonopoly Old Tickets 60763 Allow resizing the individual content areas in Appearance / Menus namith.jawahar Menus normal normal Awaiting Review enhancement new has-patch 2024-03-12T20:54:27Z 2024-03-23T19:48:34Z "The space to select posts, pages and custom posts for dropping into the menu is restricted to 200px height which makes it really difficult to select posts/pages when creating/editing menus. The user experience will be greatly improved if the section can be resized." namith.jawahar Old Tickets 60759 Block Hooks: Harmonize ignoredHookedBlocks metadata injection logic Bernhard Reiter General normal normal 6.6 enhancement new 2024-03-12T15:15:43Z 2024-03-12T16:59:33Z "As of [57790] and https://github.com/WordPress/gutenberg/pull/59561, both the Templates and the Navigation endpoints use the [https://developer.wordpress.org/reference/hooks/rest_pre_insert_this-post_type/ `rest_pre_insert_*`] filter to inject the `ignoredHookedBlocks` metadata attribute into anchor blocks, prior to persisting a template, template part, or navigation menu to the database. [https://wordpress.slack.com/archives/C02RQBWTW/p1709650462126059?thread_ts=1709649022.232249&cid=C02RQBWTW It has been requested] that these methods be harmonized, i.e. to use the `inject_ignored_hooked_blocks_metadata_attributes` filter for both templates/parts and navigation menus. In particular, this would allow removing some of the filters that are currently present in the Navigation block in favor of more ""generic"" functions. Conceptually, the relevant filters are indeed quite similar; the major difference is that the one for the Navigation block (`block_core_navigation_update_ignore_hooked_blocks_meta`) injects a `_wp_ignored_hooked_blocks` post meta into the `wp_navigation` post object, in order to allow hooked blocks to be inserted as a Navigation block's first or last child (see #59743). To harmonize the filters, we would thus have to add a conditional in `inject_ignored_hooked_blocks_metadata_attributes` to set the post meta if the post type is `wp_navigation`. (Later on, we might consider extending this to include template parts, where it might also be desirable to insert hooked blocks as a Template Part block's first or last child; however, this should be tackled separately, in order not to conflate refactoring and adding new functionality.) ---- Eventually, it might also be possible to harmonize injection of hooked blocks (which happens upon reading from the database, unlike the injection of the `ignoredHookedBlocks` attribute discussed above, which happens upon writing to it.)" Bernhard Reiter Old Tickets 60756 Block Hooks: Toggle (re-)inserts hooked block in wrong position (if added by filter) Bernhard Reiter General normal normal 6.6 defect (bug) new 2024-03-12T13:59:51Z 2024-03-20T14:51:30Z "As of [https://github.com/WordPress/gutenberg/pull/59396 this change], Block Hook toggles are displayed for hooked blocks that were added by a filter (rather than during block registration), ''if the containing template or template part has had user modifications''. (Displaying the toggle also for ''un''modified templates/parts is the subject of #59574, see especially https://core.trac.wordpress.org/ticket/59574#comment:13.) There is still one more problem with these toggles: If the user disables the toggle to remove the hooked block, and then re-enables it to re-insert the latter, it's not possible for the client to infer ''where'' to insert it. Instead, it simply defaults to (re-)inserting it ''after'' the anchor block. The reason is that once the hooked block is removed, no information about its position relative to its anchor block is available. The only available information is the `ignoredHookedBlocks` metadata attribute on the anchor block, which is an array of hooked block type names (e.g. `[""core/loginout"",""mycommerce/shopping-cart""]`). They do however not include the relative position of these hooked blocks. (This was considered in the original ticket #59646 for enabling Block Hooks in modified templates/parts, but ultimately dismissed.)" Bernhard Reiter Old Tickets 60754 Block Hooks: Incorrect context passed when setting ignored hooked blocks metadata Bernhard Reiter General trunk normal normal 6.5.1 defect (bug) new has-patch 2024-03-12T11:17:36Z 2024-03-26T08:39:04Z "Since [57790], the `rest_pre_insert_wp_template` and `rest_pre_insert_wp_template_part` hooks in the Templates Controller are used to call `inject_ignored_hooked_blocks_metadata_attributes()`, which in turn sets the `ignoredHookedBlocks` metadata attribute on anchor blocks upon writing to the DB. The latter function applies the `hooked_block_types`, `hooked_block`, and `hooked_block_{$hooked_block_type}` filters, in order to inform which blocks should be hooked to a given anchor block. Each of these filters is given a `$context` argument, which in the case of templates (and template parts, respectively) is the containing `WP_Block_Template` object. Since the `rest_pre_insert_`-prefixed filters only pass a `stdClass` object for the relevant `$changes` that need to be made to the relevant template (or template part), `$context` is constructed by fetching the existing template (or part) via `get_block_template()` (using the template/part ID present in the network `$request`). This isn't quite how things should be: `hooked_block_types`, `hooked_block`, and `hooked_block_{$hooked_block_type}` should be given a `$context` object that reflects the template (part) that is about to be persisted to the database, ''not'' the one that's currently stored there. A filter might e.g. look for the presence of a certain block in the template's content; that block might not have been present in the previous version of a template (stored in the DB) but might've been added by the user in the editor (and will be part of the payload that's used to update the DB)." Bernhard Reiter Old Tickets 60753 "Fatal error: Uncaught Error: Class ""wpdb"" not found in load.php" danlelbachhuber General normal normal Awaiting Review defect (bug) new 2024-03-12T07:29:07Z 2024-03-20T01:16:40Z "Hello, after updated php version in WordPress, i can't show admin login and errors are: Fatal error: Uncaught Error: Class ""wpdb"" not found in /home/mhd-01/www.xxxxxxxx.it/htdocs/wp-includes/load.php:428 Stack trace: #0 /home/mhd-01/www.xxxxxxxx.it/htdocs/wp-settings.php(120): require_wp_db() #1 /home/mhd-01/www.xxxxxxxx.it/htdocs/wp-config.php(98): require_once('...') #2 /home/mhd-01/www.xxxxxxxx.it/htdocs/wp-load.php(37): require_once('...') #3 /home/mhd-01/www.xxxxxxxx.it/htdocs/wp-admin/admin.php(34): require_once('...') #4 /home/mhd-01/www.xxxxxxxx.it/htdocs/wp-admin/index.php(10): require_once('...') #5 {main} thrown in /home/mhd-01/www.xxxxxxxx.it/htdocs/wp-includes/load.php on line 428 Is there any ideas about can i resolve this? Thanks. I would login and not show any errors in my site on WordPress." danlelbachhuber Old Tickets 60752 Fatal error: Uncaught Error: Class 'WpOrg\Requests\Hooks' not found moustifi General normal normal Awaiting Review defect (bug) new 2024-03-12T07:15:27Z 2024-03-12T19:36:57Z "I've been getting the same error message the last few days...makes me think it has something to do with the update? I've tried: disabling plugins, and downloading/removing themes and reinstalling twenty twenty-one. I'm new to WordPress, therefore have no backup, and at a complete loss here. Any guidance is much appreciated! Fatal error: Uncaught Error: Class 'WpOrg\Requests\Hooks' not found in /home/sites/17a/3/36b2a5154b/practicalpathways/wp-includes/class-wp-http-requests-hooks.php:18 Stack trace: #0 /home/sites/17a/3/36b2a5154b/practicalpathways/wp-settings.php(249): require() #1 /home/sites/17a/3/36b2a5154b/practicalpathways/wp-config.php(92): require_once('/home/sites/17a...') #2 /home/sites/17a/3/36b2a5154b/practicalpathways/wp-load.php(50): require_once('/home/sites/17a...') #3 /home/sites/17a/3/36b2a5154b/practicalpathways/wp-admin/admin.php(34): require_once('/home/sites/17a...') #4 /home/sites/17a/3/36b2a5154b/practicalpathways/wp-admin/index.php(10): require_once('/home/sites/17a...') #5 {main} thrown in /home/sites/17a/3/36b2a5154b/practicalpathways/wp-includes/class-wp-http-requests-hooks.php on line 18 Notice: Function is_embed was called incorrectly. Conditional query tags do not work before the query is run. Before then, they always return false. Please see Debugging in WordPress for more information. (This message was added in version 3.1.0.) in /home/sites/17a/3/36b2a5154b/practicalpathways/wp-includes/functions.php on line 5865 Notice: Function is_search was called incorrectly. Conditional query tags do not work before the query is run. Before then, they always return false. Please see Debugging in WordPress for more information. (This message was added in version 3.1.0.) in /home/sites/17a/3/36b2a5154b/practicalpathways/wp-includes/functions.php on line 5865" moustifi Old Tickets 60750 Warning: these pages should not be the same as your Privacy Policy page! OctoTooT General 6.4.3 normal normal Awaiting Review defect (bug) new 2024-03-11T20:20:54Z 2024-03-11T20:20:54Z On Settings > Reading this message appears. The Privacy Page is NOT SELECTED. The homepage is another page and that is what is selected. There is nothing else in there. OctoTooT Old Tickets 60748 auth_redirect() login check doesn't exist or doesn't work kratosgemini Login and Registration normal normal Awaiting Review defect (bug) new 2024-03-11T13:11:38Z 2024-03-11T13:33:04Z "The `auth_redirect()` documentation states: ""Checks if a user is logged in, if not it redirects them to the login page."" [https://developer.wordpress.org/reference/functions/auth_redirect/] However, unless a call to `auth_redirect()` is wrapped inside a `is_user_logged_in()` check, then it always sends people to the login page (even if a user is already logged in). I don't know if the documentation is incorrect or if there is a bug in the code. To reproduce, all you need to do is something like this: {{{#!php 'string', 'author__not_in' => 'string', 'category__and' => 'string', 'category__in' => 'string', 'category__not_in' => 'string', 'post__in' => 'string', 'post__not_in' => 'string', 'post_name__in' => 'string', 'post_parent__in' => 'string', 'post_parent__not_in' => 'string', 'tag__and' => 'string', 'tag__in' => 'string', 'tag__not_in' => 'string', 'tag_slug__and' => 'string', 'tag_slug__in' => 'string', }}} Using most of the above query args in a `WP_Query::get_posts()` call result in a PHP fatal. Things that expect scalars: {{{ 'attachment' => array(), 'author_name' => array(), 'feed' => array(), }}} Using any of the above query args result in a PHP fatal on a default WP installation: {{{ alex@wayra core % cat .wp-env.json { ""core"": null } }}} http://localhost:8888/?attachment[]=admin {{{ Fatal error: Uncaught TypeError: urlencode(): Argument #1 ($string) must be of type string, array given in /var/www/html/wp-includes/formatting.php:5683 Stack trace: #0 /var/www/html/wp-includes/formatting.php(5683): urlencode(Array) #1 /var/www/html/wp-includes/class-wp-query.php(2183): wp_basename(Array) #2 /var/www/html/wp-includes/class-wp-query.php(3824): WP_Query->get_posts() #3 /var/www/html/wp-includes/class-wp.php(696): WP_Query->query(Array) #4 /var/www/html/wp-includes/class-wp.php(816): WP->query_posts() #5 /var/www/html/wp-includes/functions.php(1336): WP->main('') #6 /var/www/html/wp-blog-header.php(16): wp() #7 /var/www/html/index.php(17): require('/var/www/html/w...') #8 {main} thrown in /var/www/html/wp-includes/formatting.php on line 5683 }}} http://localhost:8888/?author_name[]=admin {{{ Fatal error: Uncaught TypeError: str_contains(): Argument #1 ($haystack) must be of type string, array given in /var/www/html/wp-includes/class-wp-query.php:2358 Stack trace: #0 /var/www/html/wp-includes/class-wp-query.php(2358): str_contains(Array, '/') #1 /var/www/html/wp-includes/class-wp-query.php(3824): WP_Query->get_posts() #2 /var/www/html/wp-includes/class-wp.php(696): WP_Query->query(Array) #3 /var/www/html/wp-includes/class-wp.php(816): WP->query_posts() #4 /var/www/html/wp-includes/functions.php(1336): WP->main('') #5 /var/www/html/wp-blog-header.php(16): wp() #6 /var/www/html/index.php(17): require('/var/www/html/w...') #7 {main} thrown in /var/www/html/wp-includes/class-wp-query.php on line 2358 }}} http://localhost:8888/?feed[]=admin {{{ Fatal error: Uncaught TypeError: str_contains(): Argument #1 ($haystack) must be of type string, array given in /var/www/html/wp-includes/class-wp-query.php:1018 Stack trace: #0 /var/www/html/wp-includes/class-wp-query.php(1018): str_contains(Array, 'comments-') #1 /var/www/html/wp-includes/class-wp-query.php(1868): WP_Query->parse_query() #2 /var/www/html/wp-includes/class-wp-query.php(3824): WP_Query->get_posts() #3 /var/www/html/wp-includes/class-wp.php(696): WP_Query->query(Array) #4 /var/www/html/wp-includes/class-wp.php(816): WP->query_posts() #5 /var/www/html/wp-includes/functions.php(1336): WP->main('') #6 /var/www/html/wp-blog-header.php(16): wp() #7 /var/www/html/index.php(17): require('/var/www/html/w...') #8 {main} thrown in /var/www/html/wp-includes/class-wp-query.php on line 1018 }}}" xknown Old Tickets 60739 Wrong redirection when installing with URI rewrite cfinnberg Upgrade/Install 3.7 normal normal Future Release defect (bug) new 2024-03-10T22:54:12Z 2024-03-13T21:48:16Z "I have a server where the users can build their own WordPress installations. The URL of such installation is like: https://example.com/u/user/wpfolder/ The folder on disk is like: /srv/http/public_html_user/wpfolder But when the user tries to run the installation setup, an automatic redirection leeds to the following incorrect address: https://example.com/wpfolder/wp-admin/setup-config.php (notice that /u/user/ is missing) So: - REQUEST_URI is '/u/user/wpfolder' - My document root is '/srv/http/public_html_user/' - Therefore the document URI (relative to this document root) is '/wpfolder/index.php' - And the $_SERVER[PHP_SELF] value is '/wpfolder/index.php' I have found that the problem comes from the wp_guess_url function in wp-includes/functions.php file (line 6218): {{{#!php post_type} hook returns inconsistent $_POST['tax_input'] format jenUnderscore_ Taxonomy 6.4.3 normal normal Awaiting Review defect (bug) new 2024-03-06T19:55:52Z 2024-03-06T19:55:52Z "In the save_post_{$post->post_type} hook: **Case 1**: If we do not make any changes to the taxonomy `$_POST['tax_input'][$term]` returns a comma delimited string WITH a space. Output Example: ''Maple, Spring, Summer, Winter'' **Case 2**: If we modify the taxonomy (adding or removing), it eliminates the space: Output Example: ''Spring,Summer,Winter'' Proposed solution, eliminate the space in the first case for consistency. " jenUnderscore_ Old Tickets 60706 Tests: Reduce usage of assertEquals for 6.6 SergeyBiryukov Build/Test Tools normal normal 6.6 task (blessed) new has-patch 2024-03-06T06:55:52Z 2024-03-06T06:56:39Z "Follow-up to: * #59655 (6.5) * #58956 (6.4) * #57855 (6.3) * #56800 (6.2) * #55654 (6.1) * #54726 (6.0) * #53364 (5.9) * #52482 (5.8) * #38266 (5.7) The `assertEquals()` test method does not check that the types of the expected and actual values match. This can hide subtle bugs especially when the values are falsey. Tasks: * Switch to using `assertSame()` when the type of the value in the assertion is important * Replace overall usage of `assertEquals()` with type-strict assertion methods, with the aim of potentially removing its usage altogether To help ease the effort of merging tests, changes should also be made upstream in the Gutenberg repository." SergeyBiryukov Old Tickets 60705 Test tool and unit test improvements for 6.6 SergeyBiryukov Build/Test Tools normal normal 6.6 task (blessed) new has-patch 2024-03-06T06:53:46Z 2024-03-21T15:45:58Z "Previously: * #59647 (6.5) * #58955 (6.4) * #57841 (6.3) * #56793 (6.2) * #55652 (6.1) * #54725 (6.0) * #53363 (5.9) * #52625 (5.8) * #51802 (5.7) * #51344 (5.6) This ticket is for various fixes and improvements in PHPUnit tests that don't have a more specific ticket, as well as general improvements to the GitHub Actions workflows that run automated testing." SergeyBiryukov Old Tickets 60701 Bump default theme versions for WordPress 6.6 mukesh27 Bundled Theme normal normal 6.6 task (blessed) new has-patch 2024-03-06T05:03:35Z 2024-03-25T12:27:02Z "All bundled themes from 2010 to 2024 will need a version bump for the 6.6 release. Previously: #59816 - 6.5 #58832 - 6.4 #57857 - 6.3 #57689 - 6.2 #56450 - 6.1 #55754 - 6.0 #54783 - 5.9 #53277 - 5.8 #52704 - 5.7 #51919 - 5.6 #50889 - 5.5 #49743 - 5.4" mukesh27 Old Tickets 60700 Coding Standards fixes for WP 6.6 mukesh27 General normal normal 6.6 task (blessed) new has-patch 2024-03-06T05:03:13Z 2024-03-27T12:28:38Z "Previously: - #59650 (6.5) - #58831 (6.4) - #57839 (6.3) - #56791 (6.2) - #55647 (6.1) - #54728 (6.0) - #53359 (5.9) - #52627 (5.8) - #51799 (5.7) - #50767 (5.6) - #49542 (5.5) - #49222 (5.4) - #47632 (5.3) - #45934 (5.1)" mukesh27 Old Tickets 60699 Docblock improvements for 6.6 SergeyBiryukov General normal normal 6.6 task (blessed) new 2024-03-06T04:57:35Z 2024-03-19T14:44:26Z "Previously: - #59651 (6.5) - #58833 (6.4) - #57840 (6.3) - #56792 (6.2) - #55646 (6.1) - #54729 (6.0) - #53399 (5.9) - #52628 (5.8) - #51800 (5.7) - #50768 (5.6) - #49572 (5.5) - #48303 (5.4) - #47110 (5.3) - #46543 (5.2) - #42505 (5.1) - #41017 (4.9) - #39130 (4.8) - #37770 (4.7) - #32246 (4.6)" SergeyBiryukov Old Tickets 60698 Add optimized set lookup class. dmsnell General trunk normal normal Awaiting Review feature request new 2024-03-06T01:18:34Z 2024-03-06T01:18:34Z "In the course of exploratory development in the HTML API there have been a few times where I wanted to test if a given string is in a set of statically-known strings, and a few times where I wanted to check if the next span of text represents an item in the set. For the first case, `in_array()` is a suitable method, but isn't always ideal when the test set is large. {{{#!php contains( '¬in' ) ) { … } while ( true ) { $was_at = $at; $at = strpos( $text, '&', $at ); if ( false === $at ) { $output .= substr( $text, $was_at ) break; } $name = $named_character_reference->read_token( $text, $at ); if ( false !== $name ) { $output .= substr( $text, $was_at, $at - $was_at ); $output .= $named_character_replacements[ $name ]; $at += strlen( $name ); continue; } // No named character reference was found, continue searching. ++$at; } }}} ---- Further, because WordPress largely deals with large and relatively static token sets (named character references, allowable URL schemes, file types, loaded templates, etc…), it would be nice to be able to precompute the lookup tables if they are at all costly, as doing so on every PHP load is unnecessarily burdensome. A bonus feature would be a method to add and a method to remove terms. ---- In [https://github.com/WordPress/wordpress-develop/pull/5373 #5373] I have proposed such a `WP_Token_Set` and used it in [https://github.com/WordPress/wordpress-develop/pull/5337 #5337] to create a spec-compliant, low-memory-overhead, and efficient replacement for `esc_attr()`. The replacement `esc_attr()` is able to more reliably parse attribute values than the existing code and it does so more efficiently, avoiding numerous memory allocations and lookups." dmsnell Old Tickets 60696 Block hooks: Allow insertion of a hooked block with attributes joshuaflow Editor normal normal Awaiting Review enhancement new has-patch 2024-03-05T21:07:33Z 2024-03-05T21:16:21Z "Previously, the `hooked_block_types` and `hooked_block_{$hooked_block_type}` filters were introduced to allow templates to be extended with blocks by third parties. While those two filters work well with unique blocks, they prove challenging when working with generic blocks that can be customized via attributes. Attempting to hook a block into an area that has already inserted the same block type, but with different attributes won't work with the existing filters. [This PR](https://github.com/woocommerce/woocommerce/pull/44860) demonstrates how attempting to set attributes via the `hooked_block_{$hooked_block_type}` filter will overwrite all of the same block types that have been hooked in. It may be possible that block hooks aren't the appropriate venue for this API, but a way to insert blocks with attributes into templates is quite useful, even in the context of the core editor. **Requirements: ** * [ ] Allow insertion of blocks with block attributes in a single filter * [ ] Allow checking anchor block properties before inserting hooked blocks * [ ] (optional, but preferred) Allow nesting hooked blocks onto previous hooked blocks" joshuaflow Old Tickets 60695 Links in the admin-menu are generated incorrectly for mu-plugins partiellkorrekt Administration normal normal Awaiting Review defect (bug) new has-patch 2024-03-05T15:27:57Z 2024-03-05T16:05:37Z "The function _wp_menu_output in wp-admin/menu-header.php checks if a file exists in the WordPress plugin directory. But it never checks if the file exists in the mu-plugins directory. The result of this is that some plugins behave in an unexpected way when moved to mu-plugins. Especially their admin-menus stop working. One example of such a plugin is WPML. E.g. lines 165-175: {{{#!php $arrow""; } else { echo ""\n\t$arrow""; } }}} Better would be: {{{#!php $arrow""; } else { echo ""\n\t$arrow""; } }}} Not how the code in the 5th line only checks for WP_PLUGIN_DIR and not for WPMU_PLUGIN_DIR. This happens a few more times in this function. " partiellkorrekt Old Tickets 60694 INDEX command denied to user 'wordpress'@'localhost' for table 'wp_trp_dictionary_bg_bg_en_us' 4x4ever Upgrade/Install 6.4.3 normal normal Awaiting Review defect (bug) new dev-feedback 2024-03-05T15:14:32Z 2024-03-05T15:14:32Z "Fresh install of Version 6.4.3. The only active plugin is TranslatePress - Multilingual Version 2.7.2 (Akismet and Hello Dolly are installed but not active). Loggin in as admin, the following error is displayed: INDEX command denied to user 'wordpress'@'localhost' for table 'wp_trp_dictionary_bg_bg_en_us'. phpMyAdmin shows that the wordpress user does not have the 'INDEX' privilege. Is there a reason why the INDEX privilege not be enabled for the wordpress database user?" 4x4ever Old Tickets 60693 """Previously approved comment"" for logged out users bug" jmorti Comments 6.4.3 normal normal Awaiting Review defect (bug) new dev-feedback 2024-03-05T14:30:41Z 2024-03-07T17:00:03Z "When ""Comment author must have a previously approved comment"" is checked in the discussion settings, comments made by registered users who are logged out, go to moderation every time. The check comment function looks for previous comments under their user id but if they have only commented while logged out, no id is recorded. This bug has caused our users and our team major frustration. Can someone please address? Thanks!" jmorti Old Tickets 60692 Plugin dependencies: Allow a mu-plugin to fulfil a dependency johnbillion Upgrade/Install trunk normal normal 6.6 enhancement new dev-feedback 2024-03-05T10:59:05Z 2024-03-05T12:00:04Z "See discussion on #60504 for background. An inactive plugin that has a dependency that is fulfilled by a mu-plugin is prevented from being activated as its dependency is considered unfulfilled. It should be possible for a mu-plugin to fulfil a plugin dependency. It may be that a new filter or a default mu-plugin loader needs to be introduced so facilitate this." johnbillion Old Tickets 60690 Consistency in Theme Update Warnings in Menu Marc4 Menus normal normal Awaiting Review enhancement new 2024-03-05T10:29:33Z 2024-03-26T20:04:07Z "When plugins are plugins pending update, a warning appears under ""Plugins"". However, even if are pending theme updates, the same warning does not appear under ""Appearance"". Considering that the security issues of an outdated theme can be the same as those of an outdated plugin, I think we should display the same warning in both cases. In the following image you can see a site with an outdated theme and plugin. At a glance you can only see a warning about ""Plugins"", but no warning about ""Apparence"", only inside ""Apparence > Themes"". Although ""Apparence"" has no updates, it would be nice to have the same warning as in ""Plugins"". I am attaching pictures to illustrate this." Marc4 Old Tickets 60689 Concerning use of external libraries warui1738 External Libraries normal normal Awaiting Review feature request new dev-feedback 2024-03-05T08:20:16Z 2024-03-27T15:27:01Z "As you get more advanced in using wordpress the need arises to use external libraries like bootstrap,font library,icon libraries,tailwind etc,off course this can be added using insert code plugins.the biggest disadvantage of this is that 1.you cannot maintain libraries version 2.You cannot delete the libraries. This problem can be solved through a feature request to create an interface to manage external libraries.In this feature: 1.User adds external libraries through a url 2.user can edit the libraries url 3.user can delete the libraries,libraries ceases to exist in the wordpress environment 4.Ability of the interface to distinguish/or give user opportunity to distinguish between and