__group__ ticket summary owner component _version priority severity milestone type _status workflow _created modified _description _reporter Future Releases 15386 WP_List_Table::get_columns does not work for plugins scribu Administration 3.1 high major Future Release defect (bug) reopened close 2010-11-11T14:42:28Z 2023-02-16T20:06:44Z "Creating a new table based on the WP_List_Table class does not work as the get_columns method is not being called. The problem is when WP_List_Table::get_column_info() calls get_column_headers() instead of $this->get_columns() where all the column data is stored. Moving the filter manage_*_columns from get_column_headers() into WP_List_Table::get_column_info() along with passing $this->get_columns() fixes this issue." ptahdunbar Future Releases 22837 "WP Needs to Set ""Sender"" and ""Reply-To"" or DKIM/DMARC will not work using wp-mail (via PHPMailer)" Mail 3.4.2 high major Awaiting Review defect (bug) new close 2012-12-09T17:23:48Z 2023-11-28T19:33:30Z "I notice that for DKIM to function (while using DMARC) correctly for outgoing mail the PHPMailer object needs to make sure the Sender and Reply-To fields match the ""From"" field otherwise the ""Return-Path"" header uses the server it is sending from causing a mismatch. When this happens DKIM fails authentication on the receiver side because it is not added to outgoing mail. I tried adding the reply-to and sender header manually to wp_mail() but it did not work. One had to do the following: Right now i have to manually modify the /wp-includes/pluggable.php file in the wp_mail() function to include: {{{ if (strlen($phpmailer->Sender)==0) { $phpmailer->Sender = $phpmailer->From; $phpmailer->AddReplyTo($phpmailer->From); } }}} This resolves the problem and DKIM works again. " kellogg9 Future Releases 45407 Add block attributes to `wp_calculate_image_sizes` to allow for proper handling of `sizes` attribute joemcgill Media high major Future Release defect (bug) assigned dev-feedback 2018-11-23T23:17:04Z 2022-02-03T15:13:41Z "Related Gutenberg issues: - 6177 https://github.com/WordPress/gutenberg/issues/6177 - 6131 https://github.com/WordPress/gutenberg/issues/6131 - 11973 (PR) https://github.com/WordPress/gutenberg/pull/11973 Related Trac tickets: - #45406 - #37840 == Problem For images with no alignment or images where the image block is aligned `alignwide` and `alignfull`, the `sizes` attribute reads: {{{ sizes=""(max-width: 1024px) 100vw, 1024px"" }}} This means regardless of the displayed width of an image, the largest image file pulled by the browser is the generated 1024px image. If the displayed image width is wider than 1024px, the browser will stretch the image to compensate causing blur and artifacts. Historically this was solved by theme developers by augmenting the `sizes` attribute using the `wp_calculate_image_sizes` filter. The new `alignwide` and `alignfull` widths **cannot currently be accommodated** using this filter because the filter does not contain information about the alignment value of the containing block. == Proposed solution Modify the `wp_calculate_image_sizes` filter to include a new fifth parameter `$block_attr` containing an array which includes `[align]` which holds the alignment value for the containing block. This is a stop-gap measure as we wait for Gutenberg PR 11973 https://github.com/WordPress/gutenberg/pull/11973 to merge. == Why this is a blocker From my perspective, this is a blocker to 5.0 for three main reasons: 1. As stated earlier, the current implementation of images means images with no alignment or images where the image block is aligned `alignwide` and `alignfull` are supplied with an incorrect `sizes` attribute by core. Theme developers cannot fix this because they have no way of filtering for different block widths. The end result is the visitor experiences blurry and/or artifact-heavy images which will be interpreted as an error. No theme (Twenty Nineteen included) handles responsive images correctly at the moment meaning all ""Gutenberg-ready"" themes with wide and full image options will display blurry/artifact-full images. 2. A solution to this problem must be one which stands the test of time. Once a solution is introduced, every theme (including core themes) must be updated. Shipping an interim solution which will later be changed puts an undue burden on theme developers and will impose legacy debt on WordPress Core to provide support for the interim solution in the long term. The proposal to add `$block_attr` with the `[width]` value to the `wp_calculate_image_sizes` filter is a mini version of what is proposed in Gutenberg PR 11973 and will be forward-compatible to more advanced images handling by themes. 3. 5.0 is shipping to millions of sites world wide. WordPress has a responsibility to follow web standards and use them correctly. The current implementation of the `sizes` attribute is insufficient and causes incorrect behavior for the end-user. == Further context - https://github.com/WordPress/twentynineteen/issues/50#issuecomment-436829300 - https://github.com/WordPress/gutenberg/issues/6177#issuecomment-400095305 - https://github.com/WordPress/twentynineteen/pull/629/files" mor10 Future Releases 48842 Fix calculation error when resampling images before resizing in class-wp-image-editor-imagick.php Media 4.5 high normal Future Release defect (bug) new dev-feedback 2019-11-30T18:34:34Z 2020-10-15T14:23:17Z "Seems there is a calculation error when resampling large images before resizing them to a much smaller sub-size. Looking at #33642 and [36700], the idea is to efficiently reduce the size of the original image before resizing by using ImageMagick's `sampleImage()`. However in some cases the resampled image may be larger than the original. Caused by doing the resampling when the destination image is about 1/3 of the size of the original, and using a (hard-coded) `$sample_factor = 5`, see https://core.trac.wordpress.org/browser/tags/5.3/src/wp-includes/class-wp-image-editor-imagick.php#L333. Example: for an original image of 1000x500 and destination image of 300x150, the resampled source image will be 1500x750 (the `$resize_ratio` in this case is `0.09`)." azaozz Future Releases 56141 Enhance installer security Security high major Future Release enhancement new dev-feedback 2022-07-05T08:37:14Z 2023-12-31T11:23:02Z "== Summary The WP installer needs to implement security features to prevent unauthorized use. If the attacker finds an unfinished installer, he can finish the installation on behalf of the user and make malicious changes. It was hard to find these unfinished installers in the past, but from 2018 Google Chrome requires all publicly trusted web certificates to be logged in Certificate Transparency Log. It is possible to parse CT log in realtime and target newly created websites. Usually, the SSL certificate is issued when a new hosting is set up. So, you can learn about most of the newly created websites from the CT log. The CT log is huge and reliable parsing should be challenging, but the methods are improving, and this attack is becoming more common. With current methods, **it can take less than a minute** for an attacker to learn of and compromise a new site. The attacker needs **only one HTTP request to compromise the site** - send valid DB credentials to /wp-admin/setup-config.php?step=2. In this case, the WP installer creates wp-config.php with these DB credentials. The user can then install WP into an external database controlled by the attacker without noticing. I analyzed a big-scale ongoing attack of this type and got access to the attacker database to further investigation. He can compromise hundreds of sites a day. I made an automated system to notify administrators of compromised sites. During three days, I sent more than 600 notifications and published the details on https://smitka.me/2022/07/01/wordpress-installer-attack-race/. Another installer issue, #52544, makes the installer publicly available too, but the possibility of exploitation is rather accidental and more noticeable. == Recommendations I see two ways how to add additional protection without significant process changes and without bothering the user too much: 1) allow only particular DB hosts 2) add an installation key feature For the first one, I made a PoC mu-plugin which controls allowed DB hosts via environment variables or configuration file. https://gist.github.com/lynt-smitka/425e4e97c61cac172e229ffc9ad090e4 Localhost + 127.0.0.1 is allowed by default, so there is no change for many users. A web host can use the env variable to define their DB servers, so the process will be smooth if they use external DB. If the user wants to use any other server, he has an option to define them via constant in the wp-dbhosts.php file (it is not possible to use wp-config because it doesn't exist). For the second one, you need to modify the installation workflow slightly. I made a modified setup-config.php as PoC: https://gist.github.com/lynt-smitka/45608ddeb8df19b0820201d066d4b42c It combines the first method - if the DB host is localhost or any server allowed by an environment variable, there is no change for users. If you want to use any other DB host, you have to fill ""install key"". The ""install key"" is generated into the install-key.php file, and the user can read it via FTP (the same way he uploaded the core files). Demo how it works: https://www.youtube.com/watch?v=A7-Sbbb-cZM " smitka Future Releases 9547 Taxonomy - interesting 'unused' term_order column in table term_relationships. Taxonomy 2.8 high normal Future Release enhancement assigned dev-feedback 2009-04-16T15:19:42Z 2023-11-28T19:15:17Z "During development of plugin [http://wordpress.org/extend/plugins/xili-language/ xili-language], and to sort term by term list of languages in a taxonomy, I discover unused column '''term_order''' in ''term_relationships'' table and lack of functions in core about this column. Like medias in post, here the user can define languages list with first, second, third,... languages for his website (and xml header). Taxonomy tools are here very powerful without adding tables or annoying coding. ([http://plugins.trac.wordpress.org/browser/xili-language/tags/0.9.8.2/xili-language.php see code here line 1309-1370]). Before to complete these very basic functions,… Is it forecast to have more basic / generic functions using '''term_order''' in taxonomy.php ? [http://core.trac.wordpress.org/ticket/9546 Related ticket]" michelwppi Next Release 60614 Button block's Outline style does not have border in non-framed editor Editor trunk normal normal 6.5 defect (bug) new dev-feedback 2024-02-23T03:44:34Z 2024-03-19T07:53:58Z "Hello, I have reviewed the button block and found that the button ""outline"" does not appear on the editor side. Here, I have attached its screenshots: **Environment info -----------------** Device: Macbook M1 OS: 14.3.1 (23D60) Browser: Google Chrome Version 121.0.6167.184 (Official Build) (arm64) WordPress version: 6.4.3 running, Gutenberg 17.7.0, Theme active: Twenty Twenty-Two, Thanks," viralsampat Future Releases 38805 A hook is missing in class WP_List_Table Administration 4.6.1 normal major Awaiting Review defect (bug) new dev-feedback 2016-11-15T22:03:17Z 2022-04-20T16:51:26Z "If I want to add a column to a WP_List_Table, I used this hooks : * `manage_{$this->screen->id}_columns` * `manage_{$this->screen->id}_sortable_columns` * `manage_{$screen->id}_custom_column` But the last one doesn't exist in WP_List_Table, I can create a column but I can't insert data into. Here the documentation : https://make.wordpress.org/docs/plugin-developer-handbook/10-plugin-components/custom-list-table-columns/#output-table-cell-contents Here the source of WP_List_Table : https://github.com/WordPress/WordPress/blob/master/wp-admin/includes/class-wp-list-table.php Actually, I want to hook a plugin with this hook, I can't add columns. Thanks " madvic Future Releases 36081 Activity dashboard widget is not using word-wrap: break-word mrahmadawais Administration 4.4.2 normal normal Future Release defect (bug) assigned dev-feedback 2016-03-03T07:40:11Z 2019-03-20T18:05:43Z "Long word's without spaces goes out of the container. I think that this class `#dashboard-widgets a` needs `word-wrap: break-word`; Screenshot: http://www.awesomescreenshot.com/image/1048253/7b7bc297dd3c3bd1f3c9532dd9f1138e" Prelc Future Releases 36201 Admin Pagination URLs Use Wrong Hostname Administration normal normal Future Release defect (bug) reopened dev-feedback 2016-03-10T21:18:06Z 2024-02-01T00:58:46Z "The pagination links on the posts/pages screen uses the wrong host in some cases. Particularly for my case I have a Wordpress blog installed on a separate server from my main website, but it's hosted as a subdirectory `/blog` on the main site using the `mod_proxy` Apache module. So the pagination links are coming through using the wrong host like this: http://1647760595.us-east-1.elb.amazonaws.com/wp-admin/edit.php?paged=2 It seems like these pagination links are the only ones with this issue, and I believe it's because of how they are being constructed. I've attached a patch that solves the issue for me. -Garrett" grimmdude Future Releases 56302 Admin menu links have relative URLs Administration normal normal Awaiting Review defect (bug) new dev-feedback 2022-07-29T06:01:54Z 2022-11-04T07:53:52Z "Hey, When i opened `abc.com/wp-admin/options.php/` and then try to go on submenu under settings then menu link is wrong and not opening page. more information you can see quick recording. https://www.loom.com/share/e64670a986df4c5da8e81838799a7ea1 Thank you " iihglobal Future Releases 47901 Admin menu variable is not always considered as global Administration normal normal Awaiting Review defect (bug) new dev-feedback 2019-08-20T07:56:15Z 2019-08-24T12:47:43Z "In ""wp-admin/menu.php"", the variable $menu is used as global but never declared as global, this cause issue if you are displaying admin from a router script in PHP by using a require_once. Bug can be solved by adding to ""wp-admin/menu.php"" {{{#!php ` element) or other role that is a landmark - add a new ""skip link"" after the ""Skip to main content"" one to allow all keyboard users to jump to the notices area: this skip link should only be printed out when there are notices == JavaScript notices - all notices injected in the DOM should have an ARIA role `alert` or `status` depending on their ""politeness"" level, so that they're automatically announced by screen readers Any additional suggestion and/or technique to improve the admin notices accessibility is very welcome." afercia Future Releases 27747 Inconsistent type default between `submit_button()` and `get_submit_button()` Administration 3.5 normal normal Awaiting Review defect (bug) new dev-feedback 2014-04-10T08:03:52Z 2023-12-06T11:23:51Z "One defaults to `$type = 'primary'` while the other defaults to `$type = 'primary large'`. Shouldn't that last one be `$type = 'primary'` too?" Denis-de-Bernardy Future Releases 42879 Invent a “Recommended Tools” section Administration normal normal Awaiting Review defect (bug) new dev-feedback 2017-12-12T14:45:58Z 2017-12-13T08:22:52Z "We have recommended plugins and themes, and while most tools are just plugins in disguise, the importers have had the limelight for a bit too long. There are a bunch of handy WordPress tools that deserve some attention, and a dedicated box/page/something under the Tools menu in WP Admin would help bring attention to them." johnjamesjacoby Future Releases 47517 Left Navigation Disappeared Administration normal normal Awaiting Review defect (bug) new dev-feedback 2019-06-10T09:27:48Z 2019-06-11T18:49:07Z "Hello, Left navigation is disappeared when we open inspect element/tool in google chrome browser after reaching to the bottom of the page on Admin Dashboard > settings > discussion. Please checked attached video. Thanks." shashank3105 Future Releases 48187 Missing admin color scheme causes incorrect body class Administration normal normal Awaiting Review defect (bug) new dev-feedback 2019-09-30T19:49:02Z 2019-09-30T19:49:02Z "If you pick a non-core admin color scheme (one that is added via some available plugin) but later that color scheme is no longer available (by deactivating said plugin) the admin-area body class continues to reflect the now missing color scheme. To test: 1. Install and activate [https://wordpress.org/plugins/admin-color-schemes/ this plugin] (or one like it) 2. Change the color scheme in Your Profile to ""80's Kid"" (or any other non-core one) 3. Deactivate the above plugin 4. Open inspector in your web browser 5. See that the incorrect color scheme class is added to the body element Ironically, the way WordPress admin CSS is coded, this does not appear to cause any obvious styling breakage, though I do consider this an unintended behavior that can still be corrected." johnjamesjacoby Future Releases 38076 Network admin plugin pages can be accessed on non-multisite Administration normal normal Future Release defect (bug) new dev-feedback 2016-09-16T19:56:07Z 2021-07-06T10:28:05Z "I just noticed that it's theoretically possible to access a plugin-generated page in the network admin panel even if we're not on a multisite setup. The same applies to the user admin panel as well. To replicate, create a plugin that uses `add_menu_page()` with a slug `my_test_page`, hooked into `network_admin_menu`. Then manually go to the URL `http://yourdomain.com/wp-admin/network/admin.php?page=my_test_page`. This happens because the `is_multisite()` check happens only after including the general `wp-admin/admin.php` administration bootstrap file which takes care of any plugin pages by itself. The problem is we can't do it before because WordPress hasn't been loaded then. A possible solution would be to split the `require_once` statement in `wp-admin/network/admin.php` into two, one to load the WordPress core functions, the other to load `wp-admin/admin.php`. I don't think this is a very critical issue, but I thought it should be a ticket. It's very unlikely that anyone tries to access a network admin URL when they don't have a multisite. On the other hand, we catch that in other areas (through `! is_multisite()` checks), so we might try to do it here as well." flixos90 Future Releases 43844 PHP list language construct changed behaviour in PHP 7 SergeyBiryukov Administration normal major Awaiting Review defect (bug) reviewing dev-feedback 2018-04-24T12:50:14Z 2018-08-12T23:04:13Z "The inline docs for the method as of 24th April, 2018: {{{#!php /** * Get a list of sortable columns. The format is: * 'internal-name' => 'orderby' * or * 'internal-name' => array( 'orderby', true ) * * The second format will make the initial sorting order be descending * * @since 3.1.0 * * @return array */ protected function get_sortable_columns() { return array(); } }}} See https://github.com/WordPress/WordPress/blob/master/wp-admin/includes/class-wp-list-table.php The problem is that if I define the sortable columns as the first one, with {{{#!php class My_List_Table extends WP_List_Table { protected function get_sortable_columns() { return array( 'my-column' => 'my-column', ); } } }}} Then the `list` call when building the table list header / footer will not have the `orderby` variable defined. See https://github.com/WordPress/WordPress/blob/master/wp-admin/includes/class-wp-list-table.php#L1117 If however I use {{{#!php class My_List_Table extends WP_List_Table { protected function get_sortable_columns() { return array( 'my-column' => array( 'my-column' ), ); } } }}} everything works as expected. Diff incoming shortly." javorszky Future Releases 39261 Possible wrong base color for admin SVG-icons Administration 4.7 normal normal Awaiting Review defect (bug) new dev-feedback 2016-12-13T09:27:44Z 2024-02-26T22:38:20Z "Hello! I'm currently working with custom SVG icons for my custom post types, but i can see that these icons have a slightly different color than the native dashicons. It seems like the SVG-painter paints my SVG-icons in the wrong base-color. I'm using the default theme ""fresh"" and the base is set to `#82878c`. If i change to for example `#9EA3A8` my SVG-icons looks more like the native dashicons. Maybe the basecolor is a bit off? File: [https://core.trac.wordpress.org/browser/branches/4.7/src/wp-includes/general-template.php#L3428 wp-includes/general-template.php:3428] I can also see that this affects the SVG in other plugins (Yoast SEO, WPML etc.). Best regards, Robert Sather." robsat91 Future Releases 45001 Relocate Admin Alerts to a new Alert Icon Administration normal normal Awaiting Review defect (bug) new dev-feedback 2018-09-26T21:41:46Z 2020-01-06T17:47:39Z "This is apart of a bigger project for my staff and I, you can find the context here https://www.theportlandcompany.com/2017/09/10/proposed-improvements-to-the-wordpress-ui/. Our goal is to clean up the UI with two principles in mind: - Context Visibility - Only show something when it's in context. - Add With Purpose - If something, such as padding or margins, don't serve a purpose, don't add them. - Simplify Number of Actions - If a step can be avoided in a process, avoid it. This ticket is about Alerts. Like updating WordPress, appear in the main body of the admin pages. We believe this is a disruptive experience and has many bugs associated with it: - Some notifications, such as the WordPress Core Update notification, cannot be dismissed. Sometimes authors intend this, other times it's not intentional, but it's always a nuisance because it persists across all pages. - This requires scrolling on *every* page load, if the alert is persistent across pages. On mobile this can make WP virtually unusable for rapid actions. - The dismiss button often is broken. *Many* plugins out there don't use it properly or code their own dismiss button because of a few limitations with the current function. Resulting in alerts never disappearing. - These alerts are disorienting to users who are not developers. Especially when they overrun the page. - If there is a dismiss button, often times the styling of that is inconsistent. Sometimes it's text that says ""Dismiss"". Sometimes it's a circle icon with an x. Other times it's a literal x. Sometimes it's in the top right. Sometimes it's in the bottom right. Etc... This behavior is uncommon throughout the web when you compare to GitHub, Amazon, Google anything, MacOS, etc... We propose: - Introducing an alert icon in the upper right of the admin bar. - When an alert is registered it introduces a badge count. Could be AJAX / jQuery Hearbeat, etc... - When hovered or selected you see the alerts in a menu that shifts the page body from right to left (just like MacOS notification center). - From there each item has a dismiss icon. When clicked it is *permanently* dismissed (another topic, many Plugins don't respect this for various reasons). - The dismiss icon is always a circle x icon right aligned and vertically centered. - Clicking on the alert could take the user to a new page that is contextual to the Plugin that is displaying it where they can read more information or take action. This would result in a cleaner UI, less scrolling - especially on mobile - less distraction that can and does cause confusion for some users, but maintains full functionality. Optionally we could implement growl-like notifications that hang for a moment when a new alert is registered. No dismiss buttons on those, rather they fade out automatically so Plugin authors don't use them to cause the same problem somewhere new. We'd be happy to do some design mockups and code a feature as Plugin if the leadership is interested in accepting this." s3w47m88 Future Releases 43723 Sanitize user_contactmethods output Administration normal normal Awaiting Review defect (bug) new dev-feedback 2018-04-09T14:12:16Z 2019-01-17T01:14:01Z "Data supplied in an array to the user-edit.php page via the filter 'user_contactmethods' is not properly escaped when it is outputted. As you can see in [https://core.trac.wordpress.org/browser/trunk/src/wp-admin/user-edit.php#L527 user-edit.php] the values of the $name and $desc variables are directly echoed using echo. I'd expect it to use the WordPress Core [https://developer.wordpress.org/reference/functions/esc_attr/ esc_attr()] as the data is used part of an html tag's attribute and therefor should be limited to what is allowed inside an html attribute. " BjornW Future Releases 29030 Screen Options Poor Update/Rendering Causes Many things to Break Administration 3.9.1 normal normal Awaiting Review defect (bug) new dev-feedback 2014-07-26T01:21:46Z 2018-08-08T19:15:02Z "Screen options dont work properly in many different situations. I noticed the first issue when trying to create a sticky header plugin for the wp_list_table. When scrolling down the page the headers stick to the top by cloning the header with javascript and hiding the other original at the same time. However, If screen options are updated the tables break completly even after the plugin is disabled. Wordpress checks the current table headers to determine which ones are hidden and should be added to the `manageedit-{$post_type}columnshidden` field in the `user_meta` table. So since the cloned table header the plugin created is hidden visually while scrolling up, wordpress thinks that all columns aredisabled and adds all the columns to `manageedit-{$post_type}columnshidden`. [[Image(http://i.stack.imgur.com/wrYin.png)]] This is poor practice because it doesn't seperate presentation well enough from the logic used to render screen options. Any user who has access to `wp-admin/edit.php`can completly break their tables if any html/css visually hides the `` or a column-header perhaps by a plugin, or maybe the browser doesn't load a certain script, or perhaps they are just messing with the dev-tools. Beginers that don't know how to properly [remove columns][5], could run into this issue if they ever try to use css instead. `manageedit-{$post_type}column` should not rely on the visibility of and only the actual checked input fields. Also `cb` and `title` should not be allowed to be added to the `manageedit-{$post_type}column`. They should only be able to be removed with `unset`. ---------- **To recreate this issue:** 1. open up firebug/chrome dev tools/etc. on http://www.example.com/wp-admin/edit.php 2. add `thead {display: none;}` to the style editor 3. On the page screen options uncheck at least one column ( this is to ensure `manageedit-{$post_type}columnshidden` is a database field for the current user and if not it creates it ) 4. Hit apply to refresh the page *The tables will now be broken....* ---------- To chck the columns I used the `get_user_meta();` function to print the array of `hiddencolumns` on each post types `edit.php` admin screen notices: {{{ post_type) return $post->post_type; elseif ($typenow) return $typenow; elseif ($current_screen && $current_screen->post_type) return $current_screen->post_type; elseif (isset($_REQUEST['post_type'])) return sanitize_key($_REQUEST['post_type']); return null; } function get_current_user_manageedit_pagecolumnshidden() { $current_ptype = get_current_post_type(); $user_id = get_current_user_id(); $key = 'manageedit-'.$current_ptype.'columnshidden'; $single = true; if(get_user_meta($user_id, $key, $single)) return get_user_meta($user_id, $key, $single); } function echo_current_user_manageedit_pagecolumnshidden() { global $pagenow; if ( $pagenow !== 'edit.php' ) return; $columnshidden= get_current_user_manageedit_pagecolumnshidden(); echo '
'; print_r( $columnshidden ); echo '
'; } add_action('all_admin_notices', 'echo_current_user_manageedit_pagecolumnshidden'); }}} **Output for the broken tables :** {{{ Array ( [0] => cb [1] => title [2] => [3] => ) }}} ---------- After determining that `cb` & `title` were in fact added to the `$meta_value`you need to fix the table. This will do the trick: {{{ function delete_current_user_manageedit_pagecolumnshidden() { $user_id = get_current_user_id(); $meta_key = 'manageedit-pagecolumnshidden'; if( get_user_meta($user_id, $meta_key) ) delete_user_meta( $user_id, $meta_key ); } add_action ('admin_init', 'delete_current_user_manageedit_pagecolumnshidden'); }}} ''Side-Notes:'' *`columnshidden` appears [`wp_ajax_hidden_columns()`][1] & [`get_hidden_columns()`][2] *client-side functionality appears to be here in [`common.js`][3] which checks for the [hidden table headers][4] ---------- Similar issues with the screen options can be recreated for different situations that have nothing to do with the tables. **Recreate similar issue on nav-menus.php** 1. Go to http://example.com/wp-admin/nav-menus.php 2. Uncheck all the fields in the *""Show advanced menu properties""* Screen-Options tab 3. Add the screen options filter to hide them from display: `add_filter('screen_options_show_screen', 'remove_screen_options_tab');` 4. Reload http://example.com/wp-admin/nav-menus.php All of the hidden advanced menu properties will now be broken and are all visible even though they were unchecked. I'm not sure if this is the same issue, but it appears that overall screen options have a high change of not working properly ---------- ---------- **Other-Notes** These issues of broken tables might also have to do with the same functionality problem of how screen options update/render: http://wordpress.stackexchange.com/questions/31154/wp-list-table-custom-quick-edit-box-post-meta-data-missing-and-columns-change http://wordpress.stackexchange.com/questions/123182/custom-admin-column-disappearing-when-using-quick-edit?lq=1 http://wordpress.stackexchange.com/questions/144361/wordpress-admin-wp-table-list-show-incorrectly #21016 [1]: https://github.com/WordPress/WordPress/blob/448275cce483138f53ccfa586b2d28b7fe8b0785/wp-admin/includes/screen.php#L55 [2]: https://github.com/WordPress/WordPress/blob/270a57075c290736387b6551670fde34fb3f1851/wp-admin/includes/ajax-actions.php#L1307 [3]: https://github.com/WordPress/WordPress/blob/448275cce483138f53ccfa586b2d28b7fe8b0785/wp-admin/js/common.js#L29 [4]: https://github.com/WordPress/WordPress/blob/448275cce483138f53ccfa586b2d28b7fe8b0785/wp-admin/includes/screen.php#L17 [5]: http://codex.wordpress.org/Plugin_API/Filter_Reference/manage_$post_type_posts_columns" codecandid Future Releases 42486 The Tools screen is blank for users who cannot manage categories or tags Administration 4.9 normal normal Awaiting Review defect (bug) assigned dev-feedback 2017-11-09T17:05:12Z 2024-01-17T17:05:15Z "Since Press This was removed in #41689, the Tools screen is only composed of the Categories and Tags Converter. For users who can't manage categories or tags (Authors and Contributors), the Tools screen is now completely empty. Subscribers currently don't see the Tools admin menu item. The Tools admin menu item should be removed if there's nothing to display on it." johnbillion Future Releases 25939 add_options_page(..., 'options.php') and 1000 vars limit SergeyBiryukov Administration normal normal Awaiting Review defect (bug) reviewing dev-feedback 2013-11-13T15:00:43Z 2023-03-08T16:36:53Z "(Related to the discussion in #14134) There is a ""common knowledge"" in the wilderness, suggesting having this for seeing all options at once, and I guess many admins have that enabled: {{{ add_options_page('All Settings', 'All Settings', 'administrator', 'options.php'); }}} At some point, the list grows to more than 1,000 variables, and: {{{ PHP Warning: Unknown: Input variables exceeded 1000. To increase the limit change max_input_vars in php.ini. in Unknown on line 0 }}} The '''option table is corrupted''' then. In the best scenario, the tail of the table is occupied with transients. The worst - real settings. ''(having a separate table for transients sounds like a good idea to me, BTW) '' '''Now, to the point: the ""All Settings"" panel should NOT have the [Save] button. It must be read-only. ''' Alternatively - AJAX save, similar to phpMyAdmin - for each option separately. " tivnet Future Releases 35561 function wp_admin_canonical_url() not using configured site url when constructing canonical url link tag Administration 4.4.1 normal normal Awaiting Review defect (bug) new dev-feedback 2016-01-21T16:00:36Z 2023-10-05T08:26:19Z "I was having an issue with the wp_admin_canonical_url() function in wp-admin/includes/misc.php and I have a suggested fix I am running word press behind a reverse nginx proxy on a different box so my main site is at http://www.rammount.com and the blog is at http://www.rammount.com/blog The blog url is set in the WordPress configuration. But when you log into the admin section the wp_admin_canonical_url() function does not pick up the configured url instead it constructs the url without the /blog. This of course breaks links in the admin section, constantly redirecting things to http://www.rammount.com without the /blog by changing the following line: `$current_url = set_url_scheme( 'http://' . $_SERVER['HTTP_HOST'] . $_SERVER['REQUEST_URI'] );` to: `$current_url = set_url_scheme(home_url(add_query_arg(array(),$wp->request)) . $_SERVER['REQUEST_URI']);` the problem is solved. the proper url is created and as such the links in the admin section that use the canonical url link function correctly. Hoping to have this change evaluated for inclusion, so that I don't have to remake this edit every time one of my designers updates the WordPress installation?" ilude Future Releases 47690 remove_submenu_page() doesn't remove corresponding entry from $_wp_submenu_nopriv johnbillion Administration normal normal Future Release defect (bug) reviewing dev-feedback 2019-07-12T10:41:09Z 2020-04-13T10:43:50Z "It can sometimes be desirable to give access to a submenu to a user that wouldn't normally have access to it. Calling `remove_submenu_page()` and then calling `add_submenu_page()` to re-register the screen with a different user capability doesn't work completely because the entry that gets added to the `$_wp_submenu_nopriv` global by `add_submenu_page()` doesn't get removed by `remove_submenu_page()`. This means the menu item appears but access to the screen is denied when `user_can_access_admin_page()` is called, resulting in a `Sorry, you are not allowed to access this page` error. " johnbillion Future Releases 47788 send_headers hook does not work in wp-login or wp-admin Administration 5.2.2 normal normal Awaiting Review defect (bug) new dev-feedback 2019-07-28T10:18:17Z 2019-10-20T11:56:12Z "Assume that I want to start using CSP (Content Security Policy) on my website. I add this to my theme's functions.php: {{{#!php body.blog- li#wp-admin-bar-site-name > a.ab-item:first-of-type, body.blog- #wpadminbar .ab-top-menu > li#wp-admin-bar-site-name.menupop:hover > .ab-item:first-of-type, body.blog- #wpadminbar .ab-top-menu > li#wp-admin-bar-site-name.menupop.hover > .ab-item:first-of-type { font-size: 0; // safely hide default text background-image: url(""""); background-size: ; background-position: center; background-repeat: no-repeat; min-width: 120px; } General page as an example, but didn't want to implement it system-wide until the community had a chance to speak up RE: where does/doesn't Select2 belong, or should it actually be implemented everywhere. The language and timezone fields seemed an obvious choice given their inherent size, but things like the emoji field under Settings->Reading that have a finite number of options seem less obvious. Discuss!" section214 Future Releases 58781 Change wording of field description for tagline Administration normal normal Future Release enhancement new dev-feedback 2023-07-11T06:26:54Z 2024-01-19T06:33:34Z "This is a follow-up to #57675 I [https://core.trac.wordpress.org/ticket/57675#comment:28 raised my concerns there], but it was too late in the cycle. So here we go: These are my concerns about the solution we use now: 1) The example is misleading, the tagline should be meaningful, and just not like in the example Using a unique and descriptive tagline is important for search engine optimization (SEO) purposes, as it helps convey the website's purpose and relevance to both search engines and visitors. 2) The “ and ” could be misunderstood so people would enter quotation marks into the tagline. This can impact the visual presentation and readability of the tagline to visitors. To keep the iconic phrase ""Just another WordPress site"" while being informative at the same time we could formulate: In a few words, explain what this site is about. We're sure your site is so much more than ""Just another WordPress site""" Presskopp Future Releases 44837 Coding Indentation Issues Administration 4.9.8 normal minor Awaiting Review enhancement new dev-feedback 2018-08-24T09:00:25Z 2019-04-01T22:07:36Z "I am seeing in wp-admin files that coding indentation is missing like this file edit-tags.php The codes are written like this {{{
"" /> "" /> search_box( $tax->labels->search_items, 'tag' ); ?>
}}} which needs to be indented properly to make it more understandable. This can be check in other files as well where we are writing HTML as well as PHP. In this tickets preview how exactly the code is written so I am adding a screenshot as well https://prnt.sc/kmcjeu" prashantvatsh Future Releases 48641 Discussion: links that look like buttons (and vice versa) Administration normal normal Future Release enhancement new dev-feedback 2019-11-14T17:23:30Z 2021-03-04T21:51:54Z "''This issue has been moved from GitHub to Trac to increase visibility.'' Original GitHub discussion: https://github.com/WordPress/gutenberg/issues/7534#issuecomment-549980093 == Summary Sometimes, `` elements are made to look like visual buttons to users, even though they are not actually using the `

}}} {{{

}}} Look into same field between the two html outputs, you can see most of the p, label, and input tag has different values of the css ids and classes. for example: wp_login_form(): {{{}}} wp-login.php: {{{}}} the ids are the same, but wp_login_form(): {{{

}}} wp-login.php: {{{

}}} the classes are different Can you make the ids and classes same, so it will be easier for me to make the two login forms ( `wp_login_form()` and wp-login.php ) with consistent style? " syshut Future Releases 41663 Hooks for the back to login link in the footer of wp-login.php Login and Registration 4.8.1 normal normal Awaiting Review feature request new dev-feedback 2017-08-17T18:58:25Z 2021-07-20T15:59:58Z "In the following pull request: [https://github.com/WordPress/WordPress/pull/306/files] I introduced 3 new filters to the login footer area. With these filters you can customize the back to login link to your needs. " Fleuv Future Releases 38789 Multisite sign-up improvements (potential roadmap) Login and Registration 3.0 normal normal Awaiting Review feature request new dev-feedback 2016-11-14T20:06:03Z 2019-03-25T21:18:22Z "The `wp_signups` database table has a few things not going for it: * No `_Query` class * No `WP_Signup` object class * No user interface for moderating them * No query or object caching * A `meta` database column vs. a `wp_signupmeta` database table * `wp-signup.php` is a pretty gnarly file, as is `wp-activate.php` A lack of support for this multisite feature means no one is very likely to use it. Most membership plugins (BuddyPress included) generally wrap around it, but also need to write a bunch of additional code to interface with what's here now. I took a stab at this last week, and made this plugin for a proof-of-concept: * https://wordpress.org/plugins/wp-user-signups * https://github.com/stuttter/wp-user-signups Pretty much all of the pieces are there, minus the meta-data table (which would not be very hard at all.)" johnjamesjacoby Future Releases 38750 Split wp_signups into wp_user_signups and wp_blog_signups Login and Registration 3.0 normal normal Awaiting Review feature request new needs-unit-tests 2016-11-10T19:07:00Z 2019-05-26T19:10:11Z "Right now, `wp_signups` (and the entire related API) does double-duty. It's 1 database table that's used for both users & blogs, but there are a few issues with this approach: * Open sign-ups may or may not include ability to create sites * There is no UI for managing sign-ups in WordPress core * Sign-ups are different between singlesite & multi-site * Plugins like BuddyPress do their best to include and/or work-around WordPress's core functionality, but end up writing a ton of additional code to manage this * Other membership plugins are forced to roll their own approach every single time * It's possible for multisite sign-up race conditions to exist, with users & sites created or activated from underneath each other (documented in `wpmu_activate_signup()`) I'm adding the multisite focus to this issue, because all of the current code is only relevant to multisite, but I'd like to see single-site inherit whatever future approach we can come up with. The core sign-ups code, stinks. Yet open registration is part of what makes WordPress & community/membership sites great. I think it would be great to take what we've learned from BuddyPress, WordPress.org, WordPress.com, and the bevy of Membership plugins, and make a great sign-up component/API for WordPress core." johnjamesjacoby Future Releases 34466 wp_register_form, wp_lost_password_form function Login and Registration 4.4 normal normal Awaiting Review feature request new dev-feedback 2015-10-27T14:48:11Z 2017-02-22T09:57:13Z "Hi, We currently have a wp_login_form function to display the login form, however, we do not currently have an opposite for the registration form. '''Should look into:''' wp_register_form wp_lost_password_form " atomicjack Future Releases 59670 """Content-Transfer-Encoding"" might break when sending multiple mails" Mail 6.3.2 normal normal Awaiting Review defect (bug) new dev-feedback 2023-10-18T14:08:53Z 2023-10-31T16:27:51Z "When sending multiple non-multipart mails via `wp_mail` the internal encoding used by `PhpMailer` doesn't get resetted which may result in mails getting the wrong `Content-Transfer-Encoding`. {{{ wp_mail('someone@somehost.tld', '8bit', '8büt'); // correctly delivered as 8bit wp_mail('someone@somehost.tld', '7bit', '7bit'); // correctly delivered as 7bit but breaks the following mails wp_mail('someone@somehost.tld', '8bit', '8büt'); // incorrectly delivered as 7bit }}} Internally PhpMailer starts with 8bit encoding in `$phpMailer->Encoding`. When sending a mail it might get downgraded/changed to 7bit in case the message doesn't contain any 8bit chars (which is the case in the first mail). However because of WP reusing the same PhpMailer instance the encoding doesn't get resetted to 8bit back again and therefore stays at 7bit. The easiest solution would be resetting the encoding manually or using an appropriate PhpMailer method if existing. Another solution would be for PhpMailer to be able to upgrade the encoding back to 8bit again when detecting 8bit chars. IMHO this depends on whether one PhpMailer instance is intended to be used for multiple mails or not. See: - Default encoding of PhpMailer: https://build.trac.wordpress.org/browser/tags/6.3.2/wp-includes/PHPMailer/PHPMailer.php#L92 - Setting `Content-Transfer-Encoding` in case its not 7bit: https://build.trac.wordpress.org/browser/tags/6.3.2/wp-includes/PHPMailer/PHPMailer.php#L2744 - Downgrading of Encoding to 7bit: https://build.trac.wordpress.org/browser/tags/6.3.2/wp-includes/PHPMailer/PHPMailer.php#L2840" pluspol Future Releases 46229 Email Direction Mail normal normal Future Release defect (bug) new dev-feedback 2019-02-10T21:53:27Z 2019-04-01T21:06:26Z "Hello WordPress, Thank you so much for changing the world. I am using the RTL layout of WordPress and all emails that I receive from WordPress, like changing password, reviewing a comment are in LTR direction. Hope you fix this in the next update or let me know that how can I fix it. Regards, Rahim" rahimvaziri Future Releases 29513 Move heavy lifting of wp_mail() to child class of PHPMailer Mail 4.0 normal normal Future Release enhancement new dev-feedback 2014-09-04T18:10:10Z 2020-09-16T18:59:53Z "If a plug-in is sending an e-mail, the class `PHPMailer` has a lot of useful methods (e.g. `addStringAttachment()`), but these are not available when using `wp_mail()`, which is a requirement to work with numerous other plug-ins owing to the hooks it triggers. `wp_mail()` does a number of things: 1. Instantiates a `PHPMailer` instance 2. Sets default values (e.g. ""from"" headers, charset, content type etc. ) 3. Parses the passed arguments and feeds it to the `PHPMalier` instance. 4. Executes a ""pre-send"" routine, (e.g. triggering hooks `wp_mail_from`, `phpmailer_init` etc) 5. Sends the e-mail The attached patch does a number of things: 1. Defines a `WPMailer` class ( a child of `PHPMailer`) 2. Defines a `WPMailerFactory` class which creates an instance with appropriate default values 3. Defines 'helper' methods which do the 'heavy lifting' of (3) above 4. Overrides the preSend method of PHPMailer to execute the 'pre-send routine' present in `wp_mail()` (i.e. (4) above) 5. Refactors `wp_mail()` to ""operate"" `WPMailer()` instance The result is that developers can either use `wp_mail()` or `$wpmailer = WPMailerFactory::getMailer()` to send e-mails, and both will behave identically (in terms of default values, and hooks being triggered), while maintaining backwards compatibility. This would also effectively close tickets #28407, #28059, #23291, #15539 , #11376 and maybe others. == Remarks == '''Why just not use `phpmailer_init`?''' This hook is very useful, but offers no context in which `wp_mail()` is called. As an example, suppose a plug-ins sends an e-mail with an ""on-the-fly"" purchase receipt attached. At `phpmailer_init` I don't know the purchase ID from which to generate and attach the receipt. '''Class/method naming standards''' I've used PHPMailer's naming standards which I understand conflicts slightly with WordPress' naming standards. A future iteration of this patch could well change this if that is deemed best. '''Global $phpmailer''' The global `$phpmailer` is redundant, as the factory creates a fresh instance for each request. Or at least it ''would''. The ''only'' reason the patch still uses this global, is that all the relevant unit tests pass without any further changes. Subject to this ticket being accepted in principle, these tests should be updated along with the patch. '''Backwards compatability''' Assuming `wp_mail()` hasn't been overriden by a plug-in/theme, then the is no change in behaviour. If it has been overridden, it's clear from the original function that the `$_GLOBAL['phpmailer']` should not be expected to exist, nor even the required classes to be loaded. As such they can be expected to operate independently of the changes made here, which are non-destructive. '''Uni tests''' For me, the mail group unit tests pass with 1 skipped. For some reason some tests failed (e.g. `Tests_DB::test_bail()`), but these failed even without this patch." stephenharris Future Releases 38028 Send emails via an action Mail normal normal Awaiting Review enhancement new dev-feedback 2016-09-12T20:55:20Z 2020-01-16T14:30:48Z "There are a number of ways that you may want to interact with core emails in WordPress. To name two * Use a different server to send (e.g. to benefit from DKIM/SPF) * Use custom templates, HTML, multipart etc. Currently solutions to achieve these things are not ideal. Pluggable functions leave exposure to other core changes and leave no scope for a 'fallback' to default if it is necessary. Filters for content are inconsistently (if at all) applied leaving some messages totally inaccessible to developers, save through the wp_mail filter - which is hacky at best (try catching a translated message). My proposal is relatively simple - send all emails in core through an action hook. `do_action( 'wp_mail_{email_id}', $args );` `$args` of course would carry the necessary elements for the dynamic parts of a message. An call add_action can then exactly replace what is being done at present to generate the message and make the `wp_mail` call. Any developer that wants to interact with the message can then simply remove the core action and add their own - to alter the message and/or send using an alternative mechanism to `wp_mail`, falling back to it if necessary. Possibilities for developers are then endless. `wp_mail` stays in tact and as the hook call replaces current functionality there is no issue with backward compatibility - all existing filters can stay in place." markcallen Future Releases 49687 wp_mail() - Why is no envelope sender defined? Mail 5.4 normal minor Awaiting Review enhancement new dev-feedback 2020-03-23T23:15:14Z 2022-11-17T08:47:39Z "As just figured out, some (mail) servers require the envelope sender to be set in order to accept outgoing emails. For the PHP built-in mail() function (https://www.php.net/manual/en/function.mail.php) this can be done using the additional parameter (e.g. ""-fwebmaster@example.com) as explained in example 4 of the PHP manual page. In order to use that option and set the envelope sender in PHPmailer either the sender attribute of the phpmailer object needs to be set ($phpmailer->Sender = ""sender@example.com"") or when using the setFrom() method of PHPmailer, the 3rd parameter needs to be set to true (=default). Unfortunately, the current implementation of wp_mail() explicitly sets that 3rd parameter to false, which prevents the envelope sender from being set (see https://core.trac.wordpress.org/browser/trunk/src/wp-includes/pluggable.php?rev=47494#L358). Is there any reason for doing so and could we change L358 to $phpmailer->setFrom( $from_email, $from_name, true ); ?" vbbp Future Releases 59734 After modifying a media author, the author name is not the same in the media page and in the media list Media 6.3.2 normal normal Awaiting Review defect (bug) new dev-feedback 2023-10-25T13:48:35Z 2023-11-02T08:10:02Z I uploaded a media as administrator. Then, I changed the media author in the media page. But in the media list, the author is still administrator. camexia Future Releases 41353 Async upload breaks when there are special characters into file name Media 4.8 normal normal Awaiting Review defect (bug) new dev-feedback 2017-07-18T07:53:48Z 2017-07-19T14:48:50Z After crunching the image, thumbnail breaks for the image. bhargavbhandari90 Future Releases 54091 Attachment details pane navigation not working after opening 81st (or greater) item and refreshing the browser antpb Media 5.8 normal trivial 6.6 defect (bug) assigned dev-feedback 2021-09-08T19:02:34Z 2024-02-21T16:16:25Z "Setup: - clean 5.8; - twentytwentyone active; - no plugins active. Steps to reproduce: - open media page; - click on the 41st item in the list; - notice the left arrow is enabled (which is to be expected, since there are previous items); - refresh the page. Notice the left arrow now - it's disabled. Not sure if this is intended, but since the item isn't loaded (in the grid), there's no previous but there's only next, which points to the first item. Clicking the right arrow goes to the it and you can't go back to the previous item." ppetrov2c Future Releases 48522 Attachment size not generated when large images uploaded Media 5.3 normal normal Future Release defect (bug) new needs-unit-tests 2019-11-07T01:33:39Z 2020-10-16T20:03:30Z "I've noticed that some images during upload do not generate attachment sizes at all, or generate the sizes partially. An example of such an image: https://upload.wikimedia.org/wikipedia/commons/f/ff/Pizigani_1367_Chart_10MB.jpg Upload is successful, but there's no scaled image, as well as no attachments. " vanyukov Future Releases 22558 Attachment term counts feels/are inaccurate Media normal normal Awaiting Review defect (bug) new dev-feedback 2012-11-23T16:21:26Z 2021-03-03T17:04:28Z "For posts: * Assign a term to a post, save as draft. Term count returns 0. * Publish the post. Term count returns 1. * Change post status back to draft. Term count returns 0. For attachments: * Upload an image, assign a term. Term count returns 0. * Create a new post and insert the image in a published post. Term count returns 0. * Create a new post, use the insert media modal and upload an image. Then go the the media edit screen and assign a term to the image. Term count returns 1. * Change the post status back to draft. Term count returns 1. * Upload an image, assign a term, attach the attachment to a published post. Term count returns 0. The default term update callback is `_update_post_term_count`. The function includes a special case for attachments, that's the reason why we have the 1 in step 3. IMO the term count for attachments shouldn't rely on the parent post status. We should just force `_update_generic_term_count`. Also noted here: comment:ticket:21391:41" ocean90 Future Releases 39883 Code hooking on `image_downsize` can no longer assume the file is an image joemcgill Media 4.7 normal normal Future Release defect (bug) assigned dev-feedback 2017-02-15T19:52:34Z 2017-05-23T20:29:02Z "In r38949, Core pretty drastically changed the expectations that any code hooking onto the `image_downsize` filter could make until then, potentially leading to issues for integrators. We went from having the `image_downsize()` function immediately return `false` if a file wasn't an image, not getting to that filter application at all, to only setting a variable with the result of the `wp_attachment_is_image( $id )` test and now applying the filter (not even passing said result, for that matter). This was a pretty big safe assumption to take away from under integrators' feet. Coupled to this, a wise integrator that might have picked up on this change could have wanted to have its own code have `image_downsize()` still returning `false` if it does not want to have the file further processed by the function, but there is no opportunity to, since returning `false` will cause `image_downsize()` to keep on with its processing instead of proceeding with `return $out`. Returning anything but false or null will cause `image_downsize()` to return, but that might not always be desirable to preserve the way WP worked prior to 4.7. What's better here for general use isn't as clear cut as what r38949 made it to be. I've discussed the case with @mikeschroder, and we've agreed to open this ticket so we can further discuss what should be done, if anything." stephdau Future Releases 36418 Custom MIME type icons lost in WP Media List view Media normal normal Awaiting Review defect (bug) new dev-feedback 2016-04-05T01:18:11Z 2021-10-23T13:22:48Z "The ability to define custom MIME icons has been possible since at least v2.5, by hooking into several filters, one of which is `icons_dir`. `icons_dir` allows you to specify additional directory/uri pairs for the `wp_mime_type_icon` routine to search, ideally adding icon support for additional MIME types. However, going through SVN history, it seems that almost from the beginning of the availability of that hook, there has been a loophole where the additional icon directories are ignored! Specifically: `wp_get_attachment_image_src` calls `wp_mime_type_icon`, which in theory could select a custom icon directory added by the `icon_dirs` hook. It then attempts to fetch width and height information from the selected icon file, but only checks the default wp-includes/images/media directory. Of course, this prevents the custom icons from displaying when fetched through `wp_get_attachment_image_src`." jhorowitz Future Releases 44641 Customizing Button Text in Custom Media Manager Frame Doesn't Work Anymore antpb Media 4.9.7 normal normal Future Release defect (bug) assigned dev-feedback 2018-07-25T12:16:47Z 2022-01-30T16:52:29Z "= Summary I have a plugin that calls up the Media Manager. I use the ""gallery"" state, and customize the main button text via the `wp.media` arguments. I've noticed a regression. The text in the primary button is no longer overridden by the arguments that I pass. = What I'm Doing (Code is simplified) {{{ var file_frame = wp.media.frame = wp.media({ frame: 'post', state: 'gallery', library : { type : 'image'}, button: {text: 'Edit Image Order'}, // <----- LINE IN QUESTION multiple: true }); file_frame.open(); }}} = What Should Happen The text inside the primary button in the media manager modal should change from ""Create a new Gallery"" to ""Edit Image Order"". [[Image(https://imgur.com/faJevb7)]] = What Actually Happens The button ignores my arguments and retains its default text. [[Image(https://imgur.com/6gLdtLv)]] " Kelderic Future Releases 43668 Image cropping fails for many PHP locales, if set Media normal normal Awaiting Review defect (bug) new dev-feedback 2018-03-30T16:12:10Z 2022-03-24T05:15:44Z "If{{{#!php = 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 Future Releases 23436 Media Gallery - Cropping Image and then Cropping a thumbnail from that crop doesn't work. joedolson* Media 3.5 normal normal Awaiting Review defect (bug) accepted close 2013-02-10T17:20:00Z 2022-12-07T16:05:48Z "'''A recipe for repeating the bug behavior:''' Navigate to Library in the admin sidebar. Click ""Add new"". Drag the 800x480 copy of this or any image to the drag and drop area: http://en.wikipedia.org/wiki/File:Cheese_platter.jpg (I suggest this image for ease of recipe duplication and best explanation.) After the blue status bar has completed, ""Edit"" to bring the media edit window up in a new tab. Click ""Edit Image"" below the actual image. Drag anywhere inside the image to create a cropping box. In the ""Image crop"" pane, set the crop area to 500px width, 100px height. Drag the cropping box so that the fancy toothpick is as far left as possible along the horizontal axis of the cropping box, but centered vertically. Click the ""Crop"" icon. Click ""Save"". Click ""Update"". Click ""Edit Image"" once again. Drag inside the newly-cropped image again to create a new cropping box. In the ""Image Crop"" pane, change the cropping dimensions to 150 x 100. Drag the box so the fancy toothpick is somewhere in the left third within the crop boundary. '''Important:''' In the thumbnail settings pane, set ""Apply Settings to:"" '''Thumbnail'''. Click the ""Crop"" icon. Click ""Save"". Click ""Update"". Click ""Library"" in the admin sidebar. The newly preferred thumbnail for our previously-cropped image does not save. Thumbnail remains default, based on center of previously-cropped image. Instead, you will see a small wheel of cheese sliced into six wedges with garnishes for the thumbnail, even though we chose the part with the fancy toothpick." gr33nman Future Releases 50866 Media Uploader Blows Up File Sizes antpb Media 5.4.2 normal major Future Release defect (bug) assigned dev-feedback 2020-08-06T03:06:49Z 2022-04-27T05:49:21Z "Dear Developers, this is a flaw in the media uploader that is very simple to reproduce: create a 512x512 PNG image with best compression, make sure that your wordpress is set to create small, medium, and large versions of that image, set one of those versions to be also 512x512px, so when you upload a 512x512px image the media manager will create a copy of that image with the same size. upload the image. wordpress's uploader will not use the original 512x512px PNG image when this size is requested by a page, but instead it will use its own 512x512px image that it has created, and compare sizes - the media uploader's PNG image file is at least 3x-4x times bigger, and wordpress will use that bigger image file instead of the smaller original of the same dimensions, and better compression. Please, could you fix that? Thank you" hvar Future Releases 48710 PDF uploads are treated like images: empty alt attribute and PHP notices joedolson* Media normal normal 6.6 defect (bug) accepted dev-feedback 2019-11-18T20:42:21Z 2024-02-25T20:11:41Z "uploading a .pdf image in posts reads the following; ""this image has an empty alt attribute: its file name is.... .pdf"" I am a regular user since 1.5 versions of WP and this is my first bug, or error report. I tried downgrading, but it kept coming back error." worddean Future Releases 30691 Removing a featured image does not remove the 'post_parent' value - reproducible Media normal major Awaiting Review defect (bug) reopened dev-feedback 2014-12-12T12:38:49Z 2021-04-28T16:18:49Z "Removing a featured image does not remove the 'post_parent' value in the wp_posts row associated with the attachment. This causes invalid results when using functions like get_children() and get_posts(). 1) install a fresh copy of WordPress 4.0.1 2) edit the first post and add a featured image 3) use phpMyAdmin and look at the wp_posts table. You will see an entry for the attachment and the 'post_parent' column will be set to the ID of the first post 4) Edit the first post and remove the featured image 5) again use phpMyAdmin and look at the wp_posts table. You will see the entry for the attachment and the 'post_parent' column WILL STILL BE SET to the ID of the first post. to see a example of an error with get_children() do the following after doing the above. 1) activate twenty-thirteen and view the site 2) edit twenty-thirteen's 'content.php'. Line 15-19 should be {{{

}}} add the following right after it. {{{ 'attachment', 'numberposts' => -1, 'post_status' => null, 'post_parent' => $post->ID ); $attachments = get_posts($args); if (! empty($attachments)) { echo 'attachment ID ='.$attachments[0]->ID.'
'; echo 'attachment post_parent ='.$attachments[0]->post_parent.'
'; echo '$post->ID ='.$post->ID.'
'; echo 'guid . '""/>'; var_dump($attachments); } ?> }}} 3) view the site and you will see the featured image. 4) use phpMyAdmin edit the entry for the attachment and set the 'post_parent' column to '0'. 5) view the site and you will NOT see the featured image. " juggledad Future Releases 36477 Responsive images (srcset) can include images larger than the full size Media 4.4.2 normal normal Future Release defect (bug) assigned needs-unit-tests 2016-04-11T13:27:58Z 2023-09-01T15:35:00Z "In many cases, I saw the resized and smaller images are much larger than the origin image, especially for the optimized images, it will make no sense to do that resize in this case, the worst case I've seen is about 13x larger than the origin and bigger image. If an example can help to explain the problem, please take this picture: https://cdn2.peterdavehello.org/wp-content/uploads/2016/04/status.png Many thanks!" peterdavehello Future Releases 46971 Selected Image gets overflow in Edit Image in Media upload - iPhone - 6/7/8 Media normal normal Awaiting Review defect (bug) new dev-feedback 2019-04-18T09:01:10Z 2019-04-30T17:27:52Z "Hello, While we edit image from admin dashboard (Dashboard > Media > Library - edit), the selected image gets overflow in iPhone-6/7/8 portrait mode. So for that, we can apply max-width: 100%. Thanks, Shashank." shashank3105 Future Releases 49086 "The ""site_icon"" option isn't always removed when the site icon is deleted" Media normal normal Awaiting Review defect (bug) new dev-feedback 2019-12-27T17:38:05Z 2022-01-06T02:32:21Z "If you delete the site icon image by going to Media > Library, the ""site_icon"" option isn't deleted from the database. Note the option is deleted if you go Appearance > Customize and remove the icon through the Site Identity tab." henry.wright Future Releases 50909 WordPress 5.5 update adds height and width attributes to images Media 5.5 normal normal Awaiting Review defect (bug) new close 2020-08-11T22:02:56Z 2020-10-30T14:33:28Z "It appears that some images added with the gutenberg editor (no updates since June) now have height and width attributes being dynamically added following the new loading attribute. I updated locally only so far. This is the previous img element being displayed in the browser: {{{ }}} This is it now: {{{ }}} These are the new attributes being added: {{{ loading=""lazy"" width=""1000"" height=""448"" }}} " jeslen Future Releases 43046 `has_image_size()` returns false for Core image sizes Media 3.9 normal minor Future Release defect (bug) assigned dev-feedback 2018-01-08T21:37:31Z 2020-02-21T17:52:25Z "`has_image_size()` returns `false` (does not exist) for the four core image sizes (thumbnail, medium, medium_large, large). `get_intermediate_image_sizes()` returns these core image sizes merged with custom registered sizes through `add_image_size()`. `has_image_size()` should return true for the core image sizes, or the function docs should note that the core image sizes are not checked in the function." desrosj Future Releases 41816 attachment_url_to_postid() should find post_id for URLs of intermediate size images Media 4.9 normal normal Awaiting Review defect (bug) new dev-feedback 2017-09-06T15:40:45Z 2021-09-28T21:06:56Z "[[https://developer.wordpress.org/reference/functions/attachment_url_to_postid/|attachment_url_to_postid()]] fails to find the post ID when given a URL of an intermediate sized image. For example, {{{ $url_of_full_sized_image = 'http://example.com/wp-content/uploads/test.jpg'; $attachment_id = attachment_url_to_postid( $url_of_full_sized_image ); // $attachment_id now equals 3 $url_of_intermediate_sized_image = 'http://example.com/wp-content/uploads/test-150x150.jpg'; $attachment_id = attachment_url_to_postid( $url_of_intermediate_sized_image ); // $attachment_id now equals 0 but should equal 3, the same as for the full-sized image }}} This should be fixed." pbiron Future Releases 41445 post_parent can prevent media from embedding correctly adamsilverstein Media 4.9.4 normal normal Future Release defect (bug) reopened needs-unit-tests 2017-07-26T06:29:28Z 2024-01-26T07:46:47Z "If media is uploaded for a post, then used as a featured image on another post, and the original parent is not accessible via the REST API (e.g. because it's in the trash, not published etc), then it cannot be embedded on the post that ''is'' accessible. To reproduce * make a new post with a featured image * trash the post * make a new post, using the first image as the featured image * request the second post over the rest API with media embedding enabled The media will not be embedded, instead a forbidden result will be embedded error {{{#!json { ""wp:featuredmedia"":[ { ""code"":""rest_forbidden"", ""message"":""You don't have permission to do this."", ""data"":{ ""status"":403 } } ] } }}} See https://github.com/WP-API/WP-API/issues/2596 for the original issue. Also related is https://core.trac.wordpress.org/ticket/30691. " loboyle Future Releases 54190 sanitize_file_name disallows acute accents and left smart apostrophe Media 5.5 normal normal Awaiting Review defect (bug) new dev-feedback 2021-09-27T14:23:29Z 2023-10-04T19:21:40Z "The following change to line 1991 of wp-includes/formatting.php will disallow acute accents and left smart apostrophe in file names {{{ $special_chars = array( '?', '[', ']', '/', '\\', '=', '<', '>', ':', ';', ',', ""'"", '""', '&', '$', '#', '*', '(', ')', '|', '~', '`', '´', '!', '{', '}', '%', '+', 'ʻ','’', '«', '»', '”', '“', chr( 0 ) ); }}}" jdorner Future Releases 50944 wp_calculate_image_srcset can unintentionally include unscaled original image Media 4.4 normal normal Awaiting Review defect (bug) new dev-feedback 2020-08-12T14:08:33Z 2020-08-24T21:33:22Z "In `wp-includes/media.php`, `wp_calculate_image_srcset` seems to add the original image to the srcset string if the width is smaller than `$max_srcset_image_width` and if the image isn't a GIF. This isn't desirable since the original image is uncompressed and I don't even think it's intentional. This behavior seems to have been introduced in this patch: https://core.trac.wordpress.org/changeset/35561. From what I can tell, the if statement should read like this: {{{#!php if ( ! isset( $image_sizes['thumbnail']['mime-type'] ) || 'image/gif' === $image_sizes['thumbnail']['mime-type'] ) { }}} The current code will include the original image whenever the thumbnail IS NOT a GIF. This seems to be opposite to the desired behavior? " fredrikll Future Releases 47868 wp_delete_attachment returning successfully, deleting all DB data, but NOT deleting files, and NOT returning false Media normal normal Awaiting Review defect (bug) new dev-feedback 2019-08-13T12:03:06Z 2019-08-20T04:16:29Z "from https://wordpress.stackexchange.com/questions/344976/wp-delete-attachment-returning-successfully-deleting-all-db-data-but-not-delet?noredirect=1#comment505976_344976 I digged into wp_delete_attachment here https://core.trac.wordpress.org/browser/tags/5.2.1/src/wp-includes/post.php#L5450 , it calls wp_delete_attachment_files wp_delete_attachment_files returns false on failure, but this is ignored! in wp_delete_attachment. Now I'm not gonna go on a rant how bad that 'design' is. My question is, how can I make sure that the files DO get deleted? I'm calling {{{ $attachments = get_attached_media('', $post->ID); foreach ($attachments as $attachment) { wp_delete_attachment($attachment->ID, true); wp_delete_attachment never returns falsy. }}} How can I figure out and fix wp_delete_attachment ? in my case it seems that some post_meta might be damaged, as the file location sometimes can be lost for some reason. This should return false or better throw and error" Jossnaz Future Releases 38906 wp_get_attachment_image_src() sometimes gives incorrect width and height values Media normal normal Future Release defect (bug) reopened dev-feedback 2016-11-22T18:57:34Z 2022-12-21T20:11:42Z "The following is an example of a problem that happens to me regularly across multiple sites. I have an image size registered as follows: {{{#!php add_image_size( 'featured-home', 1600, 600, true ); // width, height, crop }}} When I run wp_get_attachment_image_src() as follows: {{{#!php $image = wp_get_attachment_image_src( $post_id, 'featured-home' ); }}} ...and then print_r() the result, I get this: {{{#!php Array ( [0] => http://localhost:8080/lacoastalservices/wp-content/uploads/2016/09/wetlands-1600x600.jpg [1] => 1080 [2] => 405 [3] => 1 ) }}} The image itself is actually 1600 by 600 pixels wide, but for some reason the width and height values given in the array are ""scaled down"" to the width of the next largest image size on the site (1080px), and the corresponding image height if it were actually that wide (405px). Note that WordPress's ""large"" default image size is still at its default of 1024px, so I don't think that's the problem. You can hopefully reproduce this by running the ""Display All Image Sizes"" plugin on a few sites and looking for images whose larger image sizes have a mismatch between their identified dimensions and their actual urls. ""Display All Image Sizes"" is using wp_get_attachment_image_src() to generate the text strings that describe image sizes, which is how I became aware of this bug." pressupinc Future Releases 23148 Add hook in wp_ajax_save_attachment for additional attachment fields audrasjb Media 3.5 normal normal Future Release enhancement reopened needs-docs 2013-01-08T19:25:07Z 2023-06-21T15:15:05Z "As of now, `wp_ajax_save_attachment` only looks for the attachment title, caption, description and alt text fields. Without a hook, there is no way to extend the new media system properly and take advantage of the save functionality. There should be a hook provided at the end of this function (before the JSON response is sent back) that allows devs to update any additional attachment fields that have been rendered by extending the `media.view.Attachment.Details` subview." griffinjt Future Releases 36982 Add image attributes and additional context to the wp_calculate_image_srcset and wp_calculate_image_sizes filters adamsilverstein Media 4.6 normal normal Future Release enhancement assigned dev-feedback 2016-05-31T17:39:55Z 2021-11-18T15:46:55Z "Because the srcset and sizes attributes try to give the browser guidance on how CSS is going to handle images, we should be able to take into account image class attributes (and other attributes that could be used as CSS selectors) when using the {{{wp_calculate_image_srcset}}} and {{{wp_calculate_image_sizes}}} filters to set the appropriate srcset and sizes. It would also be helpful to be able to supply a context to functions like {{{wp_image_add_srcset_and_sizes}}} and {{{wp_make_content_images_responsive}}} so we can calculate different srcset and sizes attributes if a medium sized image is in the main content section vs. in an aside or other section." kylereicks Future Releases 33468 Add image caption hook SergeyBiryukov Media normal normal Future Release enhancement reviewing dev-feedback 2015-08-20T17:05:05Z 2020-03-04T22:34:29Z "There is currently no proper way to hook into image captions. Image captions are stored into the excerpt of attachments posts but when the caption is retrieved it doesn't go threw any specific filter. I think it would be nice to have a `add_filter ( 'image_caption', 'your_filter' );` or something similar. This was already discussed here : [https://wordpress.org/ideas/topic/add-image-caption-hook#post-28710] Captions are used by multiple themes and plugins. They are fully supported and showed in twenty-fifteen so I think we should be able to properly hook/filter them. " guillaumemolter Future Releases 42920 Add support for the picture element adamsilverstein Media normal normal Awaiting Review enhancement assigned needs-unit-tests 2017-12-17T06:10:52Z 2024-02-26T18:25:22Z "The `` element is in the HTML standard and should be supported in WordPress (https://html.spec.whatwg.org/multipage/embedded-content.html#the-picture-element). Similar to the `