__group__ ticket summary owner component _version priority severity milestone type _status workflow _created modified _description _reporter Future Releases 3451 Page URI canonization markjaquith Permalinks 2.1 normal normal Awaiting Review defect (bug) reopened close 2006-12-07T04:46:08Z 2023-02-20T16:05:43Z "The nice permalink URIs for posts or categories are case-insensitive, but the page URIs are not. e.g. http://matt.wordpress.com/about/ cannot be reached via http://matt.wordpress.com/About/ This results in 404s being returned when a user incorrectly gets the case of the URI wrong. This is particularly a problem for weblogs that have migrated old pages to WordPress, and have external pages pointing to them with varying case applied to the URIs." pah2 Future Releases 4328 Redirect Old Slugs feature needs to redirect slugs for pages, not just posts, and redirect old permalink structure SergeyBiryukov Canonical 2.2 normal normal Future Release enhancement reviewing needs-unit-tests 2007-05-24T01:52:44Z 2022-01-25T14:30:12Z "Create a page, browse to it, edit it, change its slug, WP redirects to the old page's slug and serves a 404. Wasn't WP 2.1 or WP 2.2 supposed to make the redirect old slug feature built-in? Along the same lines, it would be sweet if instead of simply redirect old slugs, WP would redirect old urls. When the date changes, when the page parent changes, or when the permalink structure changes, the url changes but neither of WP, the redirect old slug plugin, the permalink redirect plugin, or anything else catches this." Denis-de-Bernardy Future Releases 5250 wpautop() issue with lists Formatting 2.3 normal normal Future Release defect (bug) reopened needs-unit-tests 2007-10-24T00:32:38Z 2023-02-02T13:34:08Z "First of all, my sincere apologies if this is a duplicate. The problem, in short: WordPress inserted a number of unclosed `

` tags into my post. It should either insert correctly closed tags, or none at all. I honestly would prefer the former. In detail: I had HTML code very similar to this: {{{

}}} This was automatically converted to: {{{ }}} Note the extra `

` tag in the above, which is unclosed (making the W3C validator choke on my website). Also note, I was not using the WYSIWYG editor (turning it off was the first thing I did), so it's unlikely to be due to that. As a workaround, manually inserting properly closed `

` tags works just fine: {{{

}}} Since this workaround exists, the bug is not very prioritary, but it should also (hopefully) be easy to fix." Narc0tiq Future Releases 5678 Respectfully strip newlines in some importers hansengel* Import 2.5 normal normal WordPress.org enhancement accepted 2008-01-16T11:20:02Z 2019-03-15T00:39:32Z "Filing this as an enhancement because it could do with some discussion and insight from wiser and more experienced heads before being labelled ""defect"". :-) I noticed while helping some users import their blogs that importers of HTML content (such as the RSS importer) don't tidy up superfluous newlines in the import format, which results in unnecessary {{{
}}} elements after {{{wpautop()}}} filtering for display. They turn up in the editor too, which reinforces the problem. I've adapted one of the filter functions to strip superfluous newlines, and changed my RSS importer to use it. The results have been warmly welcomed by users, who no longer have to clean up their imported blog content. ;-) {{{strip_newlines()}}} should probably go into {{{wp-includes/formatting.php}}}, if there isn't already a function that already serves this purpose. I couldn't find one, so I adapted this. Given that similar HTML block/inline-savvy string-replacement code exists in other formatting functions, perhaps there's an opportunity for some refactoring here? I feel kind of silly proposing a function that is almost entirely duplicated from other code in the core. I've used it immediately before the ""Clean up content"" section in {{{wp-admin/import/rss.php}}}'s {{{get_posts()}}}, and in an Advogato importer that I've written (which also uses HTML as the content format). {{{ function strip_newlines($text) { // Respectfully strip unnecessary newlines $textarr = preg_split(""/(<[^>]+>)/Us"", $text, -1, PREG_SPLIT_DELIM_CAPTURE); $stop = count($textarr); $skip = false; $output = ''; // loop stuff for ($ci = 0; $ci < $stop; $ci++) { $curl = $textarr[$ci]; if (! $skip && isset($curl{0}) && '<' != $curl{0}) { // If it's not a tag $curl = preg_replace('/[\n\r]+/', ' ', $curl); } elseif (strpos($curl, '}}} tags inside CDATA or with Unicode directionality characters (for e.g., RLE and PDF, or ‫ and ‬, or U+202B and U+202C.) for excerpts or titles. While we currently have pretty good support for RTL languages, there is no support for RTL in feeds - all is left up up to the feed reader. I suggest adding a mechanism to automatically insert these tags/characters for blogs that have text_direction set to RTL - much in the same way RTL css style sheets are loaded for these blogs. I have attached a patch that modifies the feed templates to insert these tags/characters. Note that there is no checking of blog directionality here - this is just an example of how to enforce RTL in feeds, not how to enforce it conditionally. This relate to a previous ticket I submitted (#5517), regarding adding an option to set the feed language - which currently just defaults to EN. Certain feed readers know to display RTL text in proper directionality according to feed language (for e.g., feeds that have their feed language set to HE (Hebrew), will get displayed from Right to Left). While setting feed language is not a comprehensive solution, it is a step in the right direction." RanYanivHartstein Future Releases 6492 Guids No Longer Have Permalink Format Database 2.5 normal normal Future Release enhancement reopened 2008-03-31T06:03:30Z 2019-08-30T01:26:43Z "When you create a new post using WordPress 2.5 the GUID is created in the http://siteurl/?p= format even when permalinks are enabled. This is because the _transition_post_status function in /wp-includes/post.php now checks if the guid is empty (which it never is) before resetting/creating it with the proper permalink structure. Line 2841 should be removed. " brianwhite Future Releases 6619 permalink field misleading in page editor: it displays the erroneous values Editor 2.5 normal normal Future Release enhancement new 2008-04-06T14:48:15Z 2021-09-22T13:30:43Z "if you create a sub-page, the permalink field should display the proper permalink. currently, if you have: site.com/page/ and when you create: site.com/page/subpage/ the permalink shows: site.com/subpage/ until it gets saved the expected behavior would be for it to show the correct permalink. the same remark applies when you then change the permalink. if the parent is no longer page, but rather page-2, then the permalink should update accordingly." Denis-de-Bernardy Future Releases 6778 Detect when the config will cause infinite loop Permalinks 2.5 normal normal Future Release enhancement reopened dev-feedback 2008-04-19T13:46:14Z 2019-03-15T00:34:39Z "Behavior: If you put in http://www.domain.com in the ""Wordpress Address"" setting, then Wordpress will automatically do a redirect from http://domain.com to http://www.domain.com. Many hosting packages allow the user to deal with www and non-www versions of their domain. This will cause an infinite redirect loop if, for example, the ""Wordpress Address"" is set to http://www.domain.com and the hosting setting is set remove the www from the domain address-- to redirect http://www.domain.com to http://domain.com. Expected behavior: When setting the ""Wordpress Address"" setting, it should detect if the canocical code will cause an infinite redirect loop and warn/correct the mistake" Analogpoint Future Releases 6814 Async media crunching adamsilverstein Upload 2.5 normal normal Future Release enhancement assigned dev-feedback 2008-04-23T00:19:05Z 2022-08-24T14:14:22Z "The upload part of the new multi-uploader is pretty nice now, but it blocks on the ""crunching"" phase, which can sometimes take 20-60 seconds, I assume to create medium thumbnails and such. The crunching part of the upload should not block the next file beginning the upload process, it should happen asynchronously with the rest of the process." matt Future Releases 6984 wpautop() formats the the contents of shortcodes Shortcodes 2.6 normal normal Future Release defect (bug) new 2008-05-17T10:34:02Z 2019-04-01T10:04:10Z "`wpautop()`, the bane of my existence as a plugin developer, is at it again. Here's an example of some PHP wrapped in a valid shortcode in a post of mine: {{{ [code lang=""php""]$text = str_replace( array('

', '

'), array('

', '

'), $text);[/code] }}} The content that gets passed to my shortcode function is this: {{{ $text = str_replace( array('

', '

'), array('

', '

'), $text); }}} Expected result: it shouldn't touch the insides of valid shortcodes (like adding line breaks or anything as it is doing now)." Viper007Bond Future Releases 7745 Private posts cannot have unpublished or pending review status Posts, Post Types 2.6.1 low minor Future Release enhancement new 2008-09-15T16:32:19Z 2019-03-15T00:32:37Z "Posts with private ticked are immediately set to published, and cannot be reverted to unpublished or pending review while private is ticked. Given the default use of private posts, this behavior is understandable, but it seems far simpler if the behavior remained consistent with public posts. In our particular case, we are using Role Manager to allow subscribers to read private posts. A simple solution that suits our particular needs well. But we really need the full draft/review process, just as with public posts." nyoungman Future Releases 7795 Activate and Deactivate Theme hooks Themes 2.7 normal normal Future Release enhancement assigned 2008-09-26T20:40:53Z 2019-03-15T00:32:18Z Currently, there is no standard way of checking whether of theme is activated, deactivated and uninstalled. Plugins have this capability and themes should also have the same to ensure that both share similar functionality. jacobsantos Future Releases 7797 Consolidate iframe headers Administration 2.7 normal normal Future Release enhancement assigned 2008-09-26T23:35:46Z 2019-03-15T00:31:49Z "Currently iframes are being used in multiple locations (ie. thickbox, plugin re-activation, etc) and in each case, theres generally a function for the header and footer, or its inline. What i suggest, Is to create a standard set of admin templates which print the headers out for the pages. And a side suggestion:[[BR]] As an added bonus, It should probably be possible to automatically detect if it was loaded via thickbox ($_GET[TB_iframe] shouldnt be set) and serve the correct header (ie. Full admin side menu if no thickbox)" DD32 Future Releases 8107 get_next_post, get_previous_post do not work for posts posted within same second Posts, Post Types 2.7 normal normal Future Release defect (bug) new dev-feedback 2008-11-08T12:34:22Z 2018-12-09T21:00:15Z "if you have posts that are published shortly one after the other (e.g. through a script or plugin that posts several posts at once) several of them may end up having the same post_date in the wordpress database table. this is due to the fact that mysql datetime seems to only maintain a precision of one second (see also this discussion: http://bugs.mysql.com/bug.php?id=8523). the problem now is that wordpress functions like get_next_post/get_previous_post (get_adjacent_post resp.) will no longer work correctly if something like this happens as they solely rely on a comparison of the post_date field and they don't treat the case where these timestamps are the same for several posts. the result is that e.g. get_next_post will pick one of the posts having the same timestamp and ""jump"" over the others, so the user will never see them. i see two possibilities around this 1.) treat cases with the same post_date by e.g. looking also at the post id (assuming it is always strictly increasing) or probably preferably 2.) make sure that no two posts have the same post_date timestamp by e.g. increasing post_date artificially when publishing the post and if another post already has the same timestamp. " whoismanu Future Releases 8578 Blogger import incorrectly reports saved user information Import normal normal WordPress.org defect (bug) new 2008-12-11T16:53:52Z 2019-03-15T00:30:30Z "I installed a fresh copy of WordPress 2.7 and was importing content from a Blogger site. Before beginning to import, the page claimed that Blogger account information was saved in the database and that I could restart the process. Even after pressing the ""Clear account information"" button, the message still appeared." covert215 Next Release 8857 Make WP MySQL strict mode compliant Database 6.4.2 lowest normal enhancement reopened 2009-01-14T11:25:26Z 2024-01-22T08:45:43Z "Incorrect Mysql scheme during WordPress installation on DBMS with strict date/datetime format settings will result in errors and will be unable to finish succesfully. Existing default date and datetime values are '0000-00-00' and '0000-00-00 00:00:00' which are not supported any more. Please see official Mysql dev documentation for more information: {{{ The DATE type is used when you need only a date value, without a time part. MySQL retrieves and displays DATE values in 'YYYY-MM-DD' format. The supported range is '1000-01-01' to '9999-12-31'. }}} http://dev.mysql.com/doc/refman/5.0/en/datetime.html " ghostks Future Releases 8905 Category pagination broken with certain permalink structures Permalinks 2.7 normal normal Future Release defect (bug) assigned 2009-01-21T07:26:31Z 2021-01-27T10:17:49Z "If one uses a permalink structure with %category% followed by %postname%, accessing pagination can cause a 404, as WordPress attempts to look for a post called ""page"". As per http://barefootdevelopment.blogspot.com/2007/11/fix-for-wordpress-paging-problem.html Presumably can occur with other permalink structures too." rmccue Future Releases 9117 Spam queue doesn't distinguish between filter sources Comments 2.7 normal normal enhancement new 2009-02-12T22:50:51Z 2019-06-04T19:21:30Z "1. On the Settings / Discussion tab, go to the Comment Blacklist box, and add the string ""the"". 2. Post a comment containing the word ""the"". It will be caught as spam. 3. Visit the Comments / Spam tab. Your comment is there, but there is nothing to indicate whether it was caught by the Comment Blacklist, or by Akismet, or by another spam filter. Result: neither the user nor WordPress knows how to prevent that comment from being caught in future. Many users will forget about the Blacklist feature and assume their spam filter plugin is faulty. Suggested fix: comments caught as spam should record the reason. This should be displayed to the user, and used internally by spam filter plugins to decide how to handle false positives. " tellyworth Future Releases 9296 Settings API & Permalink Settings Page Bug jfarthing84 Permalinks 2.7.1 normal major Future Release defect (bug) reopened 2009-03-07T05:33:55Z 2020-09-25T23:12:01Z Although there is a hook in the options-permalink.php to insert custom settings, it does not actually save any custom setting which is added to that page. Instead of posting to options.php like all the other options pages, it posts to itself and only handles the form data which is built into the wordpress core. It should be implemented on that page to also store custom settings that may be hooked onto that page. jfarthing84 Future Releases 9510 Multiple feed fixes and enhancements Feeds 2.7.1 normal major enhancement new dev-feedback 2009-04-11T09:36:47Z 2019-06-04T19:42:32Z Currently, the feed always returns the same subtitle, self link, alternate link and replies link no matter what the page type is. I think they should be different for each page type. peaceablewhale Future Releases 9824 make better use of stubs when verbose rules should apply Rewrite Rules normal normal task (blessed) reopened needs-unit-tests 2009-05-15T01:03:56Z 2019-06-04T21:05:28Z "Related to: http://core.trac.wordpress.org/ticket/6603#comment:27 Problem fixed is: > posts show up as www.apexprd.org/page/2 and not /news-and-events/page/2 as it should. with permalinks set to /something/$postname%/ we arguably don't necessarily need verbose rules here, since there is a stub." Denis-de-Bernardy Future Releases 9825 Enforce permalink history, outright Permalinks 2.8 normal normal enhancement assigned needs-unit-tests 2009-05-15T01:06:37Z 2019-06-04T20:40:43Z "currently, we enforce old slugs and www pref (not even sure that works, since I ended up fixing it in a plugin). canonical doesn't work for pages, or hardly. we should enforce permalink history, outright. store it in a a db field, and query against it to optimize url2post()." Denis-de-Bernardy Future Releases 9968 dynamically adding/removing filters breaks plugins Plugins low normal Awaiting Review defect (bug) reopened needs-unit-tests 2009-05-28T23:43:11Z 2020-03-02T15:43:22Z "noticed this while doing something similar to this: {{{ add_action('foo', 'bar1', 10); add_action('foo', 'bar2', 20); function bar1() { remove_filter('foo', 'bar1', 10); } }}} in the above, bar2() doesn't get called. it is because of the usage of next()/current() to loop through filters. attached patch uses a foreach loop instead, to make it work." Denis-de-Bernardy Future Releases 10033 wpautop problems with html comments and object tags Formatting 2.8 normal minor defect (bug) new needs-unit-tests 2009-06-04T12:06:35Z 2019-06-04T19:42:36Z "Bumped into this one when upgrading my mediacaster plugin to use swfobject 2.1 (which is not 1.5 compatible), as documented here: http://code.google.com/p/swfobject/wiki/documentation I take it I'm not the only one who is going to need to upgrade a plugin. It's minor, since I'll just move the filter further down in the queue, but it's still worth reporting: {{{

Get Flash 9.0 to see this player.

}}} Gets turned into the following mess: {{{

Get Flash 9.0 to see this player.



}}} So, two/three issues: - wpautop should also ignore double object tags, and html comments - wptexturize should ignore html comments" Denis-de-Bernardy Future Releases 10269 wysiwyg bug with shortcodes miqrogroove Formatting 2.8 low normal defect (bug) assigned 2009-06-25T11:29:42Z 2019-06-04T20:01:14Z "When inserting two consecutive shortcodes on separate lines, the wysiwyg editor will change the post's contents on save. {{{ [caption /] [caption /] }}} gets turned into: {{{ [caption /] [caption /] }}} the odd thing is that only genuine shortcodes get changed, too. the following is left alone: {{{ [notashortcode /] [notashortcode /] }}} " Denis-de-Bernardy Future Releases 10275 Filter logic has been put into the template loader while it not belongs there. Themes 2.8 normal normal defect (bug) reopened dev-feedback 2009-06-25T20:22:34Z 2019-06-04T21:05:33Z "Some time ago, filter logic has been introduced in the template-loader. Looks like a fix for the inability to handle attachments propperly (WP misses more and more a strict request parsing so that newer features tend to introduce more and more bugs). The code has not been removed yet. It should be removed there or put into a more appropriate location. The code in question is: {{{ remove_filter('the_content', 'prepend_attachment'); }}} in /wp-inclueds/template-loader.php around line 30." hakre Future Releases 10384 Make IIS Permalink support enabled based on capability not on version number westi Permalinks 2.8 normal normal enhancement new 2009-07-11T08:37:44Z 2019-06-04T20:40:48Z "At the moment we enable the IIS permalink support based on checks for IIS7 and then some capabilities. We should remove the version checking and work solely on capabilities so that we don't have to revisit when IIS8 is released." westi Future Releases 10390 attachments should store the WP uploads path that was configured when they were uploaded Media 2.8.1 normal normal enhancement reopened dev-feedback 2009-07-12T10:34:51Z 2019-06-04T20:01:48Z "When you upload an image, currently, the uploads path (defaults to wp-content/uploads) is not stored. If you change this later on to something else, previously inserted galleries no longer work, among multitudes of other problems." Denis-de-Bernardy Future Releases 10432 Dynamic classes for current blog post item, current term item Themes 2.8.1 normal normal enhancement new 2009-07-17T14:35:33Z 2019-06-04T21:05:34Z "wp_list_pages() produces a class .current_page_item for the page you are currently viewing. This makes it possible to style the current page item different from the other page items in the list. But there are several other places the same functionality would come in handy: There should be equivalent ways to style the current blog post item in the Recent Posts widget, the current category in wp_list_categories(), and the current tag in wp_tag_cloud('format=list')." dnusim Future Releases 10631 "wp-admin/users.php does not show pages under ""posts"" column" Users 2.8.4 normal normal Awaiting Review defect (bug) reopened dev-feedback 2009-08-16T18:51:20Z 2022-05-13T22:07:25Z "For some reason, the SQL query in '''wp-includes/user.php''' that gets the count of a user's posts excludes pages, so '''/wp-admin/users.php''' will not show an accurate picture of a user's contributions. This makes no sense at all: 1. posts and pages are first-class content types in WordPress and 2. they are both stored in the same table. Proposed solution: remove {{{ AND post_type = 'post' }}} from '''function get_usernumposts''' in '''wp-includes/user.php'''. This defect could result in incorrect interpretation of user activity, so marked as major severity." novasource Future Releases 10660 Time zone suggester based on nascent WordPress.org API call rmccue Date/Time 2.8.4 normal normal Future Release feature request assigned dev-feedback 2009-08-20T05:59:42Z 2019-09-02T06:45:02Z "The attached patch uses a new API call to http://api.wordpress.org/core/ip-to-zoneinfo/1.0/ to retrieve a suggested time zone based on client (not server) IP address. A button is added next to the existing dropdown list of time zones providing the option to ""Suggest a time zone"". This calls the API using an AJAX/JSONP request which then auto-selects a time zone for the user from the dropdown. Visual feedback is via a spinner when fetching and then a text response. Additionally the Date and Time settings have been split out to a new settings page. Related ticket: #10324" sambauers Future Releases 10690 WordPress does not support non-ascii characters in the domain name markjaquith Canonical 2.8.4 normal normal defect (bug) reopened needs-unit-tests 2009-08-26T18:26:13Z 2019-06-04T19:21:34Z WordPress' clean_url() strips out most characters, which are non-ascii for security reasons. This is causing problems, if you want to run a WordPress blog on a domain containing non-ascii-characters (e.g. müller.com), because WordPress generates wrong URLs on redirects. paddya Future Releases 10762 Bulk editing creates invalid URIs Quick/Bulk Edit 2.8.4 normal normal Future Release defect (bug) assigned 2009-09-09T16:53:30Z 2018-12-16T02:57:02Z They simply get too long for example if you move 999 posts to trash. It might be helpfull to switch to the post form method. hakre Future Releases 10883 db-error.php not used for all DB failures Database 2.8.4 normal normal enhancement assigned 2009-10-01T02:45:28Z 2023-12-07T13:19:54Z "db-error.php (the optional custom DB error message file to be placed in wp-content) does not get included all the time. Sometimes wp-db.php will use its {{{bail()}}} method to spit out its own message. This code needs to be there too: {{{ if ( file_exists( WP_CONTENT_DIR . '/db-error.php' ) ) { require_once( WP_CONTENT_DIR . '/db-error.php' ); die(); } }}}" markjaquith Future Releases 10955 Replace ThickBox External Libraries 2.9 normal normal Future Release enhancement reopened dev-feedback 2009-10-14T14:37:42Z 2023-11-10T16:01:17Z "Have you thought about replacing ThickBox? It is no longer under development (as their site says) and it doesn't conform to standard jQuery plugin practices. For example, I'm trying to use it for a plugin of mine and I'm wanting to tie into the ""onClose"" event for ThickBox which isn't too easily done. I know I could just include one of the other plugins, like colorbox, with my plugin but I think it'd be a great service to other developers if you included a more flexible library. (I would have assigned this to 3.0+ but the option isn't available.)" aaron_guitar Future Releases 10975 comment form nonce Comments normal normal Future Release enhancement new 2009-10-19T06:49:16Z 2020-02-27T17:33:32Z "This adds a nonce to public comment forms, via the comment_form action. " tellyworth Future Releases 11049 Page Preview does not autosave page template nacin* Autosave 2.8.4 normal normal defect (bug) accepted dev-feedback 2009-10-30T21:19:34Z 2019-06-04T19:21:39Z When editing a published page, if you change the page template and then click Preview, the preview does not show the new template choice. janeforshort Future Releases 11160 Inconsistancies in Naming and Using Sidebar Names and IDs. azaozz Widgets 2.9 normal normal defect (bug) new needs-unit-tests 2009-11-17T12:58:55Z 2019-06-05T06:37:18Z "register_sidebar() allows more sidebar names and IDs to be registered than dynamic_sidebar() recognizes as valid names and IDs. For example, register_sidebar() allows me to name a side bar ""1"" with a id of ""first"". I don't know why anyone would choose those values, but register_sidebar() allows it [1]. {{{ register_sidebar( array('name' => 1, id => 'first') ); }}} dynamic_sidebar() will not be able to find the sidebar given its name (1). {{{ if ( is_int($index) ) { $index = ""sidebar-$index""; /// 1 becomes 'sidebar-1' ... }}} The main problem is that dynamic_sidebar() is trying to process both IDs and names through the same variable ($index) while register_sidebar() separates the two with an array ( array('name' => 'Top', 'id' => 'sidebar-1' ). According to the in-line docs for dynamic_sidebar(): It is confusing for the $index parameter, but just know that it should just work. When you register the sidebar in the theme, you will use the same name for this function or ""Pay no heed to the man behind the curtain."" Just accept it as an oddity of WordPress sidebar register and display. It does ""just work"" if you never use your own sidebar IDs. I started looking at this because I wanted to use is_active_sidebar() which tests to see if a dynamic_sidebar() has anything in it. There is no get_dynamic_sidebar(). dynamic_sidebar() sends everything to the browser or returns false. {{{ register_sidebar( array('name' => 'Top') ); // id defaults to ""sidebar-1"" ... if ( is_active_sidebar('Top') ) dynamic_sidebar('Top'); }}} Which fails because is_active_sidebar() just completely skips over searching for an id to go with a name. To get it to work you need to know when it was registered. Not something theme authors and designers are going to follow easily. There's a ticket to fix this: [http://core.trac.wordpress.org/ticket/10440 #10440] {{{ if ( is_active_sidebar(1) ) dynamic_sidebar('Top'); }}} Like dynamic_sidebar(), is_active_sidebar() converts 1 to ""sidebar-1"". Unlike dynamic_sidebar() it assumes everything is entered as an id. unregister_sidebar() assumes its parameter (incorrectly named $name, not $id) is an id. But it wants a literal id, like ""sidebar-1"". unregister_sidebar(1) unregisters a sidebar with an id of 1, while dynamic_sidebar(1) tries to display a sidebar with an id of ""sidebar-1"". === Widgets (Admin Page) === The dynamic_sidebar() function is used by the Widgets management page. So, it is possible to create a sidebar with register_sidebar() that dynamic_sidebar() cannot find. You can populate it with drag and drop [2] and not have it appear on the web site. == After Patch == If committed, this patch would remove the need for tickets [http://core.trac.wordpress.org/ticket/10440 #10440] and [http://core.trac.wordpress.org/ticket/10956 #10956]. It changes the current argument behavior of unregister_sidebar(), but doesn't break backward compatibility. It allows is_active_sidebar(), unregister_sidebar() and dynamic_sidebar() all point to the same sidebar. === Before === These all refer to the same sidebar: {{{ is_active_sidebar(1); unregister_sidebar('sidebar-1'); dynamic_sidebar('Sidebar Top'); }}} In an admittedly contrived case, dynamic_sidebar() would silently fail to allow this sidebar to show: {{{ register_sidebar( array('name'=>'Sidebar Top', 'id' => 1) ); }}} === After === These all refer to the same sidebar (the first two would have broken before the patch): {{{ is_active_sidebar('Sidebar Top'); unregister_sidebar('Sidebar Top'); dynamic_sidebar('Sidebar Top'); }}} After the patch this shows fine: {{{ register_sidebar( array('name'=>'Sidebar Top', 'id' => 1) ); }}} After the patch it is possible to force an argument to be only a name or only an id: {{{ is_active_sidebar(array( 'name' => 'Sidebar Top' )); unregister_sidebar(array( 'name' => 'Sidebar Top' )); dynamic_sidebar(array( 'id' => 1 )); }}} === Notes === [1] register_sidebar() allows the user to override the default setting of: 'id' => ""sidebar-$i"", [2] When you refresh the Widgets management page the widgets will disappear from the sidebar. They are still attached to a sidebar, but dynamic_sidebar() cannot see the sidebar." CharlesClarkson Future Releases 11297 Don't email the admin when they create a user from the backend Users 2.9 low minor enhancement new dev-feedback 2009-12-01T12:05:31Z 2019-06-05T06:44:57Z "I just created the user myself. I already know I did it. I don't need to be told again. Emails should only be sent to the admin when a user registers themselves (if that is enabled). They shouldn't be sent when the admin manually creates a new user." caesarsgrunt Future Releases 11311 kses converts ampersands to & in post titles, post content, and more Posts, Post Types 2.9 normal normal Future Release defect (bug) new 2009-12-03T01:49:32Z 2022-08-03T15:41:48Z "Make a test user that has the ""author"" role (i.e. no `unfiltered_html`) and write a post with a title that has `&` in it. After saving, it will becomes `&` due to `wp_filter_kses()`. It gets saved in the database this way too. It's confusing to the user." Viper007Bond Future Releases 11381 display_page_row() generates boat loads of needless queries pbearne Posts, Post Types normal normal defect (bug) assigned 2009-12-10T12:41:45Z 2024-02-22T22:43:04Z "on sites with many static pages that are spread across multiple parents, display_page_row() triggers multitudes of calls to the db. specifically, it's repeatedly calling get_pending_comments_num(). it's also calling get_editable_user_ids() and wp_dropdown_users(), both of which do not seem to cache their results in case they're used several times on the same page." Denis-de-Bernardy Future Releases 11398 new sort method for query_posts (order by last comment date) Query 2.9 normal normal enhancement assigned 2009-12-11T15:44:42Z 2019-06-04T20:40:57Z "I think we need sorting by latest post comment ability for query_posts. ""Recent comments"" plugins does this but we need this sorting in the core. BBPress is planned as a WP plugin according latest chat logs posted by Matt. We gonna have to need this anyway." erden.ozkan Future Releases 11465 custom field duplicated westi* Editor 2.8.4 normal minor Future Release defect (bug) accepted 2009-12-16T21:09:23Z 2022-06-08T22:40:11Z "When I enter the information for a custom field and click on Preview without first clicking Add Custom Field, the custom field is saved. But then when I click Publish, it is saved again, appearing in the post twice. If I click Add Custom Field before Preview, subsequent Publish does not duplicate the custom field. But it is very convenient and efficient to be able to avoid a separate save of the custom field. " ericr23 Future Releases 11472 Should QuickEdit remove posts from lists as needed? Quick/Bulk Edit 2.9 low minor Future Release enhancement new 2009-12-17T10:29:38Z 2019-12-09T17:54:37Z "Create a draft post. Visit Posts / Edit, and quickedit the draft. Set its status to Published and save. It remains around, with the published status, instead of being removed from the list. Reporting this just in case, as it might be a UI feature rather than a bug. " Denis-de-Bernardy Future Releases 11515 Admin needs standardized way of handling messages (notices) displayed to the user Administration 3.0 normal normal Future Release enhancement new 2009-12-19T19:53:03Z 2018-11-16T18:43:03Z "If you try to upload a media item under Media > Add new without an uploads directory, you get the following vague error message: {{{ Error saving media attachment. }}} If you try instead to upload from the post edit page, you get a much more helpful message: {{{ Unable to create directory /path/wp-content/uploads. Is its parent directory writable by the server? }}} In each case, the root error is the same, but the second error message points the way to a solution. Even if the user doesn't know herself what that message means, it's a message that provides the necessary information to someone else who does and is trying to help the user. The first message is completely useless, as it states only what we already know: something went wrong. The reason Media > Add new doesn't offer a helpful message is that the error is generated on one page request, and ''then'' the user is redirected to another page. We need a standard, cross-page-load way of conveying messages in admin. I've thought of a few possible ways of doing this: * Define and use a standardized set of error codes and associated error messages. This is similar to what happens currently on many pages: the unhelpful ""Error saving media attachment."" appears when the message argument is set to ""3."" What I'm suggesting would use a common set of message codes across the admin and be much more detailed. So the above situation would instead produce a message like ""Unable to create the uploads directory."" * Save error messages to a cookie. Unlike the previous method, this would allow messages to be made particular to their event. * Have some kind of user messaging stack. New messages would be pushed into a user's stack (stored in usermeta) and popped off after a certain time, or when read, etc. This has the advantage of lasting across sessions and browsers and being usable for other applications, such as PMs between users. What do you think?" filosofo Future Releases 11734 trackback_rdf() for IDN (xn--) Domains produces invalid HTML Comments 3.1 normal normal defect (bug) new has-patch 2010-01-06T01:10:55Z 2019-06-04T19:21:42Z "Hello The trackback_rdf() function from wp-includes/comment-template.php wraps the ""..."" output inside """" HTML comments, probably to be safe as not all Browsers understand them. When using Wordpress 2.9.1 on a site with an international domain name [1] that contains special characters like German ""Umlauts"" like äöü, this domain name is written as e.g. xn--tst-qla.de for täst.de. Now the output of trackback_rdf() suddenly gets a ""--"" which is the SGML/HTML comment separator mark [2]. Firefox 3.5.6 e.g. sees this as the end of the comment and therefore shows the final ""-->"" as text to the user. As the whole RDF tag is supposed to be invisible for the user, it's a bug in Wordpress :-( Here is an real world example output: {{{

}}} Sadly I have not yet come up with a solution. PHPs urlencode() does not escape a double dash - which is ok as its usually perfectly valid. Maybe someone with RDF experience has a good idea. bye, -christian- [1] http://en.wikipedia.org/wiki/Internationalized_domain_name#Example_of_IDNA_encoding [2] http://htmlhelp.com/reference/wilbur/misc/comment.html " lathspell Future Releases 11740 Sorting tags and towns does not work well for utf-8 nbachiyski I18N 2.9 normal normal Awaiting Review defect (bug) new dev-feedback 2010-01-06T12:42:24Z 2024-02-28T16:41:53Z "There are problems with sorting special Czech characters: 1) Options - General - Timezone selection. Evropa (Europe) First item should be Amsterdam, but instead of it there is ""Řím"" (Rome in Czech). And this is not right, character Ř should be between R and S. 2) Editing posts - Select from most used tags. You can create tags ""Rome"", ""Amsterdam"" and ""Řím"". Tags are also sorted in a bad way, first is ""Řím"". It is very problematic for Czech users when there are many tags, because it does not help them..." pavelevap Future Releases 11800 doubled execution of cron jobs westi Cron API 2.9.1 normal normal Future Release defect (bug) new dev-feedback 2010-01-07T11:17:53Z 2021-04-04T10:34:28Z "Hi, as I've already mentioned in ticket #11505 , cron-jobs occasionally get executed twice (e.g. daily backup arrives two times). I've changed the code according to the patch attachment:ticket:11505:ticket-11505-stop-gap.patch (which derives from [http://wpengineer.com/ping-problem/]) after my comment:ticket:11505:49 and had no doubles within this time period. This week I've upgraded to WP 2.9.1 and since then backups arrive two, sometimes three times, again. Looking at the changes from 2.9 to 2.9.1, I have no other explanation for this behavior. - Maybe we should consider having a closer look again on this patch attachment:ticket:11505:ticket-11505-stop-gap.patch . Greetz, Berny" neoxx Future Releases 11856 URL for 1st comments page is not canonical markjaquith Canonical 3.0 normal normal Future Release defect (bug) new dev-feedback 2010-01-10T19:17:42Z 2023-10-19T20:04:59Z "When WP generates URL for comments, it always includes comments page number. It should not do this when URL is for 1st comments page - in this case post URL is sufficient. WP should also redirect to canonical URL version when someone will try to load URL like site.com/some-post/comment-page-1." sirzooro Future Releases 11869 Multisite upgrade notice at wpmu-upgrade-site.php isn't steadily visible. Upgrade/Install 3.0 normal minor Future Release enhancement new 2010-01-11T22:03:14Z 2017-04-23T20:39:16Z "When upgrading (Site Admin > Upgrade) wordcamp.org, it started upgrading each site and flashing a list of 5 sites at a time that had been upgraded (too quickly to really be read beyond the first item in each list). When it flashed through all the screens, it showed ""All done!"" and nothing else. Preferred UX would be to list the sites in order as they are upgraded but in a single persistent list rather than in flashing batches of five, and to show the all-done message on the same screen, with the list of everything that has been upgraded. It would be good to have the text appear at bottom of list (in sequence) but to also drop in an alert message at top of screen. " jane Future Releases 11877 Resized Images lose their EXIF data Media 3.0 normal normal enhancement reopened 2010-01-12T10:47:55Z 2019-06-04T20:01:51Z The thumbnail, and medium re-sized images do not keep EXIF data of the original image. thee17 Future Releases 12208 Add Quick Edit To Media Library list view Quick/Bulk Edit normal normal Future Release feature request new dev-feedback 2010-02-12T01:45:12Z 2023-02-07T23:15:38Z I am requesting that a quick edit link be added to the media in the media library like what is on the posts page. I would like to quickly be able to edit titles, alts, and captions at least. queenofdiy Future Releases 12286 bug and fix when importing from Movable Type Import normal normal defect (bug) new 2010-02-19T13:26:59Z 2019-06-04T20:01:57Z "I'm running WP Mu 2.9.1.1 and had a problem importing a Movable Type blog to WP and found a fix (sort of). Symptom: When importing a blog from Movable Type to a blog in WP, you are asked to assign (or map) WP authors to MT authors. But, it turns out that the first author on the list is assigned to all posts. The other authors selected are neglected. Therefore, all of the posts end up belonging to one author. Fix: I found the problem in wp-admin/import/mt.php. Specifically, ""$mtnames"" is not properly populated with authors from MT. So, I changed the code in function get_authors_from_post() as follows: function get_authors_from_post() { $formnames = array (); $selectnames = array (); $this->mtnames = $this->get_mt_authors(); I just added the last line shown above and then finally the import properly assings authors as intended. (There might be a better place to put the last line, however.) " leyburn888 Future Releases 12363 Comment permalink wrong when only listing one comment type wonderboymusic Comments 3.0 normal normal defect (bug) assigned dev-feedback 2010-02-24T14:31:51Z 2019-06-04T19:21:46Z "If you pass the `type` parameter to `wp_list_comments()` (for example, to show comments only and no pings), then comment permalinks can easily use the wrong page number as they expect there to be pings included. This is apparent after leaving a comment and WordPress attempts to redirect back to your new comment. At first I was thinking you could tell WordPress that you're filtering to a type and it could compensate when determining the page number, but then I realized perhaps it'd just be better for `wp_list_comments()` to check if there were 0 comments returned for the query and if so, see if there are any of that type of comment available. If so, then we know we're on too high of a page number and can instead display the highest existing page. Then again this introduces SEO issues. Ideas on what to do are welcome." Viper007Bond Future Releases 12477 Search with special characters and similar terms nbachiyski I18N normal normal feature request new dev-feedback 2010-03-02T17:42:46Z 2019-06-04T20:01:58Z "I did:Tried searching for terms Metis and Métis I saw:Those two searches turned up different sets of results. I expected:The same set of search results, or at least everything when I searched for Metis. Can search be smarter when special characters are involved?" mrroundhill Future Releases 12567 make post_submit_meta_box more generic Posts, Post Types normal normal enhancement new 2010-03-10T00:46:20Z 2019-06-04T20:41:05Z "Currently there isn't a way to modify the meta boxes which set the post status. The function post_submit_meta_box in wp-admin/includes/meta-boxes.php is a closed function with post statuses hard coded. A new post status registered using register_post_status is available to the query object and plugins but cannot be added to the post status select box in the publish meta box. A lot of the post_submit_meta_box is hardcoded to the default post status types. Consider the use case where you want posts to only be visible to logged in users. A custom post status selectable by the user in add/edit post could be used which is then added or excluded in the query (filtered by posts_where) depending on whether the user is logged in or not. This way core can handle the non-visible posts the way private or future posts are handled. " themattharris Future Releases 12578 import from movable type doesn't import tags or basename Import 3.0 normal normal enhancement assigned 2010-03-11T00:58:46Z 2019-06-04T20:02:00Z The current movable type import script doesn't import tags from movable type and it doesn't import the basename (movable type's version of the post_name, which is necessary for a seemless transition). Adding support for importing these two important bits is not terribly difficult and I'm working on improving the import script to aid in my own upcoming migration. I'll attach a patch against the trunk. stevecrozz Future Releases 12671 Installer page doesn't check if MySQL tables were created successfully Upgrade/Install 2.9.2 normal normal Future Release enhancement assigned 2010-03-22T17:47:33Z 2018-12-15T22:52:14Z "When running the web-based setup script - My Mysql user didn't have create permissions so no tables were created but the message (underneath all the MySQL errors) said setup was successful. I think it would be worth doing a check for no MySQL errors before proclaiming the installation a success." thedotproduct Future Releases 12720 Delete user and hook confusion when deleting users in Multisite Users 3.0 normal normal defect (bug) new 2010-03-26T12:42:59Z 2019-06-05T06:37:23Z "Currently: The hook ''wpmu_delete_user'' fires when deleting user in Super Admin->Users. The hook ''remove_user_from_blog'' when deleting user under site Users->Authors & Users. In standard WP: The hook ''delete_user'' is called when deleting users it should be the same in MultiSite when deleting from Super Admin->Users. Or add new hooks and deprecate previous. ''delete_user_from_network'' for when deleting a user totally. ''delete_user_from_site'' for when deleting a user from a specific site. This is hook also then fires in non-MultiSite mode since that then corresponds to one site." andreasnrb Future Releases 12839 Themes should be sandboxed on activation to prevent fatal errors Themes 3.0 normal normal Future Release enhancement new 2010-04-04T06:16:25Z 2021-01-02T20:23:28Z "I've just made a child theme of TwentyTen by copying the folder over, renaming, and adding a Template: header to the style.css file. Upon activation, I've been thrown to a page with a fatal error due to redefining a twentyten function. Ideally, theme activations should be passed through a sandbox style activation the same as plugins." dd32 Future Releases 12934 Allow a menu to be added as a menuitem to be a submenu. Menus 3.0 normal normal enhancement assigned 2010-04-08T21:55:32Z 2019-06-04T20:02:03Z "Add capability to add a menu as a menuitem to be a submenu thus allowing multiple menu items to share the same submenus. See reference in April 8 devchat: https://irclogs.wordpress.org/chanlog.php?channel=wordpress-dev&day=2010-04-08&sort=asc#m106225" mikeschinkel Future Releases 13066 Last-Modified headers for individual comment feeds are incorrect jgci* Feeds 3.0 low normal Future Release defect (bug) accepted dev-feedback 2010-04-21T07:32:34Z 2022-06-28T05:18:27Z "The WP::send_headers function currently uses get_lastcommentmodified() to set the Last-Modified header for all comment feeds. This is a problem when used for individual post comment feeds. The function gets the last modified comment across all blog posts. That means that every time a comment is posted anywhere, the Last-Modified header for ALL comment feeds is refreshed. Issues: 1. This is technically incorrect, since only the global comment feed and one specific post's comment feed have changed with the last comment (not all possible comment feeds); and 2. It means that If-Modified-Since requests for other post comment feeds will not receive a 304 response when they should do (since their content hasn't changed). On blogs with many posts and many comment feeds, this will have a large impact on bandwidth because lots of requests will receive 200 responses where 304's would have done, just because a comment was posted on some other post. If I've understood the flow correctly, $wp_query hasn't been fully set up at the time this function is called, so changing this behaviour would require some change in the flow of things (e.g., the handling of last modified headers for feeds moves into the do_feed() function). But doing so would mean that Last-Modified headers are correct/meaningful and that many more 304 responses can be served. Any thoughts?" solarissmoke Future Releases 13169 Return Dynamic Sidebars with get_dynamic_sidebar Widgets normal normal Awaiting Review enhancement reopened 2010-04-28T18:07:28Z 2019-05-22T07:19:20Z "Currently there is no available function to return the contents of a dynamic sidebar. The following code enables developers to return and assign the contents of a dynamic sidebar to a variable within their code. {{{ function get_dynamic_sidebar($index = 1) { $sidebar_contents = """"; ob_start(); dynamic_sidebar($index); $sidebar_contents = ob_get_contents(); ob_end_clean(); return $sidebar_contents; } }}} " w3prodigy Future Releases 13247 Drag/drop for add menu item boxes koopersmith Menus 3.0 normal normal enhancement new 2010-05-04T07:12:03Z 2019-06-04T20:02:06Z Because checkboxes are no fun. This first patch covers dragging from view all and most used. Search still has bugs. koopersmith Future Releases 13273 "Allow ""'non-clickable"" menu items" Menus 3.0 normal normal Future Release enhancement new 2010-05-06T10:58:50Z 2023-11-10T16:19:53Z "In the new menu generator I'm missing the option to create ""non-clickable"" menu items. What I'm after is that I want to create for example a main menu item with the title ""Links"" which is non-clickable (no url attached to it) and basically only acts as an umbrella item for the actual links I want to locate as subitems of the item ""Links"". - Home - Something else - Links (this one should be non-clickable) - external link 1 - external link 2 - etc I think that an optional tickbox in the add link section will do the trick. Basically, all it has to do is to ""disable"" the check whether or not a valid URL format has been submitted and, of course, it has to trigger some modified html output. Hope you guys can add this in the 3.0 release because this would basically complete the menu generator :) Keep up the good work and I'm really looking forward to the 3.0 release!" stgoos Future Releases 13372 Separate Image sizes for different post types Media 4.6.1 normal normal Awaiting Review enhancement reopened close 2010-05-13T07:59:07Z 2020-04-18T04:45:23Z Would be nice, especially moving forward with custom post types to have the ability to set different image sizes using an additional parameter of `add_image_size()` for different post types: Page, Post, and Custom. brandondove Future Releases 13473 comment_status should be set to default_comment_status when commentstatusdiv is removed westi Comments normal normal defect (bug) reopened 2010-05-20T23:36:24Z 2019-06-04T19:21:51Z "When the Comment Status box is removed from the Add/Edit Post screens, posts should be created with the comment_status set to the value of the default_comment_status option. ----- I had hidden the Comment Status box via: remove_meta_box('commentstatusdiv','post','normal'); and made sure that default_comment_status was set to open: update_option('default_comment_status', 'open'); After adding a new post it displayed ""Comments Off"" when I was assuming that it should have honored the value of default_comment_status." jimmcq Future Releases 13554 WordPress MU canonical link redirect failure markjaquith Bootstrap/Load 2.9.2 normal normal defect (bug) reopened 2010-05-26T16:30:37Z 2019-11-19T17:04:05Z "This problem manifests itself in Wordpress '''MU''' 2.9.2, but '''not''' in Wordpress 2.9.2. In the MU install where blogs are subdirectories, canonical redirects work correctly for the subdirectory blogs, but not for pages on the root blog. For example, [http://silverwarethief.com/essays/] is a sub-blog in the wordpress MU install. If you alter that link to [http://www.silverwarethief.com/essays/] wordpress MU will correctly redirect the browser to the canonical url. However, this does not work with pages on the root blog. [http://silverwarethief.com/about/] is a page on the root blog. If you go to that link, you will correctly find yourself at the ""About"" page. If you then alter the link to [http://www.silverwarethief.com/about/] you will be redirected to the main page of the root blog, not the ""About"" page. I have seen this behavior manifested on more than one MU install. " rundi Future Releases 13691 Make get_template_part() accept multiple template names Themes normal normal enhancement new 2010-06-02T03:19:34Z 2019-06-04T21:05:47Z "This enhancement allows get_template_part() allows to pass several template names, to work in the same way as: locate_template() so, you could call, get_template_part( 'loop', array('category', 'taxonomy', 'archive') ); $names are passed by order of priority." wjm Future Releases 13779 Preview doesn’t work - WP installed in its own directory SergeyBiryukov General 2.9.2 normal normal Future Release defect (bug) reviewing dev-feedback 2010-06-08T01:32:04Z 2022-07-13T17:21:56Z "1. Wordpress is installed on /wp/ subdirectory. 2. Then it was set up to be visible from the site root according to http://codex.wordpress.org/Giving_WordPress_Its_Own_Directory 3. Site works fine 4. [BUG] Preview for posts & pages isn’t working. When I press preview it goes to url like: http://example.com/?preview=true&preview_id=235&preview_nonce=aa28f04 and says ""You do not have permission to preview drafts."". 5. If I type subdirectory name “/wp/” in that url by hands, it shows correct preview: http://example.com/wp/?preview=true&preview_id=235&preview_nonce=aa28f04 6. The situation is getting worse if i'm using permalinks. In that case - there is nothing i can do to see preview. ps: I’ve tested that on clean install. " antares19 Future Releases 13816 There should be built-in index pages for taxonomies Taxonomy normal normal Future Release feature request new dev-feedback 2010-06-10T12:20:29Z 2023-01-31T20:36:11Z "By default, if you enable 'pretty' permalinks, you get URLs like this for categories and tags: /category/slug, /tag/slug. The same pattern is used when adding custom taxonomy types. These URLs often suggest to people that it should be possible to go 'up' one level, and access index pages at /category and /tag which list all of the available categories or tags (or maybe just the top x most popular ones for tags). I'd suggest that we add a new template type of is_archive_index() which uses, in order of preference, taxononmyname-index.php (eg category-index.php), archive-index.php. Within these templates, the 'loop' should return taxonomy items rather than posts. This is all possible already using custom templates and get_terms(), but it'd be handy if it was built-in. " frankieroberto Future Releases 13926 Adding 'page-attributes' to a custom post type slows down edit screen in the admin Posts, Post Types 3.0 normal normal defect (bug) new 2010-06-16T20:01:17Z 2019-06-04T20:41:18Z "When I add 'page-attributes' to a custom post type it takes roughly 1.5 to 2 min for the edit screen to load... When I remove 'page-attributes' edit screen load is extremely fast. Under the post type i created I have 5000+ entries." granulr Future Releases 14050 shortcode_unautop() should also remove the
added after shortcodes aaroncampbell Formatting 3.0 normal normal defect (bug) assigned 2010-06-22T18:15:27Z 2019-06-04T19:43:02Z "Currently `wpautop()` wraps a shortcode in `

` tags as well as adding a `
` tag after the shortcode. We then use `shortcode_unautop()` to remove the `

` tags, but the `
` stays. To replicate, just drop a few caption shortcodes into a post and set them all to align left or right. You'll see that even though they all float (assuming that's how your theme handles them) they stair step down because of the extra `
` I'm not a regex expert so someone should probably double check my patch, but it seems to work for me." aaroncampbell Future Releases 14093 Malformed category hidden from edit-tags, but shows in meta box Taxonomy low normal defect (bug) new 2010-06-25T19:11:49Z 2019-06-04T21:26:33Z "Came from a report in IRC by xomp. In the following example, category 1's parent is category 2, and vice versa. {{{ mysql> select term_taxonomy_id, term_id, taxonomy, parent from wp_term_taxonomy; +------------------+---------+---------------+--------+ | term_taxonomy_id | term_id | taxonomy | parent | +------------------+---------+---------------+--------+ | 1 | 1 | category | 2 | | 2 | 2 | category | 1 | | 3 | 3 | category | 0 | | 4 | 4 | category | 1 | +------------------+---------+---------------+--------+ 4 rows in set (0.00 sec) mysql> select term_id, name from wp_terms; +---------+-----------------+ | term_id | name | +---------+-----------------+ | 1 | Category 1 | | 2 | Category 2 | | 3 | Category 3 | | 4 | Category 4 | +---------+-----------------+ 4 rows in set (0.00 sec) }}} On edit-tags, you'll see only Category 3. In the hierarchical meta box, you'll see: {{{ Category 3 Category 1 - Category 2 - Category 4 }}} If we decide to show corrupted data, we should be consistent. At the very least, edit-tags should reveal more than the meta box, not the other way around." nacin Future Releases 14142 Custom Walker class for navigation menus Menus 3.0 normal normal Future Release defect (bug) reopened 2010-06-29T14:16:18Z 2019-04-19T18:31:41Z "I have tried to extend the Walker_Nav_Menu class, I just needed to overwrite the start_el method. So i added ""walker""=>""My_Walker"" to wp_nav_menu, I've got an error message, that the method ""walk"" could not be accessed statically. After a short look at the code in ""nav-menu-template"", I realized that in the method ""walk_nav_menu_tree"" the object initializer ""new"" is missing. My solution can be found in the attached file. As you can see, I've just added a ""new"" in front of $r->walker And it works" dennis.winter Future Releases 14172 Implement $scheme in site info in ms-sites edit site Networks and Sites 3.0 normal normal enhancement assigned dev-feedback 2010-07-01T22:45:33Z 2021-01-05T16:40:51Z "In WordPress 3.0 with Network enabled, if you were to click: Super Admin -> Sites -> Edit (next to any site) and then change any of the Site Options i.e. wp_2_options the changes don't save. We're running a secure environment and need Siteurl to be HTTPS instead of HTTP. Changing all the parameters to https and clicking Update doesn't save the changes." firmdot Future Releases 14201 Canonical redirect kicks in in case of category/tag base containing other chars then a-z, 0-9, _ and - Canonical normal normal defect (bug) new close 2010-07-05T09:03:39Z 2019-06-04T19:21:57Z "'''Expected behaviour''' Whatever the category base is, if we go to a properly formed category pretty permalink, canonical redirects shouldn't kick in. '''Actual behaviour''' If the category base is non-ASCII (for example: баба), the canonical redirect tries to redirect to the same URL. The redirect sanitizer removes the category base from the URL, because it is non-ASCII and redirects to {{{//category-name/}}}. This prevents endless redirects and usually results in 404. '''Why does it happen?''' Category base is always used verbatim. It can't be URL-encoded, because the percent signs will be interpreted as permalink variables. Because of that the generated urls will be always in the form: {{{/баба//}}}. The contents of {{{$_SERVER['REQUEST_URI']}}} are always URL-encoded, so the requested URI is: {{{/%D0%B1%D0%B0%D0%B1%D0%B0//}}}. Canonical redirect functionality assumes the requested URL would be the same as the generated term URL and since they are different tries to redirect. '''Solutions''' The easiest one is to assume that if we had come to the right category page without any get variables, we don't need the logic for redirecting to the canonical category page. This is valid statement, because that logic relies only on removing get arguments. The only disadvantage with that solution is that doesn't solve the more general problem of discrepancies between generated and requested URLs. But for now it will do a good job." nbachiyski Future Releases 14215 MultiSite: Add new > different username from blog title Networks and Sites 3.0 normal normal Future Release feature request new 2010-07-06T18:09:37Z 2018-05-07T16:58:46Z "I would like to request that the current system for adding a new blog site be expanded so that as admins, we can specify a different username that's unrelated to the blog title. That is, in '''Site Admin -> Add New''', at the bottom of the page, add a new field specifically for the username. For that matter, it would be useful to also have a field to be able to specify the password, and perhaps a little checkbox that allows you to optionally prevent an email from being sent. These features are really useful when you're manually adding sites for employees, students, and the such. I had provided a fix for wpmu 2.8.4 at one point (with a better explanation and details), you can see the thread here: http://mu.wordpress.org/forums/topic/12945 An example of the final result: http://img696.imageshack.us/img696/2551/addblogwordpress.png" Person Future Releases 14331 Tweaks to menu setup page Menus 3.0 normal normal Future Release enhancement new 2010-07-16T21:30:45Z 2020-05-29T19:39:57Z "It would be great if you could select a parent Page and ""Automatically add children"" to the menu. In a similar fashion, it would be great if the Menu could then automatically add any new children Pages created under that Parent." mrmist Future Releases 14375 Post pagination should have a show all option Posts, Post Types 3.0 normal normal Future Release feature request reopened 2010-07-21T07:03:29Z 2017-06-12T05:22:35Z When people use the nextpage html comment tag to paginate posts we should also have a show all link displayed to make it easier for people to read the whole content without pagination. westi Future Releases 14393 Maintenance mode overkill. Please refine usage of it Upgrade/Install normal normal Future Release enhancement new 2010-07-22T22:12:14Z 2017-03-18T14:52:11Z "Though many tickets have been posted about the Maintenance Mode not resolving, I think that the problem is on a different level. It is unacceptable that even a failed upgrade of an inactive theme can break a complete Site or even Network. Case in point: I just followed the upgrade alert for an inactive theme, hosted on the WordPRess theme repository. (Apparently it had an error (Incompatible Archive. PCLZIP_ERR_BAD_FORMAT (-10) : Unable to find End of Central Dir Record signature.) But the point is, this should not have put the entire network in maintenance mode for 10 minutes. Maybe a check can be done for plugins, themes etc: if they are active, then maintenance mode can be used (though I am definitely not a fan of it anyway)." bike Future Releases 14401 Unable to locate WordPress Content directory (wp-content). Filesystem API 3.0 normal normal defect (bug) reopened 2010-07-23T15:56:19Z 2019-06-04T19:43:05Z "Hi, I encounter this message on one server during plugin install: ""Unable to locate WordPress Content directory (wp-content)."" PHP Version 5.2.0-8+etch1 Another info from Core Control plugin: Direct Not Available SSH2 Not Available PHP FTP Extension Available PHP FTP Sockets Available ABSPATH: /home/www/domain.eu/subdomains/www/ WP_CONTENT_DIR /home/www/domain.eu/subdomains/www/wp-content WP_PLUGIN_DIR /home/www/domain.eu/subdomains/www/wp-content/plugins DOCUMENT_ROOT (from phpinfo) /home/www/domain.eu/subdomains/www I tried some hacks in wp-config.php, but I was not successfull. When I tried ftpsockets, following error appears: Warning: socket_last_error() expects parameter 1 to be resource, null given in /home/www/domain.eu/subdomains/www/wp-admin/includes/class-ftp-sockets.php on line 59 When I tried direct, following error appears: Downloading install package from http://downloads.wordpress.org/plugin/wp-memory-usage.zip… Unpacking the package Could not create directory. /home/www/domain.eu/subdomains/www/wp-content/upgrade/wp-memory-usage.tmp" pavelevap Future Releases 14432 Role-based help text garyc40 Help/About 3.0 normal normal Future Release enhancement assigned 2010-07-27T18:53:00Z 2023-08-24T19:54:11Z The text in the Help tab is based on the screen seen by an admin. We should make it so the role of the logged in user determines the text. jane Future Releases 14493 do_enclose() can ping the same URL many times, can't filter URLs to ping nacin* Feeds 3.0.1 normal normal enhancement accepted 2010-07-31T18:52:01Z 2019-06-04T19:43:08Z "If the same URL is included in a post several times, do_enclose() can check that URL for inclusion as a possible enclosure several times. Additionally, there's no way to filter what URLs do_enclose() should ping for possible inclusion as enclosures. Attached adds an array_unique() call to do_enclose(). Attached adds a {{{do_action_ref_array( 'pre_enclose', array( &$post_links, &$pung ) )}}} hook to allow filtration of URLs to ping. (Matches the pre_ping hook.) do_enclose() has several more problems this patch addresses. 1. Correct non-functional DELETE FROM postmeta query (bad use of wpdb::prepare()). 2. Use like_escape() in several LIKE queries. 3. Add an {{{apply_filters( 'enclosure_mime_types', array( 'video', 'audio' ) )}}} hook. 4. Currently do_enclose() doesn't allow root URLs as enclosures (e.g. http://example.com/), only URLs with a non-trivial path or query. Move that functionality to the new pre_enclose filter. 5. Efficiency improvements in conditional logic. 6. Clean up code by reducing control structure nesting depth." mdawaffe Future Releases 14502 Enable /post-type/taxonomy/term/ permalinks Rewrite Rules normal normal Future Release enhancement reopened 2010-08-01T22:57:29Z 2019-06-04T13:51:29Z After we get /post-type/ handled (see #13818), it would be nice if we also had /post-type/taxonomy/term/ mapped to ?post_type=post-type&taxonomy=term scribu Next Release 14513 Time for a wp_post_relationships table? Posts, Post Types 3.0.1 normal normal feature request reopened 2010-08-03T00:10:30Z 2023-05-30T15:04:16Z "Now that we have custom post types the obvious next step for people using them is to start relating post types using parent-child and/or many-to-many relationships. I've implemented a taxonomy-mirrored-posts plugin but am starting to discover [http://lists.automattic.com/pipermail/wp-hackers/2010-July/033510.html many of the problems that @prettyboymp has pointed out on wp-hackers] and think it might be time we consider adding a new table to allow us to relate post and to allow us to build functionality around this table such as related post pickers, etc. I'd like to offer a [http://en.wikipedia.org/wiki/Straw_man_proposal straw man proposal] to start discussions of a potential `wp_post_relationships` table added to WordPress 3.1 with three fields: `parent_id`, `post_id` and `term_taxonomy_id.` This allows us to relate any two post records and optionally associate at taxonomy+term to classify the relationship (here's the SQL to create the table): {{{ CREATE TABLE `wp_post_relationships` ( `parent_id` bigint(20) unsigned NOT NULL, `post_id` bigint(20) unsigned NOT NULL, `term_taxonomy_id` bigint(20) unsigned NOT NULL DEFAULT '0', PRIMARY KEY (`parent_id`,`post_id`,`term_taxonomy_id`), KEY `term_taxonomy_id` (`term_taxonomy_id`), KEY `post_id` (`post_id`) ) ENGINE=MyISAM DEFAULT CHARSET=utf8; }}} Looking forward to your feedback." mikeschinkel Future Releases 14558 Separate Database Table Support for Custom Post Types Posts, Post Types normal normal Awaiting Review enhancement reopened dev-feedback 2010-08-07T06:55:07Z 2024-03-04T09:51:27Z "While working on custom post types, I felt need for this enhancements. This can be achieved by adding an extra argument to the register_post_type function like below... {{{ register_post_type( 'acme_product', array( 'labels' => array( 'name' => __( 'Products' ), 'singular_name' => __( 'Product' ) ), 'public' => true, /* Database separation */ 'db_tables' => array( 'prefix' => '', //by default, value of $table_prefix will be used. If user sets this value to something, it will be used as prefix for both of following tables 'base_prefix' => '' , //this will control it tables are to be kept sitewide or per blog 'posts_name' => 'acme', 'postmeta_name' => 'acmemeta', ), ); }}} This small enhancement (not from coding perspective) will help more plugins authors go for custom post type. Reasons are - first they will get option to have separate data storage. Second - if some other badly coded plugin manipulates wp_posts table in some wrong way, it won't have sideeffect on third-party data. Third - Plugin authors will get more space to experiment as at any time they will be dealing with their own plugin's data. Of course, one of the goal of this nice feature must be to abstract database layer, but as a developer I feel it would be better if I can have some control over database without loosing power of this new (custom post type) feature." rahul286 Future Releases 14682 Privacy leakage: gravatars leak identity information Privacy 3.0 normal normal Awaiting Review defect (bug) reopened 2010-08-24T14:54:42Z 2020-07-01T19:18:00Z "If a commenter on a blog leaves a comment without having a log in to the site, and the ""Comment author must fill out name and e-mail"" preference is enabled for the blog, the author must provide an email address. The form for this says ""Mail (will not be published) (required)"" It's true that the email address itself is not published, but if the site has gravatars enabled, the persistent identity of the commenter is nonetheless revealed. Together with inspection of other posts where the commenter has chosen to reveal their identity, on the same blog or other blogs, or a brute-force approach taking a known email address to find postings attributed to them (using a global search engine) this results in a complete loss of anonymity. At the bare minimum, the user should be aware of this, so that they can choose not to comment; preferably, the software should be changed so that gravatars are not used for these sorts of posts (or made configurable, in combination with the user being made aware)." jmdh Future Releases 14691 Allow commas in tag names Taxonomy 3.0.1 normal normal Future Release defect (bug) new 2010-08-25T09:51:09Z 2023-11-27T09:58:10Z "Adding tags to posts via the web interface involves a lot of what boils down to {{{ explode( ',', join( ',', array( $tag_name, ... ) ) ); }}} both in PHP and JS. We settled on commas so we could have tags with spaces in them (see #10320, for example). It'd be nice if tags (and other taxonomies) could have commas in them, though. Example use case: normalized locations (""Portland, OR""). Admittedly, commas in tag names is an edge case. The attached treats tag inputs as ""real"" CSV strings instead of just exploding by commas. That way, you can enter: {{{ hello, ""hello, world"" }}} in the tags input field and the following tags would be added to the post. * hello * hello, world This addresses commas in tag names but makes entering double quotes in tag names more annoying. If you wanted a tag named {{{double""quote}}}, you'd have to enter the following. {{{ ""double""""quote"" }}} This may also help with #7897." mdawaffe Future Releases 14757 users with no posts are not exported Export 3.1 normal normal Future Release enhancement reopened dev-feedback 2010-09-01T18:14:31Z 2020-07-06T14:48:39Z I just exported a large standalone site and imported into a multisite setup, and I discovered that a number of users who hadn't yet posted anything didn't get moved to the new site. sillybean Future Releases 14824 WordPress is not updating Theme option after making a theme a child theme by adding the line 'Template' to the child`s css without refreshing Theem activation Themes 3.1 normal normal defect (bug) new 2010-09-09T23:27:35Z 2019-06-04T21:05:56Z "Situation: If you have 2 Themes on a 2 sites MultiSite install (each site is using one theme) and want to make one of them a child Theme of the other, you will go to one of them and add the line 'Template: NAME OF THE PARENT THEME' and save it. After doing so the Child Theme will not inherit any Template Files from the parent until you deactivate/activate the Child Theme again. Although it says in the ""Themes/Appereance"" section of the Child Themes backend 'CHILD THEME NAME uses templates from PARENT THEME NAME. Changes made to the templates will affect both themes.' even before deactivating/activating the Child Theme. Looks like the template page might be checking the style.css and not update the option." drale2k Future Releases 14876 wp_get_sidebars_widgets() assumes that widgets are enabled Widgets lowest minor defect (bug) reopened 2010-09-15T02:05:43Z 2019-06-05T06:45:15Z "When a theme does not have any sidebars defined, wp_get_sidebars_widgets() will return the database option anyway. This reveals a bug where a theme that does not have any widgets may still get the recent comments CSS injected into it. is_active_widget() is returning true because that widget was active when the sidebar option was last used." nacin Future Releases 14877 Ability to create exclusive custom taxonomies helen* Taxonomy normal minor Future Release feature request accepted 2010-09-15T14:08:25Z 2021-11-20T03:12:10Z "Custom taxonomies should have the option of toggling exclusivity, meaning the user should only be able to select one term at a time. Currently, developers wishing to implement an exclusive custom taxonomy (and thus would prefer radio buttons rather than check boxes on the add/edit post pages) must remove the existing taxonomy meta box completely and build their own, simply to change the input type. This not only duplicates code and development effort, but has the potential to create security vulnerabilities when plugin developers stray from best practices, for example, when recreating the AJAX add term functionality. Exclusive taxonomies are not uncommon in every day life and are even more common when one thinks about typical custom post type implementations (e.g., students->school year, employee->department, car->color, ice cream->flavor). While the best implementation is uncertain, I propose the function register_taxonomy accept an optional 'exclusive' argument (similar to 'hierarchical') that would change the check boxes within the taxonomy meta box to radio buttons and would handle the POST accordingly." benbalter Future Releases 14902 weblogUpdates.extendedPing does not implement standard josephscott Pings/Trackbacks 3.0.1 normal normal defect (bug) reviewing 2010-09-19T23:35:37Z 2019-06-04T20:41:29Z "When a blog post is published or updated, Update Services are notified if they are listed in the Wordpress Writing Settings panel. The services are notified by the weblog_ping() function in comment.php That function first attempts an XMLRPC call to the service's weblogUpdates.extendedPing. If that fails, it attempts to notify weblogUpdates.ping. {{{ if ( !$client->query('weblogUpdates.extendedPing', get_option('blogname'), $home, get_bloginfo('rss2_url') ) ) // then try a normal ping $client->query('weblogUpdates.ping', get_option('blogname'), $home); }}} '''1) The weblogUpdates.extendedPing does not match the published standard.''' See: http://www.google.com/help/blogsearch/pinging_API.html Where 5 parameters are specified: * Name of site * URL of site * URL of the page to be checked for changes * URL of RSS, RDF, or Atom feed * Optional a name (or ""tag"") categorizing your site content. You may delimit multiple values by using the '|' character. The third parameter should be the page to be checked for changes, and not the RSS feed. No 4th or 5th parameter is passed. '''2) The weblogUpdates.extendedPing does not take advantage of notifying the service of the exact page that changed (as is provided in the standard)''' If implemented correctly, this would allow the receiving service (perhaps a search engine) to come directly to the correct page for re-indexing, instead of trying to figure it out from the RSS feed. I am unable to find if pingomatic.com publishes a competing version of the standard. " Scott Schram Future Releases 14969 "menu element ""all (direct) child pages""" Menus 3.0.1 normal normal feature request new dev-feedback 2010-09-26T20:16:39Z 2019-06-04T20:02:19Z One of the things I am missing in the current menu-system is the ability to assign parts of the page tree to, say, a sub-menu, so, say, all child pages of a parent will be listed instead of having to add them manually to the submenu once the menu has been created. youngmicroserf Future Releases 14986 Make WordPress roles/capabilities more secure (edit_users related) Role/Capability normal normal enhancement new 2010-09-28T20:39:03Z 2022-12-05T12:09:09Z "We've discussed this before, but after some thought, I think we can do this and make it work. Right now, the edit_users capability is the key to the kingdom. Anybody with edit_users can change their role to anything, including to something with more capabilities than they already have. Back in #6908 and #6014, this was thought about in terms of the old user levels system, which of course shouldn't be used and makes no sense. In #8770, an editable_roles filter was introduced, which allows a plugin to limit the roles that a user can change themselves too. This works for one aspect of the problem, but a) it doesn't solve the passwords problem(1), and b) it assumes that the roles are still only in one chain of command. That is to say, that all the roles have an ordering, where each role has all the capabilities of the role ""below"" it. To solve these, I think we need a capability comparison system. To wit, code that implements these two rules: 1. No user can change the role of another user to a role that has capabilities that the changing user does not also have. 2. No user can change either the role or the password of another user who has any capability that the changing user does not also have. For rule 1, this means that if Adam was to try to assign Bob a role, he would only be given the choice of assigning roles that have a subset of the capabilities Adam himself had. For rule 2, if Adam was to try to change the role or the password of Bob, he would not be able to change either unless Bob already had a subset of Adam's own capabilities. This makes the roles have a sort of definable hierarchy, where roles with lesser capabilities can be multi-faceted. I can define more than one chain of roles which are ""above"" each other in hierarchy, allowing me to build a tree of groups and users capable of different things. For things like bbPress-as-a-plugin, this sort of enforcement is going to be a must-have feature. Note 1: The ""passwords problem"" is that any user who can change another users password can easily change the password of somebody of ""higher"" rank, log in as them, and then have their capabilities. It's detectable, but in some cases, may not be so detectable. Admins who don't log in often, say. Note 2: We also need role management in core, but that's a topic for a separate day. I'm speaking only of enforcement of a security model here for now." Otto42 Future Releases 15006 Closing tag for empty

tag is removed Formatting 3.0 normal minor defect (bug) reopened 2010-10-01T13:48:12Z 2019-06-04T19:43:16Z "I have a page post that starts like this: {{{

Text Here

More Text Here }}} The HTML source saves correctly, but the page output omits the closing tag for the second P element, causing the rest of the page to be invalid. If you have any trouble reproducing this I will be happy to debug it on my server." miqrogroove Future Releases 15068 merging query objects/arrays Query 3.0 normal normal enhancement new 2010-10-08T04:27:58Z 2019-06-04T20:41:30Z "As multiple post type installations proliferate, I assume more and more people will come across a situation (like me) in which they need to display two (or more) sets of content units, say posts, and post-type ""audio"" in one stream - say on the main blog page. As long as the only condition is the post type itself, that will work fine. However, if those two sets need to be selected using different conditional criteria, say a category in one case, and a custom field in the other, then the current query_posts options will not be sufficient. While it is possible to retrieve multiple arrays via get_posts and merge them, then sort them using cusomt php, such a solution will break the paged navigation. If such situations will - as I assume - become more likely as more people use multiple post types and additional variables to specify content, I think it would be useful to be able to combine multiple queries into a meta query that will sort the combined object according to a common sorting variable, say date, and thus preserve the paged navigation. " youngmicroserf Future Releases 15204 JavaScript Validation should trim values and set focus on invalid field Taxonomy 3.1 normal normal enhancement assigned 2010-10-24T15:46:28Z 2019-06-04T21:06:12Z "If invalid fields are found after validation, focus should be placed on the first invalid field. Field values should be trimmed to check for truly empty values. Also worth noting, the (mostly same) validateForm is located in both common.js and wpAjax.js." batmoo Future Releases 15249 Filtering get_search_sql for advanced queries Query 3.1 normal normal enhancement assigned needs-unit-tests 2010-10-29T07:00:35Z 2019-06-04T20:41:32Z "Currently in the code for 3.1 (trunk) there are no filters running on the new function get_search_sql which would be useful for plugins to perform more complex MySQL functionality on specific columns. I suggest adding a filter ;)" sc0ttkclark Future Releases 15317 My Sites limited to 23 sites on Admin Bar morganestes Toolbar 3.1 normal normal Future Release enhancement assigned 2010-11-04T13:35:21Z 2023-03-12T00:01:26Z "I have a test site with 25 sites. I can only access 23 from the My Sites tab on the admin bar. (This is a minor bug, but I hadn't seen it mentioned.) Ron I'm using latest trunk." ronbme Future Releases 15394 "Ancient ""Are you sure you want to do this"" now confusing" Security 3.1 normal minor Future Release defect (bug) new dev-feedback 2010-11-11T21:51:26Z 2019-05-17T10:48:08Z "The default failing nonce message did not pass the wife test. Asking ""Are you sure you want to do this?"" now that there is no longer ""OK"" and ""Cancel"" buttons is confusing and my wife just asked me ""How do I tell I'm sure?"" Not sure about the best wording, I took the same approach as Twitter's expired OAuth token links with a message that does not let user think there is something to confirm." ozh Future Releases 15467 Multisite with separate users table Networks and Sites 3.0.1 normal normal feature request reopened has-patch 2010-11-18T09:09:03Z 2024-03-02T16:55:21Z "Hi, I'm using WP with the network option since 3.0 has been released. I think that is very cool, but I think that the user management is not at a good level. At the moment, every user must register to the first site and the admin should 'bring' them to the wanted site. Some plugins (I use Multisite User Management) have been created to try to resolve this problem. My experience in wp-networks teach me that there are two ways to intend a network: - something like wordpress.com - a bounch of sites that are together only for administration purpose. The actual implementation does not respond to any of the previous cases. In fact to be able to use wp-network for the first case, you have to install a plugin that brings your new users across any site of your network, and for the second purpose the actual implementation of wp-network has huge problems. I think that the best way to resolve this, is to ask the user what he wants. During the creation of the network the system does ask the user if he prefers a sub-domain install rather than a sub-folder install. I think it should also ask the user if he prefers an installation with a single user db or a user db for each site. I was thinking which was the best way to manage the two things: for the first case, I think, the actual way is very good (it only needs to create the new user on all sites instead of delegating this to the admin/plugin). For the second case, I think, the best way is to have an user db for each site, each one with different values (yes, a person could register himself on site 5 and appear only in the wp_5_users table). As soon as a user is made super-admin he is 'replicated' on each user table. When a new site is created, the user table of that website will be populated only by the super-admins. I think this would make WP the best CMS/blogging platform ever seen :)" fale Future Releases 15706 Allow wildcarded domains in multisite limited email domains westi Login and Registration normal normal enhancement reviewing 2010-12-06T18:59:24Z 2019-06-04T20:02:25Z "Here at blogs.law.harvard.edu, we want to allow all harvard.edu subdomains to create blogs in our multisite install. There are hundreds of domains and it would be difficult to get a complete list because of the complexity of our DNS infrastructure. I propose allowing the inclusion of a single prefix wildcard character in the limited email domains feature. If a limited email domain contains a ""*"", we would create a regex and match that specific entry via a wildcard. So ""*.harvard.edu"" would match ""cyber.law.harvard.edu"", ""fas.harvard.edu"", etc. To match the root TLD, you'd just manually enter ""harvard.edu"". We have a variant of this applied as a core hack to our wordpress install at http://blogs.law.harvard.edu and it's been working fine for years. I will package it up as a patch if there's interest. Thoughts? I don't think it'd make sense to allow embedded wildcards (dom*ain.org)." djcp Future Releases 15760 "LiveJournal Importer mishandles some and expressions" westi Import normal normal WordPress.org defect (bug) assigned dev-feedback 2010-12-10T04:45:17Z 2017-05-23T15:16:47Z "There is a note on plugins.trac ticket 1231 that says this should be handled in core.trac instead, so I'm cross-posting it here. The patch and ticket were originally added by a-bishop: http://plugins.trac.wordpress.org/ticket/1231 Reproduction steps: 1. Create a LiveJournal? entry that has in it. Note that this is XML-ish 2. Try to use the livejournal-importer on this post. Bug The gets ignored because the regular expression is too strict. I've attached a patch that makes LiveJournal? Importer recognize the XML-ish version. Patch:[[BR]] http://plugins.trac.wordpress.org/attachment/ticket/1231/livejournal-importer.patch" designsimply Future Releases 15761 Bulk editing on posts without Javascript enabled results in the post being set to draft garyc40 Quick/Bulk Edit 2.9 normal normal defect (bug) assigned 2010-12-10T09:03:35Z 2019-06-04T21:06:13Z "Currently, Bulk editing is available without JavaScript being enabled. The result of attempting to edit a post, is a redirect back to the posts page with the post being marked as a draft. No UI is offered for bulk editing. This behaviour exists in trunk, 3.0, and 2.9 from my testing (havn't tested earlier versions). The Bulk editing screen appears to work without Javascript for modification submittal, so it's possible that a non-js version would be possible." dd32 Future Releases 15801 Network Admin: Deactivated / Deleted inconsistency Networks and Sites 3.1 normal normal Future Release defect (bug) assigned dev-feedback 2010-12-13T18:12:54Z 2023-06-10T12:03:52Z "Under the Sites screen, there are distinct inline links for Deactivate and Delete. However, when a site is deactivated, it is referred to as deleted in: * Sites screen inline status * Edit Site screen attributes section * Error page for non-admins visiting the site" kawauso Future Releases 15833 Script concatenation fails to take external dependencies into account. Script Loader 3.0 normal normal Future Release defect (bug) new 2010-12-15T17:35:17Z 2019-05-21T10:42:05Z "Script concatenation places the concatenated script include first, before any scripts loaded separately. If one of the scripts in the concatenation relies on a script outside the concatenation the dependency order is ignored. When the dependencies are all internal to the concatenation things work fine (for example script4 relies on script3): * concat=script1,script2,script3,script4,script5 But when script3 is loaded externally, script4 will break: * concat=script1,script2,script4,script5 * external-script3 This becomes apparent if jQuery is loaded from a non-standard location (via a plugin or the [http://codex.wordpress.org/Function_Reference/wp_enqueue_script#Load_a_default_WordPress_script_from_a_non-default_location code from the Codex]) in that the visual editor fails to function correctly because source:/trunk/wp-admin/js/editor.js uses jQuery (which it fails to register as a dependency, see ticket:15830, but when I fixed that locally the results were the same). I'm working around this in [http://wordpress.org/extend/plugins/use-google-libraries/ Use Google Libraries] by globally disabling concatenation, but it would be nice if this was fixed. If possible, it would be nice if the loader was smart enough to do something like: * concat=script1,script2 * external-script3 * concat=script4,script5 Or at least flagged the script with the dependency as unsafe for concatenation: * concat=script1,script2,script5 * external-script3 * script4 " jczorkmid Future Releases 15855 Dropdown isn't shown when doing a user 'removal' jeremyfelt Users normal normal defect (bug) assigned 2010-12-16T23:38:12Z 2023-04-09T05:27:14Z "Steps to reproduce: 0. Have a MultiSite install 1. Go to wp-admin/users.php and delete a user 2. A confirmation screen appears, with only a ""Confirm"" button. Expected behaviour: The user dropdown is shown, asking to assing the user's posts to a different user. Currently, you end up with authorless posts." scribu Future Releases 15861 Sorting users by post count Users normal normal defect (bug) new dev-feedback 2010-12-17T10:21:24Z 2019-06-05T06:37:48Z "Currently, to enable sorting by post count, there's a JOIN made between the users table and the posts table. This is bad, because users is a global table, which might be stored in a separate database. Short-term solution for 3.1 is to disable sorting. Long-term solution is to avoid the JOIN somehow. " scribu Future Releases 15865 Make it easy to disable options / user settings Options, Meta APIs normal normal Awaiting Review enhancement reopened has-patch 2010-12-17T17:52:29Z 2023-07-27T18:09:44Z "We have a wonderful option white listing system. The one thing it doesn't support is hiding the ui of core options if you don't want them changed. We should have a generic way of doing this." westi Future Releases 15918 wpautop() breaks inline tags on the same line as block tags dunno Formatting 3.0.3 normal normal defect (bug) new 2010-12-20T16:01:31Z 2019-06-04T19:43:17Z "Hi guys! I've got latest WP installation (3.0.3) and found strange bug in posts parser. Create article with following HTML: {{{ }}} Browser will get: {{{ }}} All seems to be fine! Now get rid of unnecessary div. Create article with following HTML: {{{ WP IZ ASSUM }}} Browser will get: {{{

WP IZ ASSUM

}}} Dunno why there is extra

but who cares. All seems to be OK. Create article with following HTML: {{{

WP IZ ASSUM
}}} Browser will get: {{{
WP IZ ASSUM
}}} Now isn't that cool? But check what is even cooler! Create article with following HTML: {{{
WP IZ ASSUM
NO IT'S BUGGY AS HELL
}}} Browser will get: {{{
WP IZ ASSUM

NO IT’S BUGGY AS HELL
}}} Wow! Say hello to invalid markup and rendering problems! Auto-closing of tags turned off. No matter of the settings I still get this nice messed up html. WYSIWYG turned off also." retrib Future Releases 15924 Add 'media_default_link_type' option to parallel 'image_default_link_type' Upload normal normal Future Release enhancement new dev-feedback 2010-12-20T21:12:12Z 2019-05-15T20:48:42Z "It is often recommended that site owners change the 'image_default_link_type' option to ""none"" if they don't plan on linking to full size images often from their posts. The problem is that this also affects the default link type for other media (uploaded zip files, pdfs, etc.) Adding an additional option for 'media_default_link_type' which behaves in the same way would get around this problem. " goldenapples Future Releases 15930 Make trashed posts/pages still readable Posts, Post Types 2.9 normal minor enhancement new 2010-12-21T10:32:30Z 2019-06-04T20:41:42Z "I hoped I was able to see the pages which I delete (in the trashbin) but the all stay dark... So I can't view them! I think it would be a good feature to see them to see if somebody didn't delete the wrong page! Or when you need something form a deleted page that you can still get it without restoring it first" JonezJeA Future Releases 15955 move_uploaded_file mangles non-ascii characters on Windows platforms SergeyBiryukov* Upload 2.0 normal major Awaiting Review defect (bug) accepted close 2010-12-22T22:15:46Z 2018-07-09T19:14:56Z "The `sanitize_file_name` function is not filtering alot of character entities like the degree symbol, this results in invalid media item paths, see the attached images. wp-includes/formatting - Line 677 {{{ $special_chars = array(""?"", ""["", ""]"", ""/"", ""\\"", ""="", ""<"", "">"", "":"", "";"", "","", ""'"", ""\"""", ""&"", ""$"", ""#"", ""*"", ""("", "")"", ""|"", ""~"", ""`"", ""!"", ""{"", ""}"", chr(0)); }}} This array is not dealing with invalid entities that could be used in a filename, and the regular expression further down is not catching these either. wp-includes/formatting - Line 700 {{{ if ( preg_match(""/^[a-zA-Z]{2,5}\d?$/"", $part) ) { }}} See attached images, i used 4 varying names with unusual entities in them(each a copy of a sample jpg image). Using a filter on the valid chars array results in the extension getting stripped off but the file still makes it through the upload routine however(which is worrying). I'm no file validation expert, so i'm not sure if this is a critical problem(marked as normal), i'll leave this for you chaps to decide. '''NOTE:''' Ignore my hostname in the screenies, it's a 3.0.3 installation, i'm just lazy with updating my virtual host settings. See screenshots for steps to reproduce(just create a file with some dodgy character entities and upload it basically)." t31os_ Future Releases 15971 Add ability to rate and report compatibility of plugins from wp-admin Plugins 3.1 normal normal Future Release feature request new 2010-12-24T08:25:27Z 2019-04-08T19:34:03Z "For the millions of downloads some plugins get there are way to few ratings on them. I think the ability to rate and report the compatibility of plugs from the backend dashboard page would dramatically increase participation in rating. This could be accomplished most easily placing a link to the ""details"" of a plug-in (like the one that appears while searching for a plug-in) after it is installed on plugins.php. This could be accomplished even more effectively by showing direct link next to each listing on the plugins.php page link stars/compatibility and link text reading ""rate now or ""report compatibility now""... For reference I point you to the excellent new to FireFox 4 (beta) add-on compatibility reporting features. " jb510 Future Releases 15981 Quick edit (and other actions) need to cancel AJAX actions garyc40 Quick/Bulk Edit 3.1 low normal Future Release defect (bug) assigned has-patch 2010-12-26T05:17:36Z 2018-05-14T16:46:46Z "Right after you click to paginate, sort or try to search something, you may be inclined to click another link on the page. This happens often when I'm browsing, and on a server with a relatively slow AJAX round trip, it can happen quite commonly. Problem: If you open Quick Edit, then the ajax results should noop. There might be other actions, but this one in particular does not lead to another page (which obviously would kill the ajax). The reverse is also an issue. You can search, paginate, or sort when Quick Edit is open, and you lose your edit. This might be bad when quick editing a comment, as you could be losing actual content. Searching and paginating might be explicit actions, but it's not difficult to accidentally click a th and trigger a sort, especially if the first row's quick edit (or bulk edit) is open. I'm not sure what to do here, other than a JS popup for any time a Quick/Bulk Edit is open, asking you if you want to lose your changes. So again, two things: - Kill the AJAX action if Quick Edit is opened. I would consider this lower priority. - 'Lose your changes' confirmation for quick edit and bulk edit before an AJAX action. (We can probably fire the AJAX action and trigger the alert simultaneously, but delay processing the results until the confirm() is true.)" nacin Future Releases 15993 Sort arrows improperly wrap on narrow columns Posts, Post Types 3.1 normal normal defect (bug) reopened 2010-12-27T06:14:21Z 2019-06-04T20:41:43Z Specifically, I noticed the 'Posts' column on a taxonomy screen (or 'Links' for link categories, etc). nacin Future Releases 16001 Invited but not activated users can get lost Users 3.0 normal normal Future Release defect (bug) new 2010-12-27T22:37:15Z 2022-02-09T10:01:31Z "Steps to reproduce: * In ''Site Admin'', go to Users > Add New * Add a new user * You get a message to the effect of, said user needs to respond to an invitation. Now the user has disappeared. There's no way for a super admin or anybody to search for that user and add her directly, or delete her, or anything like that. If the user doesn't get the email, she's out of luck: that username and email are now reserved for ""a couple of days.""" filosofo Future Releases 16126 Multisite name conflict check doesn't check for pages. Permalinks 3.0 normal normal defect (bug) new 2011-01-06T19:11:19Z 2019-06-04T20:41:45Z "Running WP 3.1-RC2 I made a page off my main site called foobar. Then I went in and made a sub-site (using SubFOLDERS) called foobar. The subsite took precedence and there was NO check or warning. I was able to reproduce this on 3.0.4 Then I went the otherway. I have a subsite called camels (don't ask). I went to make a PAGE called camels and it also let me. No conflict check. Basically you have to add the main blog page names into the banned names list manually, which strikes me as a bit odd. I can see why checking that would be onerous if someone had 600 million pages (and we all know they do) but forcing people to do it manually seems like a gap. Need love! :D This is minor, since not a lot of people have bitched, so clearly we're not running into it YET." Ipstenu Future Releases 16147 MT Importer truncates double vertical spaces, munging paragraphs together Import 3.2.1 normal normal defect (bug) reopened 2011-01-07T22:25:47Z 2019-06-04T20:02:27Z "Movable Type 3.x-era exports don't use '''

''' tags. Like TinyMCE (and WordPress), a '''

''' in final rendered code is represented by two '''\n'''s in a row. The importer strips out double '''\n'''s and replaces with a single '''\n'''. This causes paragraphs to lose their distinction upon import. It does this because the '''$line''' variable was created by '''$line = $this->fgets($handle)''' (line 339). Then '''$line = trim($line)''' (line 340) strips out several characters, including '''\n'''. Lines 455 and 456 add back the '''\n''' ''except'' on blank lines: {{{ if( !empty($line) ) $line .= ""\n""; }}} So if a '''$line''' was nothing but a '''\n''', it's stripped by the '''trim''' function and becomes a 0 character line. Then the '''if( !empty($line) )''' declines to add back a '''\n'''. Somehow this needs to be altered so that successive '''\n'''s aren't stripped. Otherwise paragraphs get vertically munged together." novasource Future Releases 16230 Category slugs not cut at 200 characters as it should under some conditions Taxonomy 3.1 normal normal defect (bug) new 2011-01-14T14:10:23Z 2019-06-04T21:06:22Z "When a category name is longer than 200 characters, it is cut to 200 and so is the slug automatically created upon category creation. Now, if you edit the category name or slug afterwards, again trying to set a name longer than 200 characters it is cut again. But, if you edit the name or slug and use a very long string like this one: %d1%85%d1%80%d0%b0%d0%bd%d0%b0/%d1%80%d0%b5%d1%86%d0%b5%d0%bf%d1%82%d0%b8/%d0%b4%d0%b5%d1%81%d0%b5%d1%80%d1%82%d0%b8-%d1%80%d0%b5%d1%86%d0%b5%d0%bf%d1%82%d0%b8-%d1%85%d1%80%d0%b0%d0%bd%d0%b0/%d1%81%d0%bb%d0%b0%d0%b4%d0%ba%d0%b8%d1%88%d0%b8-%d0%b4%d0%b5%d1%81%d0%b5%d1%80%d1%82%d0%b8-%d1%80%d0%b5%d1%86%d0%b5%d0%bf%d1%82%d0%b8-%d1%85%d1%80%d0%b0%d0%bd%d0%b0-%d1%80%d0%b5%d1%86%d0%b5%d0%bf%d1%/ Then the slug ends up being longer than the 200 chars limit. Now if on the Categories list dashboard page you have more categories than visible on one page, and the category you edited above is not on page 1, the page it is on will appear empty (while successive pages will be all right if they contain regular categories) This has been reproduced on 3.1-RC2-17283" paolal Future Releases 16243 Unhelpful error messages when updating default category Taxonomy 3.0.4 normal normal enhancement new 2011-01-15T12:23:36Z 2019-06-04T21:06:24Z "If we try and change the default category slug to one that has already been used we get conflicting error messages between quick edit and full edit. If you use Full Edit you're simply told ''Item Not Updated'' however, if you use quick edit, you are informed that the slug has already been used. The full edit error message is, I think, on line 223 of wp-admin/edit-tags.php - I'm unable to find where the error message for the quick edit functionality is, however. Having correct and useful copy in error messages is vital, especially for relative newcomers to WP. This oversight was found by Relly Annett-Baker (@RellyAB on twitter) - one of the best copy writers and content strategists out there. Perhaps we could look at overhauling the error messages and ask (someone like) Relly to give them a once-over or offer advice on them." iamfriendly Future Releases 16392 Quick Edit API should allow to pick up custom field values automatically Quick/Bulk Edit 3.1 normal normal enhancement new 2011-01-27T22:22:10Z 2019-06-04T21:06:26Z "Attached are two screenshots of the same plugin in 3.0 and 3.1. The plugin code is unchanged between the two. Only WP gets an svn switch. I'm investigating where it's coming from, but as you can note from the screenshots 3.0 lists nada for that plugin on the one hand side, while 3.1 lists actual fields and leaves them blank. The latter causes data loss when Quick-Editing a row. Cross-referencing ticket references: http://code.google.com/p/wp-e-commerce/issues/detail?id=327 Plugin SVN: http://svn.wp-plugins.org/wp-e-commerce/branches/3.8-development " Denis-de-Bernardy Future Releases 16396 Add a hook to the theme editor page when the write is successful Themes 3.1.3 normal normal enhancement new 2011-01-28T17:29:35Z 2019-06-04T21:06:27Z Add a filter to the end of theme-editor.php's processing when the write is successful. scottconnerly Future Releases 16404 WordPress Importer fails to import images Import 3.0.4 normal normal defect (bug) new reporter-feedback 2011-01-29T00:42:28Z 2019-06-04T20:02:31Z "WordPress Importer fails to import images and update image src urls when download and import file attachments is checked. WordPress MS with images in a post via Media using WP image mapping, e.g. image url: http://site.domainname.com/files/2011/01/myimage.jpg Fails to download, import and update image src url. All image src urls remain intact from the old domain name. If you change the image source to specific directory rather than the WP uploads directory: e.g. image url: http://site.domainname.com/images/myimage.jpg Images are downloaded and imported to media but it fails to update image src url in posts. All image src urls in posts remain intact from the old domain name. I tested this on clean install of WP 3.0.4 MultiSite with TwentyTen theme and no other plugins activated." wlpdrpat Future Releases 16413 Settings page needs HTML refactoring and UI improvements joedolson* Administration 3.1 normal normal Future Release enhancement accepted 2011-01-30T20:22:09Z 2023-11-10T16:20:51Z "The settings pages haven't had much attention or improvement in a while. We need to refactor the HTML on the settings pages, as they are still using tables instead of divs. We also want to make some minor UI improvements including: - clearer differentiation between option groupings - using consistent text styles for descriptions and links (including the time zone/date format comment) - restructure for better readability Comment if you have any other" chexee Future Releases 16443 We need a way to programmatically tell if we are in a sidebar Widgets 2.2 normal normal Awaiting Review feature request new dev-feedback 2011-02-02T20:10:28Z 2022-07-15T16:12:27Z There is currently no way to tell if you are in_a_sidebar or doing a widget which makes me a sad stallman lookalike. jorbin Future Releases 16445 Fix incompatibilities with IDs greater than 2^31 Import 3.1 normal normal defect (bug) new 2011-02-03T01:03:24Z 2019-06-04T20:02:33Z "For various reasons, things go bad when you get a post ID greater than 2^31^. When we're importing content and there's an existing ID, I suggest we ignore it if possible if it's too big. Tumblr2WordPress for example maintains the Tumblr IDs and causes problems in WordPress." Viper007Bond Future Releases 16460 Category/tag converter should support all public taxonomies Import 3.0 normal normal Awaiting Review feature request new 2011-02-05T04:56:39Z 2022-07-15T16:27:46Z The category to tag converter should let you convert terms to custom taxonomies, if any are defined. I'm attaching a rewrite of the plugin based on 1.5.2, which included support for post formats. sillybean Future Releases 16495 Make iso8601_to_datetime a bit more compliant Formatting 3.0.5 normal normal defect (bug) new 2011-02-08T19:37:09Z 2019-06-04T19:43:19Z With a valid ISO 8601 date string with dashes in the date or decimal fractions for seconds, this function will fail to parse it correctly. The attached patch updates the regex to optionally accept dashes and decimal fractions for seconds (which are ignored). It also uses a variable for the regex since it was duplicated. chrisscott Future Releases 16600 AdminMenu rendering code chokes on uppercase Posts, Post Types 3.1 normal minor defect (bug) reopened 2011-02-20T02:43:25Z 2019-06-04T20:41:50Z "When registering custom taxonomies for a custom post type, if the post type name contains uppercase letters, the menu items for the custom taxonomies are not shown. It looks like the post type name is lowercased in some parts of the core code (but no all) and so string comparisons fail. Just isolated this behaviour, so I'm still not sure how much of the core this affects. Moreover, when I saved posts with the intended mixed-case name, they have been saved to the DB with lowercased post_type It it is indeed the intended behaviour, a note should be added to the Codex: ""Custom Post Type names must be lowercase"" The attached sample (real) code reproduces the problem by setting ""post_type_tag"" to ""DomainName"" instead of ""domain_name"". Numbers work properly, however. Tested with latest SVN (RC4 + r17467)" jltallon Future Releases 16613 Extend Widget API to allow sidebar/widget manipulation Widgets 3.1 normal normal enhancement new 2011-02-21T22:55:17Z 2019-06-05T06:37:51Z "There is currently no easy way to add a widget to a sidebar using code. We should add methods of doing this. A good example usage of such an API could be when a new theme is activated, it could add it's custom widgets to it's sidebar. API should provide support for adding widget X to sidebar Y (or even just the first sidebar) along with setting some options for the widget and where in the sidebar to add it (top vs. bottom)." Viper007Bond Future Releases 16808 Insufficient permissions for custom post type management and custom role/caps Role/Capability 3.1 normal normal defect (bug) reopened 2011-03-09T19:54:04Z 2023-01-27T05:59:30Z "I asked a question over at [http://wordpress.stackexchange.com/questions/11508/permission-error-on-custom-post-type-add-new-action StackExchange] about this. Went into their chat room to talk to a few people and came to the conclusion I need to post this ticket. --- When accessing an admin page located at post-new.php with a custom post type on a user that's in a custom role that has the available permission to ""Add New"", you get ""You do not have sufficient permissions to access this page."" {{{ $post_caps = array( 'delete_post' => 'argus_admin', ); $visitor_caps = $post_caps; $visitor_caps = array_merge( $visitor_caps, array( 'edit_post' => 'argus_visitors', 'read_post' => 'argus_visitors', 'edit_posts' => 'argus_visitors', 'edit_others_posts' => 'argus_visitors', 'publish_posts' => 'argus_visitors', 'read_private_posts' => 'argus_visitors', )); $v_args = array( 'labels' => array ( 'name' => 'Visitors', 'singular_name' => 'Visitor', 'add_new_item' => 'Register New Visitor', ), 'public' => true, 'publicly_queryable' => false, 'exclude_from_search' => true, 'show_ui' => true, 'show_in_menu' => 'argus', //'show_in_menu' => false, 'hiearchical' => false, 'supports' => array( '' ), 'capabilities' => $visitor_caps, 'register_meta_box_cb' => array ( &$this, '_wp_visitor_meta_box_cb' ), ); register_post_type( 'visitor', $v_args ); }}} I've tested it with 3.0.4 and it worked flawlessly. However, when in 3.1, it doesn't want to work." Genesis2001 Future Releases 16832 Trouble if the slug of a custom taxonomy is the same as the url of page/post Rewrite Rules 3.1 normal normal defect (bug) new 2011-03-11T11:50:43Z 2019-06-04T21:06:35Z "I got some troubles with the 3.1 version of WordPress concerning the slug of custom taxonomy. '''An example that work in 3.0.5'''[[BR]] www.example.com/agency (url of a page)[[BR]] www.example.com/agency/john-smith (url of a custom type's detail) Apparently having the same ""folder"" 'agency' only works for one or the other url but not both. Hope I made myself clear." LucasHantz Future Releases 16838 Excluding Akismet from Future WordPress Releases / Plugin Directory Plugins 3.1 normal normal Awaiting Review enhancement reopened 2011-03-12T02:49:31Z 2024-03-02T21:23:45Z "This issue was more mute prior to the shift in Akismet's 'keying', which previously just required you to have a free WP.com account to hook up to the API. Since Akismet now charges for access, or solicits fees by default for Personal website activations (when you go through the sign up process, it defaults at something like $5 with a slider that lets the person choose how much they want to pay). It's not immediately apparent that 'free' is an option within the slider, but that's not the primary issue here - I digress :) The issue is that Akismet is no longer free for EVERYONE. It's only an option for Personal sites, and in certain cases. What if someone has multiple personal sites? They click that option and they are categorized into a Professional plan, which has a fee associated to it. Since the plugin directory itself has officially been described (and in practice) to have a restriction that explicitly prohibits functionality be disabled from a plugin behind a Paywall, why wouldn't that apply in this case? I certainly don't mean to rock the boat, but this brings up a number of important questions. The plugin has a potentially confusing signup process that does lead people otherwise categorized as Personal site owners, to pay for the service while it's advertised under the plugin description that it's 'free' for Personal use. This produces a grey area of sorts, which puts this plugin under a sort of Paywall, which could be alleviated in a minor way by modifying the signup process. It still doesn't clear the air on how the Paywall for professional sites can be officially allowed versus a full Paywall. Perhaps someone who officially represents the WP.org Plugin Directory or WP.org can clarify the undocumented (not shown at http://wordpress.org/extend/plugins/about/) Paywall restriction for future reference. Besides the plugin itself now finding itself in this grey area, it's bundled with WordPress by default and presents what could be described as an unfair market advantage for Automattic's product offering, sort of like anti-competitive business practices. I feel weird saying that, but I'm not throwing stones here. Just saying what it feels like, even if the core developers say it should be included, I'd say it now doesn't cover the 70/30 rule (or whatever the amount is). If Akismet is allowed to remain in the plugin directory as is, and within WP core, then would other plugins be allowed to be included in the plugin directory that follow the same Paywall model and signup process?" sc0ttkclark Future Releases 16839 Category Base Should be Slugified SergeyBiryukov* Rewrite Rules 3.1 normal normal Future Release defect (bug) accepted needs-unit-tests 2011-03-12T21:42:52Z 2023-03-02T15:52:09Z "Vanilla install of 3.1. Change category base to Foo Bar. Link generated is example.com/Foo Bar/cat (note the %20/space). Clicking link tries to access /FooBar/cat and 404's. I see there are a few other tickets regarding categories, including #16662 but no specific mention of custom category base. " miklb Future Releases 16853 Error 500 when a user has too many sites Networks and Sites 3.0.1 normal minor Future Release enhancement assigned dev-feedback 2011-03-14T11:15:57Z 2019-04-08T16:52:29Z "'''My installation''' [[BR]] 3.0.1 multi-site installation with more than 7500 blogs, with one user each. I also have one moderation user that can administer each of the blogs. [[BR]] [[BR]] '''The issue''' [[BR]] In the admin interface, when I go to Super-Admin -> Users, and when I display the page that contains my moderation user, I get ""''An error (500 Internal Server Error) has occured in response to this request''"". The page tries to display all the sites administered by him (around 7500 of them), hence the error. [[BR]] [[BR]] Updating to 3.1 didn't resolve the problem. [[BR]] [[BR]] '''Recommended enhancement''' [[BR]] For each user in the list, display only a certain number of sites, with a possibility to see all of that user's sites, if needed." luuzan@… Future Releases 16883 "Add check for ""Template Version"" on theme activation" Themes 3.1 normal normal enhancement new dev-feedback 2011-03-18T03:28:36Z 2019-06-04T21:06:36Z "Related: #16395 In addition to adding Template Version to the standard meta information extracted from style.css in `get_theme_data()`, I think that for this information to be useful, a child theme shouldn't be able to be activated unless the template template the child theme uses (parent theme) meets the minimum version requirement identified in ""Template Version"". A polite and graceful failure, with an error notice, would be preferable :-) Reason: many times child themes utilize functionality that only exists in the latest version of a parent theme. They're stuck either writing backward compatibility into into their code, or risking whitescreens. This not only prevents that, but it could be used to gently encourage the user to update the parent theme. Certainly not a candidate for 3.1.1, but perhaps 3.2?" nathanrice Future Releases 16910 Lazy evaluation for WP_Query Query normal normal feature request new 2011-03-21T01:04:39Z 2019-06-04T20:41:58Z "Suppose we have a 'city' post type, which is associated with a 'country' post type, such that each 'city' post has a 'country' parent post. Then the 'country' CPT has a 'language' taxonomy associated to it. Now, let's say we want to find all the cities which speak a certain language. Let's assume we already have the `'post_parent__in'` query var: #13927 We could construct a two-step query, like this: 1) Get all the countries with that language: {{{ $country_ids = get_posts( array( 'fields' => 'ids', 'post_type' => 'country', 'language' => 'french', 'nopaging' => true ) ); }}} 2) Get all the cities belonging to that country: {{{ $cities = get_posts( array( 'post_type' => 'city', 'post_parent__in' => $country_ids ) ); }}} No custom SQL queries; fantastic! But, if you have many many countries (not a good example, I know), you waste a lot of time passing the IDs back and forth from PHP to SQL. Final query: {{{ SELECT * FROM wp_posts WHERE post_type = 'city' AND post_parent IN (1, 2, 3, ...) }}} It would be a lot more scalable to put the first query into the second, directly, as a subquery. So, it would now look like this: 1) Get all the countries with that language: {{{ $country_ids = get_posts( array( 'fields' => 'ids', 'post_type' => 'country', 'language' => 'french', 'nopaging' => true, 'lazy' => true' ) ); }}} 2) Get all the cities belonging to that country: {{{ $cities = get_posts( array( 'post_type' => 'city', 'post_parent__in' => $country_ids ) ); }}} $country_ids would now be a WP_Lazy_Query object, which would just contain the subquery SQL. It would be appended to the second query, when needed: Final query: {{{ SELECT * FROM wp_posts WHERE post_type = 'city' AND post_parent IN ( SELECT ID FROM wp_posts WHERE post_type = 'country' INNER JOIN wp_terms ... ) }}}" scribu Future Releases 16980 Empty Values are ignored by class-ixr.php XML-RPC 3.1 normal normal Future Release defect (bug) assigned needs-unit-tests 2011-03-27T12:34:47Z 2020-09-30T18:41:01Z "I tried to fix the following bug #10599 Found out when you send and empty value via xmlrpc it converts it to null value. Say you send and array of arguments for mw_editpost, set {{{ $content_struct[mt_keywords] = ''; }}} IXR client passes a null value instead of an empty value. In mw_post method consider this statement {{{ $tags_input = isset( $content_struct[mt_keywords] ) ? $content_struct[mt_keywords] : null; }}} Even if you send an empty value this statement fails because {{{ $content_struct[mt_keywords] }}} is set to null by IXR client." nprasath002 Future Releases 17020 Some comment queries are not filterable Comments 3.1 normal normal enhancement new needs-unit-tests 2011-04-02T16:56:32Z 2019-06-04T19:22:21Z "Although WP_Comment_Query::query() is fully filterable, some supplemental comment queries are still unfilterable. The submitted patch adds the following hooks: * function get_approved_comments() - query filter 'get_approved_comments_query' * function wp_dashboard_recent_comments() - query filter 'dashboard_recent_comments_query'" kevinB Future Releases 17039 the_excerpt() - handling Formatting 3.1 normal normal defect (bug) new 2011-04-03T22:15:48Z 2019-06-04T19:43:23Z "If a post has a manually inserted ''before'' the default break at the excerpt length, then the_excerpt() fails to generate any [...] or call the ""excerpt_more"" filter. Thus, there is no indication that there is more content to the post." wpweaver Future Releases 17061 media_sideload_image() allows upload of 301-redirected non-images chriscct7* Media 3.1.1 normal normal defect (bug) accepted 2011-04-06T14:39:09Z 2019-06-04T20:02:39Z "When you give {{{media_sideload_image()}}} URLs that are not images, an error is raised. If for example I do: {{{ media_sideload_image(""http://google.com"", $post_id, $img_desc); }}} then I get this error: {{{ Sorry, this file type is not permitted for security reasons. }}} And this is absolutely normal and expected. But there is a case when {{{media_sideload_image()}}} do not detect non-images. This case is when the URL given to the function looks like an image but is redirected by Apache to another place. For example, on my server, this URL: {{{ http://coolcavemen.com/e107_plugins/autogallery/Gallery/default.jpg }}} redirects to: {{{ http://coolcavemen.com/photos/ }}} Now if in some PHP code I do: {{{ media_sideload_image(""http://coolcavemen.com/e107_plugins/autogallery/Gallery/default.jpg"", $post_id, $img_desc); }}} then no error is raised and I end up with the HTML served at {{{http://coolcavemen.com/photos/}}} being uploaded to my WordPress site as-is: {{{ kevin@kev-laptop$ file ./wp-content/uploads/2011/04/default.jpg ./wp-content/uploads/2011/04/default.jpg: HTML document text }}} Of course this upload appears broken in the media manager, as you can see in this screenshot: http://twitpic.com/4hlyks" anonymized_154007 Future Releases 17077 Page parent li elements in nav menus not always given current-page-parent class Menus 3.1 normal minor defect (bug) assigned 2011-04-07T09:53:45Z 2019-06-04T20:02:40Z "Using a fresh WP3.1.1, 2010 theme, Theme Unit Test data, adding a navigation menu with Parent Page as an item without any child items and then navigating in the browser to Child Page 1. The

  • for the parent menu item doesn't get assigned the current-page-parent class. It does get the current-page-ancestor class, and none of my themes demand the current-page-parent class specifically so I've tagged this as trivial." andymacb Future Releases 17078 is_active_sidebar() doesn't work with Numeric sidebar ID's Widgets 2.8 normal normal defect (bug) new close 2011-04-07T10:06:54Z 2020-05-20T21:00:56Z "This needs a small fix: Function is_active_sidebar( $index) converts $index to a string then uses wp_get_sidebars_widgets() to see if the sidebar is active ..but keys in the array wp_get_sidebars_widgets() generates can be integers if the ID's of the registered sidebars are integers" lanceo Future Releases 17164 More elegant handling of site 'archive' options for MultiSite Networks and Sites 3.1 normal normal Future Release enhancement new 2011-04-18T15:08:50Z 2023-03-22T14:32:22Z "Right now you have a few options with MultiSite blogs 1) Spam 2) Deactivate 3) Archive 4) Delete Spam is easy to understand, and should be marking the admin and site as spam. Delete ditto, hi. Deactivate and Archive are weird though and almost seem backwards. Deactivate means to turn OFF (like deactivating a plugin). Archive implies that you're making a site read-only. Right now, if you change a site to 'deactivated' it actually shows up as DELETED and the front end has the message ""This user has elected to delete their account and the content is no longer available."" Clearly the verbage on the network/sites.php page needs to be updated (and perhaps the front end to 'This site has been deactivated.' to be consistant). If you 'Archive' a site it kicks it to a paler pink in the sites.php page (though the 'Archived' text is white and nigh impossible for me to read) and the front end says ""This site has been archived or suspended."" It's rather illogical there. Archive SOUNDS like it should be making things read-only (and turning off commenting and posting if possible). Otherwise it should just be 'Suspend', and at that point, why have two options that pretty much do the same thing from the front-end perspective?" Ipstenu Future Releases 17255 More statuses (like draft and/or private) for media files Media 3.1 normal normal Future Release defect (bug) new 2011-04-27T11:48:11Z 2023-10-25T15:39:32Z "It's weird that media files don't carry any concept of pub status. If someone wants to upload files (either attached to a post or directly into the library), they should be able to keep them hidden via 'draft' status just like any other content. The fact that people can link to things that haven't been explicitly published is bizarre. Media files should have a pub status. If uploaded as post attachment, should inherit publish on post publish. Would then need a workflow for if a post becomes unpublished containing media, as it then lives in library for use by other content, so would need to ask if user wants to unpub media files as well. This would be a big shift, so would make most sense as part of a media redux with a long notice period for plugin and theme authors. " jane Future Releases 17370 Screen options and meta box settings can lose per-blog meta box positions Users 3.1 normal normal Future Release defect (bug) new 2011-05-10T21:13:37Z 2022-10-03T12:10:08Z "User preferences for admin interface appearance of the Dashboard and the Edit/Add New pages are stored in per-user options in `wp_usermeta`: `closedpostboxes_$page`, `metaboxhidden_$page`, `meta-box-order_$page`, and `screen_layout_$page`, where `$page` is one of 'post', 'page', or 'dashboard'. Users can customize the order of the Dashboard and editing meta boxes to better suit their workflow using the drag-and-drop AJAX interface to move the meta boxes into ordered columns and the Screen Options tab to show and hide the boxes. Many plugins add custom meta boxes to the Edit/Add New Post page. In a multisite installation, with different plugins active on different blogs, users who rearrange an Add New Post page on a blog with a custom meta box and then rearrange it on a different blog without that meta box will lose the position of the custom meta box. Blogs can have different features and workflows implemented, and having per user options for the appearance instead of per user, per blog options limits the ability of a user to customize the interface. The expected behavior for moving things around is that it changes on one blog, not on all blogs." jmdodd Future Releases 17374 get_pages() with child_of forgets sort DrewAPicture Posts, Post Types 3.1.2 normal normal defect (bug) assigned dev-feedback 2011-05-11T10:06:17Z 2023-04-18T12:45:36Z "If you call {{{get_pages()}}} with both the {{{child_of}}} and {{{sort_column}}}, the sorting is not applied. {{{child_of}}} makes it select all pages (sorted) and later applies a subselect via {{{get_page_children()}}}. This subselect can mess up the sort order. An example was reported on http://wordpress.stackexchange.com/questions/16921/get-pages-not-ordering-as-it-should Related: #12821" janfabry Future Releases 17382 XMLRPC wp_getUsersBlogs Scalability XML-RPC 3.0 normal normal defect (bug) new 2011-05-11T20:32:15Z 2019-06-05T06:38:07Z "If there is a root blog with many sub blogs on it and a user that is an admin on each sub blog, then when the when the XML RPC method wp_getUsersBlogs() is called it does not scale very well. My PHP memory_limit setting was 128MB, and the XML RPC request died when a user was a member of 230+ blogs. I noticed that the number of queries made to the database for a single user that has many blogs that they are an admin is very high. Affected line: http://core.trac.wordpress.org/browser/tags/3.0.1/xmlrpc.php#L443 I don't know exactly how the code would have to change so I am not providing a patch." bmorneau Future Releases 17394 Network Admin -> Sites -> Users not report correctly Users 3.1.2 normal normal Future Release defect (bug) reopened 2011-05-12T14:10:29Z 2020-09-30T19:43:43Z "The Network Admin -> Sites -> Users screen does not list all users in the site. I see the symptom of this issue has been reported before, but I have found the cause (in my case anyway). '''Example Scenario:''' In my set up I have added plugins that add user roles: a registration plugin that adds ""Registration Admin"" and a event management plugin that adds ""Office"" and ""Committee"". I have the registration plugin installed in all sites (root and test), but the event plugin in only installed in the test site. When I add a user to the root site, I can choose the normal roles or ""Registration Admin"", when I add a user to the test site I can choose the normal roles or any of the 3 new roles that have been added. '''Problem:''' When I view the list of users on the Network Admin, not all users are displayed in the list. It appears the Network Admin screen works in the context of the root site, where the event plugin is not installed. As a result, the Office and Committee roles are not available in the root site, and users of the sub-site with the those roles do not show in the user list. The filters show the correct total number of users beside All, but the additional roles unique to the sub-site are not listed. In the sub-site Dashboard, they show correctly, and if I install the other plugin to add the Office and Committee roles to the root site they will show in the Network Admin -> Sites -> Users screen for the sub-site. It would appear the user list for a sub-site will ignore users that are assigned a role that doesn't exist in the root site, even though they are assigned a valid role in the site displayed. This bug is reproducible by adding roles to sub-sites. I would a happily help with more clarification or resolving this issue as needed. I know it's not critical, but it is very frustrating when administering a large multi-site network." whiteatom Future Releases 17450 Almost pretty permalinks with non-ASCII characters do not work in Apache westi Permalinks 3.1 normal normal defect (bug) reopened needs-unit-tests 2011-05-16T05:53:14Z 2019-06-04T20:42:05Z Almost pretty permalinks (using PATH_INFO) with non-ASCII characters do not work in Apache; a not found error is returned. The same permalink works in IIS when UTF-8 is used for server variables. It also works when mod_rewrite is used. peaceablewhale Future Releases 17451 Unify plugin update notices and include changelog data nacin* Upgrade/Install normal normal enhancement accepted dev-feedback 2011-05-16T09:23:25Z 2019-06-04T21:07:00Z "Currently the after_plugin_row hook is only used on plugins.php which is used by the Changelogger plugin to show plugin changelogs inline. If the hook is also added to the bottom of list_plugin_updates in update_core.php then changelogs could also be displayed on that page too. It's only a single line change so not sure how/if it's worth me attaching a patch for this?" dempsey Future Releases 17653 Canonical Redirect when space(s) are used instead of hyphens when requesting a page SergeyBiryukov* Canonical 3.0 normal normal Future Release enhancement accepted 2011-06-02T01:25:08Z 2018-08-19T03:31:39Z "Create a page with a slug that contains a hyphen (eg. /page-name/). If you then visit /page name/ (ie. use a space instead of a hyphen), WordPress currently manages to locate and display the page-name page. This could cause duplicate content issues. The same issue occurs if multiple spaces are used instead of a hyphen. As an example, this is the original page: http://jamesc.id.au/test-page/ This page is accessible via: * http://jamesc.id.au/test%20page/ * http://jamesc.id.au/test%20%20page/ * http://jamesc.id.au/test%20%20%20page/ * http://jamesc.id.au/test%20%20%20%20page/ and so on. WordPress should either output a 404 error, or redirect to /page-name/. Tested using the latest 3.2 trunk (r18110)." jamescollins Future Releases 17704 Automatically enqueue necessary scripts when custom meta boxes are used Administration normal normal enhancement new 2011-06-06T05:53:43Z 2019-06-04T19:22:32Z Right now if you add_meta_box() to a custom page, like using add_submenu_page() and then calling do_meta_boxes(), the screen options and post box JS don't work automagically. They should. mitchoyoshitaka Future Releases 17763 comments_popup_link() need a get_* version Comments 3.2 normal normal enhancement new 2011-06-11T06:20:09Z 2019-06-04T19:22:34Z "Currently `comments_popup_link($zero = false, $one = false, $more = false, $css_class = '', $none = false)` has no get_*() version. Usage situation: Where the link needs to be used within a larger string being concatenated." dd32 Future Releases 17948 Enhancements to the login and registration forms wpdavis Login and Registration 3.2 normal normal Future Release enhancement new 2011-06-30T16:25:01Z 2017-10-06T16:23:13Z "I would like to propose a significant overhaul of the registration and login forms for 3.2, which I'd be happy to take on. A few things that I think would be helpful: Combine registration processes for multisite and single-user into one form on one page. Allow the registration and login to be templatized — no reason this should be for MS only. Standardize filters, actions and variables between MS and single-user when at all possible. A few related tickets: #17904 #17306 #17085 #16866 #16411 #17630" wpdavis Future Releases 18043 Uploaded images disappear after loading if using compression w/Apache Upload 3.2.1 normal major Future Release defect (bug) new dev-feedback 2011-07-08T22:49:15Z 2019-05-15T21:02:03Z "I have found an issue between WordPress (Multisite) + Google Chrome (Mac) which I think appeared on my sever when I enabled compression a few months ago, but could never reproduce because it only happens with images managed by a Multisite WordPress install, not static images. With images that are static Apache sends the file and calculates the Content-Length its self so these images work fine but if you access a file uploaded to WordPress it uses the .htaccess redirect so the image requests are sent via ms-files.php for what ever reason. The problem is that WordPress decides to calculate its own Content-Length header in the HTTP Response which means that security conscious browsers like Google Chrome freak out when the data they receive is less than they we're told by Apache and they resultantly disable the image. The Content-Length calculation comes on line 43 of ms-files.php I don't know why its needed because Apache seems to sort it out automatically if you don't send your own header, in fact most of the file seems like an unnessisary load of processing, perhaps it needs reviewing but this is a major issue as it is a growing browser, on a growing platform. Here is a great video of it in action: http://www.screencast.com/t/cUYKSegW0N This issue has been repeatedly reported on the forum: http://wordpress.org/support/topic/disappearing-images http://wordpress.org/support/topic/multisite-images-broken http://wordpress.org/support/topic/image-not-show-in-google-chrome-timthumbphp Please fix this asap!" ctsttom Future Releases 18146 Add user-level & front end timezone display flexibility according to a fixed time [GMT:0] Date/Time normal normal Future Release feature request assigned 2011-07-17T06:25:21Z 2023-05-30T04:01:59Z "Timezone can currently only be set on the blog level. This makes sure that the blog displays times in the timezone chosen by the blog's owner. It would also make sense to add a timezone setting for registered users, so we can show times in their own timezone, or use that setting as a default for new blogs or other features in a multi-site setting." RanYanivHartstein Future Releases 18161 Bulk action: Add user to multiple sites Users 3.2 normal normal Future Release feature request reopened 2011-07-18T19:07:04Z 2021-04-27T20:01:18Z "Currently, to add a single user to multiple sites, the super admin has to edit each site, add the user to the site, and then go on to the next site. To improve this workflow, it would tremendously useful to be able to add a single user to multiple sites in the network admin. This ticket could have scaling problems to solve." danielbachhuber Future Releases 18264 Future private posts listed as already published with future date specified Posts, Post Types normal normal Awaiting Review defect (bug) new 2011-07-27T00:05:27Z 2019-05-23T19:33:38Z "Setting a post to private, and scheduling it for some future date or time, results in the stamp that the post was ""Published on (future date)"" in the publish module. The discussion on tickets #5608 and #9136 suggests that all private posts are published immediately (and privately), and that this is intentional. So, it's misleading and confusing to report that it already was published on some future date. In source:trunk/wp-admin/includes/meta-boxes.php#L163, I suggest we replace: {{{ else if ( 'publish' == $post->post_status || 'private' == $post->post_status ) { // already published $stamp = __('Published on: %1$s'); } }}} with: {{{ else if ( 'publish' == $post->post_status ) { // already publicly published $stamp = __('Published on: %1$s'); } else if ( 'private' == $post->post_status ) { // published privately $stamp = __('Published privately'); } }}}" chrisrudzki Future Releases 18271 Item hierarchy should be maintained when adding to menu Menus 3.2.1 normal minor Future Release defect (bug) new 2011-07-27T20:13:35Z 2023-11-17T10:54:16Z "Situation: Create a hierarchy of categories or pages and go to create a custom menu. In the meta boxes on the left hand side, the categories and pages are shown in hierarchical arrangement. Select all categories (for example) and add to menu. Expected behaviour: All links are added to custom menu and the hierarchy is maintained appropriately Actual behaviour: Hierarchy is lost and all menu items are top-level This was originally raised by Jane in #17029 however the changeset in the ticket only applies to showing hierarchy in the meta boxes and doesn't cover maintaining hierarchy when adding to menu." JohnONolan Future Releases 18275 Can't get perfect thumbnail sizes with image editor Media 3.2.1 normal normal Future Release defect (bug) new 2011-07-28T02:37:16Z 2017-06-27T16:14:27Z "In the media settings, I have the thumbnail set to a fixed size (218x145), and set to crop to these exact dimensions. Sometimes the automatic thumbnail crops off people's heads, etc, so I use the Image Editor to manually adjust the thumbnail. I select a rectangle, set the aspect ratio to 218x145, click crop, apply to thumbnail only, and save. However, sometimes that results in an image slightly off in dimensions - for example, 215x145. I expect this is a rounding error. However, it happens even if I select an area much bigger than this when cropping in the Image Editor - eg 300x200. After I click crop and see the 300x200 image, I would expect the thumbnail to be automatically be created at 218x145 like it does normally based on this adjusted image - however, it appears the checkbox for using exact dimensions doesn't apply here. (In fact, if I select, say 300x300, it will make my thumbnail 145x145). This feels like a bug to me, and makes it very hard to generate thumbnails at the size I want." smerriman Future Releases 18282 Issue with admin page hierarchy in Menu admin Menus 3.2.1 normal critical Awaiting Review defect (bug) reopened changes-requested 2011-07-28T14:38:17Z 2023-08-12T10:15:28Z "Under Appearance > Menus in the left column under Pages, if I have more than 50 pages, the hierarchy view gets messed up. The issue seems to be related to paginate. If I change the ""50"" on lines 589 and 809 of wp-admin/includes/nav_menu.php to ""955"" the hierarchal admin menu works with 50+ pages. Attached are two XML files. One contains 50 pages and the other contains 53 pages. I've loaded them into fresh installs of 3.2.1 using the twenty eleven theme and no plugins. Paginate is great if it works right, if it won't work, just increase the number per page to something very high and people can scroll. I'd rather scroll than not have hierarchy work right. Link to 50 page XML -- http://cloud.hcc.me/0g3X3O310s3l3i2N363n Link to 53 page XML -- http://cloud.hcc.me/302e0c391A14193m2V2e Pastebin of wp-admin/includes/nav_menu.php -- http://pastebin.com/0FRAmMkS" hcceast Future Releases 18301 Activating a new theme on multisite is very long-winded DrewAPicture* Themes 3.1 normal normal Future Release enhancement accepted 2011-07-30T23:38:48Z 2023-08-29T15:29:18Z "Scenario: I've just uploaded a new theme to my theme directory and I now want to activate it on a site. I head to the Appearance › Themes menu for that site and, whoops, I forgot to activate it on the network first. Now I need to: 1. Click my name in the header 2. Click Network Admin in the dropdown menu 3. Click Sites 4. Find the site and click Edit 5. Click Themes From there I can enable the theme. We're not done yet though. We need to traverse a minimum of two screens to get back to the Themes menu of the site (even more if the admin bar isn't enabled) in order to activate it. Two things would make this process easier: 1. A link from the Themes screen to the Themes tab of the site in network admin, so five clicks become one. 2. The ability to activate a theme from the Themes tab of the site in network admin. " johnbillion Future Releases 18322 The Road to Magic Quotes Sanity jorbin Bootstrap/Load 3.2.1 normal normal Future Release defect (bug) reopened dev-feedback 2011-08-03T20:26:25Z 2023-06-26T20:19:27Z For back compat reasons, wp_magic_quotes() performs addslashes() on GPCS data. This is a pain, especially given that some core API expects slashes and some doesn't. In hopes of someday losing the automatic GPCS slashing, let's introduce a flag to turn off the slashing as well as slash and unslash functions that consult the flag. If slashing is on, these functions add and strip slashes. If slashing is off, they return data unchanged. Plugin authors can start using these functions and testing their code with GPCS slashing turned off and on. Eventually, GPCS slashing would default to off and all calls to the slash and unslash functions could be removed from core. ryan Future Releases 18395 Non-URL GUIDs are stripped on post update Posts, Post Types 3.2.1 normal normal defect (bug) new 2011-08-13T18:31:48Z 2019-06-04T20:42:09Z "The post guid is run through several filters before the post is saved. the esc_url_raw() call will end up setting a GUID to an empty string if the GUID does not begin with a known/accepted protocol. If a plugin/etc. wants to use the GUID column to store an external ID for an item brought in from another system (say a Flickr photo ID), then updating a post that has the Flickr ID as its GUID through the WP admin will end up setting the GUID for that post to ''. This would need to be changed if the move was made to UUIDs for GUID values as well. Related: #6492. A very basic patch for this specific issue is attached, but a larger discussion around how this should work is likely needed. Related: #18315" alexkingorg Future Releases 18489 Create constants in default-constants.php for the uploads folder to allow better custom uploads location eddiemoya Upload 3.2.1 normal normal Awaiting Review enhancement reopened 2011-08-19T20:11:41Z 2019-05-15T21:10:46Z "There are cases in which a the uploads directory might need to be divorced WP_CONTENT_DIR, currently the only thing we can use is the UPLOADS constant, which works but is relative to ABSPATH and as such limits where the uploads directory can be moved to. In default-constants.php we have constants for the wp-content, and plugins folder - the uploads folder is a natural addition to this. Currently there is only a poorly documented UPLOADS override in wp_uploads_dir, which can be overridden in wp-config.php. I also think there should be a similar constant for the themes folder, but I would that would be a bit more complex of a change. I have create a new function in default-constants.php which introduce WP_UPLOADS_DIR and WP_UPLOADS_URL, which are called after wp_plugins_directory_constants() in wp-settings.php - because that function create WP_CONTENT_URL, which is needed in order to create WP_UPLOADS_URL. It is important to note that I have not changed any of the precedent in terms of what overrides what - the uploads_path option still overrides the default location (or now, the potentially custom location) defined by the new constant, ''the old UPLOADS constant will still override either of them if it is set''. Thats the way it worked before and that behavior has been preserved. Additionally, I have patched /wp-includes/function.php wp_uploads_dir to make use of these new constants as well as a little clean up of some related logic. First patch to core - go easy." eddiemoya Future Releases 18499 User count / roles inconsistency if roles no longer exist but users still do Users 3.2.1 normal normal defect (bug) new 2011-08-23T13:53:43Z 2019-06-05T06:38:18Z "The count_users logic (from line 833 onwards in wp-includes/user.php) is based on user roles. If the roles were created by a theme or plugin which is then deactivated, wordpress loses count of the users, but still lists them. The behaviour is confusing and inconsistent. See attached screenshot. 1) the user count total at the top (all) ignores the users with no 'active' role, however users are all listed (the users are shown as 'no role' in the list) 2) the old roles are shown in the dropdown selection however are not listed in the totals Suggestions: 1) the total user count should at the very least be correct wrt to the list. 2) Perhaps a total of 'no role' users could/should be shown (since the users are listed anyway ?) 3) If the old roles are shown in the dropdown, perhaps they should be flagged as inactive in some way?" anmari Future Releases 18501 plugin_dir_path() returns unsanitized path on Windows installs Plugins 2.8 normal normal defect (bug) new dev-feedback 2011-08-23T18:40:29Z 2019-06-04T20:42:11Z "Currently plugin_dir_path() only returns the result of dirname( $file ), which can produce mixed results on local Windows installations. Attached patch takes pieces from plugin_basename() and plugins_url() to guarantee a working and accurate plugin directory path is returned in all operating systems. See #BB1596 (and associated revisions) for back-story." johnjamesjacoby Future Releases 18523 Can't change page permalink if slug metabox is removed helen Permalinks 3.0 normal normal Future Release defect (bug) assigned 2011-08-26T14:42:56Z 2021-01-07T17:19:03Z "If the slug metabox is removed from the ""Edit Page"" page, it is not possible to change permalinks, using the edit permalink function at the top of the page. Slug and other metaboxes are removed by the karma theme, in its admin/theme-functions.php (but only if 'ka_hidemetabox' in the wp_options table is 'true'): {{{ remove_meta_box('slugdiv','page','normal'); }}} Technically, without the slug box, the ""post_name"" field containing the new slug is not sent with the form data when you click the ""Update"" button. I believe this is bug was introduced after version 3.1.3. " dankod Future Releases 18563 Disallowing editing of .php files in the plugin editor blocks access to allowable extensions Plugins 2.8 normal normal defect (bug) new 2011-09-01T04:12:29Z 2019-06-04T20:42:15Z "By using the editable_extensions filter, a user can disallow the editing of php files (more accurately: files with a php extension...) {{{ add_filter( 'editable_extensions', 'disallow_php_file_editing' ); function disallow_php_file_editing( $editable_extensions ) { unset( $editable_extensions[0] ); return $editable_extensions; } }}} However, the file selected when first clicking on the Editor link in the menu is always a php file, so the user is given the ""Files of this type are not editable"" wp_die() message without being presented with a chance to select a file with a different/allowable extension." trepmal Future Releases 18602 Media Library imported, but all items Unattached Import 3.2 normal normal defect (bug) new reporter-feedback 2011-09-06T10:10:18Z 2019-06-04T20:02:51Z "Export XML file from one site, import into another site. By checking ""Download and import file attachments"", files from wp-content/uploads are downloaded correctly to the new site, and added to Media Library. However all items in the Media Library are now ""Unattached"", and for example posts using [gallery] are broken on the new site. " awallin Future Releases 18672 "Implement rel=""prev"" and rel=""next"" for archives" joostdevalk Permalinks 3.3 normal normal Future Release enhancement new 2011-09-15T12:37:23Z 2020-02-29T17:21:40Z "As can be seen here: http://googlewebmastercentral.blogspot.com/2011/09/pagination-with-relnext-and-relprev.html Google now uses rel=""prev"" and rel=""next"" to navigate paginated archives. As we already do a lot of these types of links (rel=""index"", rel=""start"" etc.) I think we should add these. I'll come up with a first version of a patch." joostdevalk Future Releases 18743 Persistent redirect_to For Login, Registration, and Lost Password Login and Registration 3.3 normal normal enhancement new 2011-09-22T07:04:39Z 2019-06-04T20:02:54Z "Currently, if redirect_to is passed in to the login screen and then a user clicks Register or Lost Password, the redirect_to gets lost. I think that the redirect_to should be persistent and honored whether the user logs in, registers or gets a lost password. I've written a hacky filter to do this, but I think this ought to be included in the core. Here's what I did: {{{ //Keep redirect_to in URL add_filter('site_url', 'foxyshop_add_registration_redirect', 5); function foxyshop_add_registration_redirect($path) { if ((strpos($path, ""action=register"") !== false || strpos($path, ""action=lostpassword"") !== false) && isset($_REQUEST['redirect_to'])) return $path . '&redirect_to='.urlencode($_REQUEST['redirect_to']); if (substr($path, strlen($path)-12) == ""wp-login.php"" && isset($_REQUEST['redirect_to'])) return $path . '?redirect_to='.urlencode($_REQUEST['redirect_to']); return $path; } }}} (I know 3.3 is in freeze now, but there wasn't another version option)" sparkweb Future Releases 18769 Admin should not break if URL changes Administration normal normal Awaiting Review enhancement new 2011-09-24T22:58:42Z 2022-02-06T14:07:17Z "We manage a lot of users who have WordPress blogs, and probably the number one user support request we have to field comes out of this situation: 1. User decides they want to move their WordPress, 2. They move the folder to a new URL, 3. Their admin page stops working, because it still had the old URL hard-coded. This is silly and should be fixed." AmbushCommander Future Releases 18777 Support filtering of domain validation on Add New Site. Networks and Sites normal normal enhancement new 2011-09-26T11:41:32Z 2020-10-16T18:28:34Z "I've a client who wanted to add subdirectory sites in a multisite install e.g.: example.com/department1/johnjoe example.com/department2/fredbloggs etc. But to do this, they had to add the site without the slash, then go back, and edit the sites URL. So to allow support for this, ( coupled with the obligatory custom sunrise.php ) and to allow error checking ( e.g. not allowing depoortment1, and only allowing a preset number of subfolders ), I added a filter. You'll find attached a small patch to site-new.php adding this filter" TJNowell Future Releases 18791 Add custom post type support for Author Template functions Users 3.2.1 normal normal enhancement new needs-unit-tests 2011-09-27T12:32:48Z 2019-06-05T06:38:28Z "Functions defined in `wp-includes/author-template.php` assumes that post type == post. It will be good to enhance them so they will be able to work with specified post type. At first sight following functions will need update: {{{ get_the_author_link() the_author_link() get_the_author_posts() the_author_posts() the_author_posts_link() get_author_posts_url() wp_list_authors() }}} I suspect there will be other updates needed, to support new `post_type` argument added to author's url." sirzooro Future Releases 18816 Add 'offset' parameter and 'ancestral' boolean to wp_nav_menu Menus normal normal enhancement new dev-feedback 2011-09-29T16:13:42Z 2019-06-04T20:02:57Z Since we can now call wp_nav_menu multiple times and there is the very useful 'depth' parameter, I believe adding an 'offset' parameter would be very beneficial in many situations. This would allow you to start at the children of the main pages for example and combined with depth it becomes very powerful. An 'ancestral' => 'true' option could output only menu items that the current page is a descendant of. Currently if you want to display a main menu in the header and then a submenu on page.php you either need a tricky custom walker or terrible CSS 'visibility:hidden' or 'display:none' situations. signyourbikeout Future Releases 18836 ORDER BY RAND() is slow pbearne Query normal minor enhancement assigned has-patch 2011-10-01T16:59:04Z 2024-03-12T17:55:53Z "WP_Query currently accepts 'orderby' => 'rand' which translates to ORDER BY RAND(). This is very slow when you have many posts, since it effectively calls RAND() for each row. A faster way would be to call RAND() only once and put it in the LIMIT clause. The only thing is that we have to make sure that the generated number is smaller than (total number of posts - number of posts to fetch). So, this would require to do an extra query to calculate the total. It should still be faster than the current method. If we want to get more than one post, we can get them in any order and then call shuffle() on the resulting array." scribu Future Releases 18842 wp_nav_menu confuses new developers when it falls through to page listing Menus 3.2 normal normal Awaiting Review defect (bug) reopened 2011-10-02T10:54:12Z 2017-09-20T19:42:00Z "It appears that when wp_nav_menu() falls through to a page listing, many menu-specific args are not passed to the page listing, which ultimately confuses new developers. I seem to answer this at least weekly in #wordpress One example is the 'container_class' arg, if it falls through to the fallback_cb, the container_class is not applied. Ideally, template-related arguements should be passed to the fallback (And with pages as the default callback, it should handle these) or wp_nav_menu() should output any extra wrapping divs if appropriate." dd32 Future Releases 18909 Bundled jQuery UI should have CSS External Libraries 3.3 normal normal Future Release enhancement assigned close 2011-10-11T18:53:57Z 2024-03-28T18:55:52Z "Now that all of jQuery UI is in core, matching CSS should also be included for use in the admin in both color schemes. Related: #17952" helen Future Releases 19031 Category view incorrectly counting custom posts Posts, Post Types 3.2 normal normal defect (bug) new 2011-10-24T02:40:31Z 2019-06-04T20:42:32Z "If you define a custom post-type something like this: {{{ Array ( [taxonomies] => Array ( [0] => category [1] => post_tag ) [label] => Book [rewrite_slug] => [query_var] => [public] => [show_ui] => 1 [show_in_nav_menus] => 1 [publicly_queryable] => [exclude_from_search] => 1 ) }}} Even if the post-type is NOT public or NOT publicly_queriable (see above), the counts of the posts in each category still shows, totally ignoring the settings of the post-type. == Expected Output == I would expect the count to be related to the results displayed. If there are no visible results for that category (i.e. the user can't see them due to public settings), I would expect the count to go to zero. == Actual Output == The count of posts in the given category seems to have nothing to do with the visible results. This is related to this bug: #18950" fireproofsocks Future Releases 19307 "Need ability to export ""All content"" but limited to date range" Export 3.1 normal normal enhancement new 2011-11-20T23:19:43Z 2019-06-04T19:43:35Z "Need ability to export ""All content"" but limited to date range ==== ENV ==== WP 3.3-beta3-19254 (trunk r19367) ==== Additional Details ==== For a larger site is a common scenario to need to export all content, but because of resource limitations or time constraints it cannot be done in a single export. Exporting individual post types is not a work around, further you lose attachments on posts when exporting just ""posts"", and that breaks features including Featured Images. ==== Also Consider ==== Another common scenario for media and enterprise customer is wanting to export a period of time to further analysis that content, or stage it in their development environment for debugging an issue, or developing new designs and features." lloydbudd Future Releases 19493 post and archive pagination don't work with custom endpoints Rewrite Rules 2.1 normal normal Awaiting Review defect (bug) new 2011-12-09T23:55:09Z 2018-01-25T20:22:02Z "Archive pagination and post pagination are not endpoint-aware, so they break when endpoints are added to them. The following example code creates an endpoint, and then uses a filter to add that endpoint to various links on the rendered page: {{{ add_action( 'init', function() { global $wp_rewrite; add_rewrite_endpoint( 'foo', EP_ALL ); $wp_rewrite->flush_rules(false); } ); add_filter( 'post_link', 'gist_add_endpoint_to_url', 99 ); add_filter( 'get_pagenum_link', 'gist_add_endpoint_to_url', 99 ); function gist_add_endpoint_to_url( $url_base ) { $endpoint = 'foo'; $url_parts = parse_url( $url_base ); $url = ( isset($url_parts['scheme']) && isset($url_parts['host']) ) ? $url_parts['scheme'] . '://' . $url_parts['host'] : ''; $url .= isset($url_parts['path']) ? $url_parts['path'] : ''; $url = user_trailingslashit( $url ); if ( '' === get_option('permalink_structure') ) { $url .= isset($url_parts['query']) ? '?' . $url_parts['query'] : ''; $url = add_query_arg( $endpoint, 'true', $url ); } else { $url .= $endpoint . '/true'; $url = user_trailingslashit( $url ); $url .= isset($url_parts['query']) ? '?' . $url_parts['query'] : ''; } $url .= isset($url_parts['fragment']) ? '#' . $url_parts['fragment'] : ''; return $url; } }}} You'll see that it works perfectly using the theme unit test, except that paginated posts produce URLs like this: http://example.com/2008/09/layout-test/foo/true/2/ ...which doesn't work. The inverse -- http://example.com/2008/09/layout-test/2/foo/true/ -- also doesn't work, and produces a 404 on top of it. Also, the older posts / newer posts produce this format of link: http://example.com/page/2/foo/true/ .. .which also doesn't work. If you change gist_add_endpoint_to_url() to add a querystring param, older posts/newer posts links work fine, but post pagination still breaks: {{{ function gist_add_endpoint_to_url( $url_base ) { $endpoint = 'foo'; $url_base = add_query_arg( $endpoint, 'true', $url_base ); return $url_base; } }}} If you don't use a permalink structure at all, it works fine, since the pagination params are passed directly in the URL. I'm not sure if the fix lies in modifying add_rewrite_endpoint() so that it creates pagination urls in wp_rewrite, or modifying the way _wp_link_page() and get_next_posts_link() work. " mintindeed Future Releases 19572 switch_to_post() stack implementation (similar to switch_to_blog()) Posts, Post Types 3.3 normal normal enhancement new 2011-12-15T21:54:57Z 2019-06-04T20:42:36Z "One of the challenges themes and plugins have is the balance between utilizing the core APIs that rely on global variables, while leaving things in a ""clean"" state for the next worker in the chain. For example, I might have a shortcode that pulls content from another post, outputs a title or some other data, then needs to restore the previous post environment. The attached patch provides APIs for doing just this - using the same stack approach that switch_to_blog() takes in a multi-site instance. To set up a post context, call: switch_to_post($post_id); This can be called multiple times, diving deeper into the stack. Then each process is responsible for restoring the $post context by calling: restore_post(); This goes back to the stack, bumps out the current post and restores the previous post's context. There is some test code for demonstration here: https://gist.github.com/1309915" alexkingorg Future Releases 19590 Warnings when unregistering core taxonomies and post types Taxonomy 3.3 normal normal defect (bug) new 2011-12-17T18:40:49Z 2019-06-04T21:07:20Z "'''number_format_i18n''' (/wp-includes/functions.php, line 155) will raise a warning when the first parameter ''$number'' is not a double/float, which happens when it receives the value 0. The error only shows up in the dashboard with a locale active (es_ES) in this case, screenshot attached. The fix would be to cast the received value to float. Current function, {{{ function number_format_i18n( $number, $decimals = 0 ) { global $wp_locale; $formatted = number_format( $number, absint( $decimals ), $wp_locale->number_format['decimal_point'], $wp_locale->number_format['thousands_sep'] ); return apply_filters( 'number_format_i18n', $formatted ); } }}} Fix, {{{ function number_format_i18n( $number, $decimals = 0 ) { global $wp_locale; $formatted = number_format( (float) $number, absint( $decimals ), $wp_locale->number_format['decimal_point'], $wp_locale->number_format['thousands_sep'] ); return apply_filters( 'number_format_i18n', $formatted ); } }}} It's the first bug i report here, so correct me if I'm doing it wrong. " xmarcos Future Releases 19686 404 - File or directory not found Permalinks 3.3 low normal defect (bug) new dev-feedback 2011-12-29T19:47:45Z 2019-06-04T21:03:41Z "We are running Wordpress using multiuser with Buddypress. Users are getting the 404 error after they click the save button in their settings. I'm opening this ticket to report the source of the problem. Wordpress 3.x Buddypress 1.5 Windows 2008 R2 (IIS 7.5) Themes installed are all Buddypress compatible and all themes seem to be affected. All option pages are affected. Settings are updated when the user returns to the page - despite the error. A screen shot of the error can be seen at http://blogs.cnc.bc.ca/gagel/?attachment_id=38 The source of the problem appears to be in the wp_get_referer() function on line 164 in options.php. With the variables passed to the function it should redirect the user to the page they just submitted when they updated options. Instead they get the 404 error. The page they're redirected to appears to be the absolute path of the submitted page appended to the absolute path again (minus the domain). So it looks like this: userblog/wp-admin/userblog/wp-admin/options-general.php?settings-updated=true When I switch out the wp_get_referrer() function with the variable $parent_page then the redirect worked as expected. I'm uncertain about leaving it like this as my change may have introduced issues elsewhere... This issue is discussed at http://wordpress.org/support/topic/recuring-404-file-or-directory-not-found-error?replies=8#post-2527566" kwgagel Future Releases 19707 admin-ajax.php requests via http regardless of force_ssl_admin() state Administration normal normal Awaiting Review enhancement reopened 2012-01-01T00:53:52Z 2018-03-06T13:31:02Z "Noticing these requests failing: ""NetworkError: 403 Forbidden - http://HOSTNAMEwp-admin/admin-ajax.php"" My server explicitly denies http to wp-admin. SSL only. Looks like admin_url() is giving http rather than https. I suspect this bug actually lies somewhere in get_site_url(), but I don't have time to triage this right now. This is technically a security bug since WP should always obey force_ssl_admin(), but I don't think anything is being leaked or compromised. You don't get access to anything, and nothing being sent over the wire is sensitive since it still obeys the rules of the protocol (cookie is secure). It's just a nuisance." robertaccettura Future Releases 19724 Sites with IDN domains can't be created (bug #15554 continuation) Networks and Sites 3.3 normal normal defect (bug) new 2012-01-03T17:44:08Z 2019-06-04T20:03:05Z "registration of new site with idn domain by unknown/new users themselves is not possible. (though creation of new site in wp-admin/network/site-new.php page is possible, by patch given in bug #15554 , i have just now tested it.) also let i mention that site domain is written (and would be requested to enter, if would be fixed without punycode to unicode conversion) in punicode form in wp-signup.php page, that is not acceptable for wordpress. i have attached differences i made to wp 3.0.4 to make idn domains working and also to show and accept them in human readable format in wp-signup.php page . link to the differences file i attached to/in previous bug report on/to this topic: http://core.trac.wordpress.org/attachment/ticket/15554/diff304-blogo.txt ." qdinar Future Releases 19747 Roles add_cap should call update_user_level_from_caps() Role/Capability 3.3.1 normal normal Awaiting Review defect (bug) reopened 2012-01-05T11:17:32Z 2022-05-13T22:08:51Z "Hey guys, I've created a new user role, which didn't appear in the Author drop down list due to #16841. The workaround is to add a level_1 capability to that user, but because wordpress doesn't call update_user_level_from_caps() function when you add_cap, that isn't actually applied to existing users on the role, and you have to move them to a different role and back again if you want to apply the changed user role. I'd suggest adding a call to update_user_level_from_caps() to add_cap (and remove_cap) to fix this in wp-includes/capabilities.php" lgladdy Future Releases 19764 Invalid JSON in custom fields meta value after export Import 3.3 normal normal defect (bug) new 2012-01-06T17:13:07Z 2019-06-04T20:03:07Z "Hey there, I exported a working copy of my online WordPress site to a local copy and noticed that the code gets changed; The backslash is removed which causes the json format to be invalide. Original code in the custom fields meta {{{ {""videos"":{""0"":""""}} }}} Becomes in the local site after import {{{ {""videos"":{""0"":""""}} }}} " abdessamad idrissi Future Releases 19834 More Robust Capabilities for Attachments Media normal normal Awaiting Review feature request new 2012-01-15T00:43:40Z 2020-09-10T14:05:33Z "Attachments/files should have their own set of capabilities mirroring those of posts, in addition to upload_files. Specifically: - read_attachments - edit_attachments - edit_others_attachments - delete_attachments - delete_others_attachments Currently, attachments rely on the edit_posts capability, which can create complications if you don't want your users to see the ""Posts"" sidebar item, or don't want them to be able to delete the attachments they upload. " walkinonwat3r Future Releases 19859 """Bulk Edit"" Missing The Ability To Edit Tags" oglekler Quick/Bulk Edit normal normal Future Release enhancement reopened 2012-01-20T02:56:24Z 2024-02-12T09:21:55Z "Though I can add, remove and edit ""categories,"" I cannot do such actions to ""tags"" inside of /wp-admin/edit.php So basically, I'm interested in a ""bulk tag editing"" GUI for the WordPress admin. === I was hoping to find out the status of this feature (planned, not planned, etc) but it appears that no one has spoken about this feature on the WordPress Trac. Is there any interest in adding this feature? And could the respondent please provide any details on why or why not? Thank you for your time." ademos Future Releases 19867 wp_dropdown_users() still not scalable Users 3.3.1 normal normal Future Release enhancement assigned 2012-01-20T22:04:27Z 2024-03-25T02:34:10Z #14572 made huge improvements to the performance of wp_dropdown_users(), however, on certain sites that have an unusually large set of authors, wp_dropdown_users() still isn't usable. It either causes a memory error on the server, or potentially crashes the client browser due to content size. prettyboymp Future Releases 19896 Non-WP rewrites not saved on a multisite install Rewrite Rules 3.0 normal normal Awaiting Review defect (bug) new 2012-01-25T16:14:20Z 2017-08-22T14:29:46Z "The following code adds a rewrite rule which is classed as a non-WP rewrite rule because its redirect doesn't begin with `index.php`, and is stored in the `non_wp_rules` member variable of the `WP_Rewrite` class. {{{ function my_rewrite() { add_rewrite_rule( 'login/?$', 'wp-login.php', 'top' ); } add_action( 'init', 'my_rewrite' ); }}} On a single site install, this rewrite rule gets saved directly to the .htaccess file rather than being added to WordPress' internal rewrite array. On a multisite install, this doesn't happen and the rewrite rule has no effect (probably because once a site is multisite-d WordPress no longer writes to .htaccess). The rule has to be manually added to .htaccess. Likely introduced in 3.0, reproduced in 3.3 and trunk." johnbillion Future Releases 20019 wpmu_validate_blog_signup(): Allow '.' and '-' in blog names Login and Registration 3.0 normal normal enhancement reopened dev-feedback 2012-02-10T23:04:29Z 2019-06-04T20:03:10Z "Canonical uses Wordpress 3.x multisite as part of voices.canonical.com, for employees who do not have or wish to list their personal blog. The code is stock, except for one patch we maintain, which allows blog names (currently in WP as lowercase alphanumeric only) to also include '.' and '-'. This matches our global username format. Attached is a patch extending wpmu_validate_blog_signup() to allow '.' and '-', with a tweak for the error text. We have been running the patch for awhile, and have not run across any problems with the rest of the code accepting this." fo0bar Future Releases 20044 Enable search for pages by slug Query 3.7 normal normal enhancement new 2012-02-14T22:17:58Z 2019-06-04T20:42:51Z "Would be nice to be able to search a page by its slug. Might need to be a bit different depending on the permalink-strategy. Steps to reproduce(with Post name-permalinks enabled): 1. Create a new page with a specific slug 2. Save page 3. Search for the exact slug-name " ekitomat Future Releases 20057 Media upload for multi-webserver setups introduces a nasty race condition that could corrupt uploaded files Media 3.3.1 normal normal defect (bug) new 2012-02-17T05:46:40Z 2020-02-26T20:25:24Z "I am in the process of scaling a Wordpress blog with several million monthly pageviews, and I have designed a plan to scale it in the highest availability manner possible. '''The setup''' Each web server that hosts HTML/PHP, static files, and uploads will be replicated via rsync from time to time and sitting behind a load balancer. Rsync will run every 5min to 1 hour, and to mitigate the 404s in the uploads, I put together an nginx setup that automatically tries a different upstream server in its configuration when it encounters 404s. This allows any web server to go down at any time, and the system to run as if nothing happened. This also gives me freedom for rsyncing periodically rather than immediately and avoids 404s completely. '''The problem''' Now, the bug (note, I'm using Windows Live Writer which automatically names uploads image.png, but I could see this potentially happen without WLW too since WP seems to automatically name files on disk in case of collisions). Let's say we have server A and B. The site name is foo.com. Let's also say B is out of date by an hour and a bunch of files got uploaded to A that aren't on B. Say, A has image.png and image2.png and B has only image.png. Now, the issue is that if the load balancer directs the new post uploader (the new post contains a single image) to server B, the file that it will create on disk will be named image2.png rather than image3.png. So now B will have a file that's different from A's but is named the same way. The main problem is that the file name is given based on what's available on the disk rather than according to the database. It's easy for this race condition (between rsyncs) to destroy the integrity of the files. Furthermore, and I've experienced this first hand), if you delete the attachment from the Wordpress UI, it could actually delete the wrong file from the wrong server as a result. Seeing this, I can't continue with my scaling plan until file names are assigned by the database rather than the file system or I figure out how to mitigate that. I don't want to force all writers to use only server A for uploads using its direct IP, as I want HA (high availability). Thank you." archon810 Future Releases 20070 Deprecate Blogger XML-RPC Methods XML-RPC 3.3 normal normal Future Release enhancement new dev-feedback 2012-02-18T18:32:26Z 2020-09-21T19:41:58Z "The XML-RPC API supports the legacy Blogger API methods, but these methods have apparently not been very well tested or maintained. Given that the `wp.*` XML-RPC namespace now covers everything that the Blogger API does, I suggest the blogger methods be officially deprecated with an eye towards removing them in a future version. At the very least, the MetaWeblog API should be used by clients instead, as it was explicitly designed to enhance and supersede the Blogger API." maxcutler Future Releases 20109 Valid htaccess rule causes 404 after upgrade to 3.3.1 Rewrite Rules 3.3.1 normal normal defect (bug) new 2012-02-24T06:26:42Z 2019-06-04T21:07:25Z "On 2/18/2012, I upgraded WP from 3.2.1 to 3.3.1. on www.denverhomevalue.com. I later noticed that Google webmaster tools started reporting 404 errors on lots of pages that were fine before. WP was still returning the proper pages and content, not my custom 404 page, so the issue was not readily apparent except in WMT reports. Running http header response checkers confirmed 404 responses, despite good contents being returned. Deleting sections of the htaccess file until the problem went away, the issue was isolated to two rules meant to escape following rewrite rules on certain urls: {{{ RewriteRule ^city(.*) - [L] RewriteRule ^areas(.*) - [L] }}} These were the same family of urls that started returning 404s after 3.3.1 upgrade. These rules were in place since 12/5/2011, with WP 3.2.1 and never caused a problem. I was able to revert a backup of the site to 3.2.1, on the same exact server environment, and confirm that these same valid htaccess rewrite rules were not a problem in that release." ronnieg Future Releases 20152 Multisite simplify option name to user_roles Role/Capability 3.3.1 normal normal Future Release enhancement new 2012-03-01T21:44:28Z 2018-09-18T16:24:40Z "Currently each blog in a MS install of WP stores an array of user roles in it's [prefix]_[$blog_id]_options table as an entry with the key [prefix]_[$blog_id]_user_roles This makes it much harder to migrate MS install of WP to a different db prefix, etc. because not only do you need to change the table prefixes you need to go into each blog's options table and then properly update that option's key. Because the table itself is sufficiently unique there isn't a need for this. The user roles array could be stored in an option called ""user_roles"" for each blog." colind Future Releases 20194 Add Description meta to General Settings General 3.3 normal minor Awaiting Review feature request new 2012-03-07T20:59:05Z 2021-08-10T05:46:44Z "Add a description field to General Settings b/c these days with themes doing all kinds of kooky things, the automatic excerpt is often not representative of the site content. All the SEO-lovers will be happy, searchers will get more accurate results, and it's a nice end-user feature without high overhead. Could have sworn I made a ticket like this once before, but can't find it in search, so if anyone remembers it/is better at searching trac than I just was, go ahead and close this as duplicate." jane Future Releases 20205 Add the ability to filter wp_get_attachment_image() Media 3.4 normal normal enhancement new 2012-03-08T20:21:16Z 2019-06-04T20:03:15Z "i'm working on a plugin that lets users define any image to serve as the thumbnail for any PDF document. I'm storing the ID of the image as post_meta for the PDF attachment. Instead of showing the default icon with wp_get_attachment_image() I'm quite close to being able to do this by filtering image_downsize. the trouble is that the image_downsize filter it run ''after'' {{{ if ( !wp_attachment_is_image($id) ) return false; }}} so the PDF image fails the test and I never have a chance to run my filter. " helgatheviking Future Releases 20214 Pingback discovery doesn't strip fragment identifiers from URL Pings/Trackbacks 3.3 normal normal defect (bug) new dev-feedback 2012-03-11T08:34:46Z 2019-06-04T20:42:58Z "To reproduce: 1. Insert a link containing a fragment identifier into a post, e.g., `http://localhost/wp/helloworld/#comments`. 2. Save post. 3. Observe the URL which !WordPress attempts to retrieve in `discover_pingback_server_uri()` - the requested path contains the `#fragment_identifier`, which it shouldn't, and in most cases will result in a 404, thus the pingback fails." solarissmoke Future Releases 20283 Create new variable or function in $wp_query object to get canonical URL of any site's page Canonical 3.3.1 normal normal enhancement new dev-feedback 2012-03-22T14:42:36Z 2019-06-04T19:22:53Z "For the sake of Search Engine Optimization it's recommended to set canonical URL inside tag in any site's page. Incorrect URL can exist in search engine index. For example: http://example.com?some_param=some_val&cat=3,4. URL points to categories with id equals 3 and 4, but we have another unnecessary parameter 'some_param'. It's malicious! We must set canonical URL to http://example.com?cat=3,4. So It's advance to have canonical URL generated some way. I propose to set function or variable inside WP_Query class to retrieve canonical URL to any opened page. In WP_Query we have variable WP_Query::query which consists of all necessary parameters for that propose. But we must use $wp_rewrites also. Any thoughts? " egorpromo Future Releases 20289 wp_nav_menu container is not set when menu isn't defined Menus 3.3 normal normal defect (bug) new dev-feedback 2012-03-23T10:27:03Z 2019-06-04T20:03:19Z "When you use wp_nav_menu in your theme, but the actual menu isn't set via the backend menu interface, the container provided in the args is ignored and falls back to 'div'. Attached diff always uses container provided in args, if 'div' or 'nav' is provided. If no container arg is provided, falls back to using 'div'. {{{ wp_nav_menu( array( 'theme_location' => 'main_menu', 'container' => 'nav', 'menu_class' => 'main-menu-navigation', ) ); }}} To test this: Use this function in your theme, without assigning a menu to this theme_location." dannydehaan Future Releases 20325 Menu item parent classes for page_for_posts (home.php) not properly set on single.php Menus normal normal defect (bug) new 2012-03-29T12:50:06Z 2019-06-04T20:03:21Z If one has set page_for_posts (Settings => Read), on single.php wp_nav_menu() will set current_page_parent for the accordant menu item, but it will not set any parent or ancestor classes for its parent menu items as expected. [tested with 3.3.1] ptietz Future Releases 20368 htmlspecialchars() returns empty string for non-UTF-8 input in PHP 5.4 Formatting normal major defect (bug) new needs-unit-tests 2012-04-05T12:43:23Z 2019-06-04T19:43:43Z "The default value of the input `$encoding` parameter for `htmlspecialchars()` changed to UTF-8 in PHP 5.4. The prior default was ISO-8859-1. The function's UTF-8 handler checks the input, returning an empty string if the input isn't valid UTF-8. WordPress will see the UTF-8 validator kicking because most of the `htmlspecialchars()` calls don't use the `$encoding` parameter. This will cause major problems for sites that have a `DB_CHARSET` other than `utf8`. [http://article.gmane.org/gmane.comp.php.devel/71783 Posting 58859 to php-internals] by Rasmus gives a clear example of the problem. Here is a link to [http://thread.gmane.org/gmane.comp.php.devel/71777 view the whole thread], starting with posting 58853). Creating two centralized functions is an approach for resolving this problem. This route is simpler and easier to maintain than adding the parameters to each `htmlspecialchars()` call throughout the code base. 1. `wp_hsc_db()` for safely displaying database results. Uses `DB_CHARSET` to calculate the appropriate `$encoding` parameter. MySQL's character set names are not equivalent to the values PHP is looking for in the `$encoding` parameter. Please see the `hsc_db()` method in the [http://plugins.svn.wordpress.org/login-security-solution/trunk/login-security-solution.php Login Security Solution plugin] for a mapping of the valid options. 2. `wp_hsc_utf8()` for safely displaying strings known to be saved as UTF-8, such as error messages written in core. Uses `UTF-8` as the `$encoding` parameter. Some calls in core use the `$flags` parameter, so these new functions will need the parameter too. The default should be `ENT_COMPAT`, which works under PHP 5.2, 5.3 and 5.4. It may be suggested that WP use `htmlspecialchar()`'s auto-detection option (by passing an empty string to the `$encoding` parameter). This is not advisable because it can produce inconsistent behavior. Even the PHP manual says this route is not recommended." convissor Future Releases 20386 "Year permalinks ""win"" against category permalinks" Canonical normal normal defect (bug) new needs-unit-tests 2012-04-07T05:20:55Z 2019-06-04T19:22:56Z "We need to decide whether category permalinks should take priority over year permalinks. e.g. /2008/?category_name=cat-a Should that stay the same, or redirect to: /category/cat-a/?year=2008 We have a unit test which is failing." markjaquith Future Releases 20437 WP Upgrader filter to allow plugins to upload to existing directory Upgrade/Install 3.3.1 normal normal enhancement new reporter-feedback 2012-04-13T16:52:30Z 2019-06-04T21:07:27Z "Our plugin for WP uses various elements of the WP upgrader class to manage plugins for our plugin. ;) This has worked great except when we went to extend it further and allow uploading of plugins through the WP Upgrader class much like you can with WP plugins. The issue is that currently, the WP Upgrader class is coded to expect the upload destination to be empty - EXCEPT if the upload destination (the base directory) is one of these hard coded locations: in_array( $destination, array(ABSPATH, WP_CONTENT_DIR, WP_PLUGIN_DIR, WP_CONTENT_DIR . '/themes') ) So since our plugin storage location is not one of those, it fails since there may already be some plugins there. Sure would be nice if that array of locations that does not have to be empty (the important base dirs which allow dropping down a directory level)... a simple filter would accomplish this... Hope its not too late in 4.3 for a simple filter..." usermrpapa Future Releases 20438 Custom Post Types with Post Format support aren't registered against post_format taxonomy Posts, Post Types normal normal Awaiting Review defect (bug) reopened 2012-04-13T16:56:40Z 2022-05-13T22:06:11Z "When a custom post type adds support for {{{post-formats}}}, this doesn't actually register the {{{post_format}}} taxonomy for the post_type. Here's a quick test: {{{ add_action( 'init', function() { register_post_type( 'not-post', array( 'supports' => 'post-formats' ) ); global $wp_taxonomies; var_dump( 'post supports post_format:', in_array( 'post', $wp_taxonomies[ 'post_format' ]->object_type ) ); var_dump( 'not-post supports post_format:', in_array( 'not-post', $wp_taxonomies[ 'post_format' ]->object_type ) ); } ); }}} The {{{post_format}}} taxonomy doesn't get returned when {{{get_object_taxonomies}}} is called for the custom post type and one side-effect of this is that the {{{post_format_relationships}}} cache does not get flushed by {{{clean_object_term_cache}}} leading to stale values when a post format is changed. (The {{{post}}} post_type is immune to this because core registers the {{{post_format}}} taxonomy with it.) When a post_type adds support for post-formats, an explicit association should be made between the post_type and the {{{post_format}}} taxonomy." batmoo Future Releases 20459 Super admin should be able to bypass banned/limited domains when creating users Users normal minor enhancement new dev-feedback 2012-04-16T16:12:25Z 2019-06-05T06:38:31Z "The function `wpmu_validate_user_signup()` is run whenever a new user is created, either through self-registration (wp-signup.php) or through manual user creation by an admin. `wpmu_validate_user_signup()` does two different kinds of validation: (1) validation that is more or less technically required by WP, like spaces in usernames, email/login uniqueness, etc. (2) checks against some admin-set membership restrictions, namely, email domain whitelist (limited_email_domains) and blacklist (`is_email_address_unsafe()` and banned_email_domains). The second kind of validation is problematic in the following use case: An MS install might restrict open membership based on email domains, but the admin might occasionally want to make exceptions to the rule and manually create an account. Currently, there are two ways to bypass the built-in checks: to temporarily remove the domain restrictions at Network Admin > Settings, or to filter `'wpmu_validate_user_signup'` and remove the error messages. Having to manually change settings for this purpose is pretty hackish. The filter method works, but my experience (from consulting with a fairly large number of MS network admins) is that this is a pretty common use case, so it seems like it should be supported by default. So I'm proposing that the domain checks be skipped when `is_super_admin()`. Patch attached." boonebgorges Future Releases 20520 Author Page Pagination Broken When Removing /author/ Slug Rewrite Rules 3.3 normal normal defect (bug) new 2012-04-23T04:16:03Z 2019-06-04T21:07:29Z "WP 3.3.1 Multisite Permalink setup: /author/post-name - If the request is ""domain.com/authorname"" the authors page pagination link is broken. - If the request is ""domain.com/author/authorname"" the authors page pagination link works fine." rbaccaro Future Releases 20558 allow wp_localize_script data to be added to existing objects Script Loader 3.3 normal normal enhancement new dev-feedback 2012-04-27T16:44:03Z 2019-06-04T21:07:31Z "Re: WP_Scripts::localize() located in wp-includes/class.wp-scripts.php Currently when `WP_Scripts::localize()` handles the printing of wp_localize_script data to JavaScript, it starts the string with a `var` declaration, like this: {{{ $script = ""var $object_name = "" . json_encode($l10n) . ';'; }}} Because this is printed in the global scope, it becomes a global variable regardless of whether it's preceded by `var`. As far as JavaScript is concerned the above string would be equivalent to: {{{ $script = $object_name . ' = ' . json_encode($l10n) . ';'; }}} or {{{ $script = 'this.' . $object_name . ' = ' . json_encode($l10n) . ';'; }}} or {{{ $script = 'window.' . $object_name . ' = ' . json_encode($l10n) . ';'; }}} But I suppose it's possible thru hooks to make it so that the localization data prints outside of the global scope, in which case you might want the `var` to be there (if it we're wrapped in a closure). So I think the '''overall best solution''' would to check if the `$object_name` contains a period `.` character. If it does, omit the `var`. In other words, make it so that: {{{ wp_localize_script('myplugin', 'myPluginData', $object ) }}} would print: {{{ var myPluginData = {...}; }}} but that: {{{ `wp_localize_script('myplugin', 'myPlugin.data', $object )` }}} would print: {{{ myPlugin.data = {...}; }}} By default the localization data runs before any enqueued scripts, in which case `myPlugin` would not yet be defined, but we should leave that for the JavaScript dev work out. My point is that the flexiblity should be there. Another route would be to apply a filter on that line but I don't think a filter is necessary if the above change is made." ryanve Future Releases 20578 Allow users to delete a plugin without uninstalling Plugins normal normal Future Release enhancement reviewing 2012-05-01T01:18:35Z 2021-08-27T15:40:46Z Sometimes, a user may need to delete plugin files without deleting all the plugin data. scribu Future Releases 20596 Adding more actions to a widget Widgets normal normal enhancement new dev-feedback 2012-05-02T00:14:28Z 2019-06-05T06:38:33Z "On the Widget UI, there is a ""Close"" button, aside with the ""Delete"" button, and I that developers should have a way to add more of those. For exemple, I would see as a good use case when you have a way of previewing the widget. Because right now the only way is by JS which is kinda of lame. Thanks," webord Future Releases 20597 Allow WP_Comment_Query::query to filter by category Comments 3.4 normal normal enhancement new needs-unit-tests 2012-05-02T03:35:35Z 2019-06-04T19:23:03Z "The attached patch allows WP_Comment_Query::query to accept three additional arguments: * `cat` * `category__in` * `category__not_in` The resulting comments are then filtered by these category arguments as well as any other arguments. These arguments work the same way as their `WP_Query` counterparts. I would appreciate advice on the appropriateness of using `INNER JOIN` (as I have done here) to join in the taxonomy tables to the query." sambauers Next Release 20602 Replace media Media 3.3.1 normal normal enhancement reopened 2012-05-02T13:29:45Z 2023-10-18T23:58:59Z "I have been developing themes for clients lately that require the same image across the theme in varying places. A good example is an event site where the image is a badge/sticker showing the price of the tickets. This gets output on various pages in varying locations. get_attachment_link is perfect as I can plugin a single ID and use the graphic wherever. However, the ticket prices change as the event gets closer and the graphic needs to be updated which breaks the theme in production when my client does so as a new ID is generated. This doesn't make too much sense to me. I've worked with and developed CMSs of all kinds and usually the ID is preserved. I would at least like the option, perhaps a checkbox, to indicate I want to reupload a new image. I think it's more common that an update on a media item would be to modify the same logical graphic rather than just replacing it with something entirely new. I found the following plugin but I feel this really ought to be core. http://wordpress.org/extend/plugins/enable-media-replace/ Thanks for your consideration." PorridgeBear Future Releases 20652 Install plugins with FTP upload, virtual subdomain, bad base dir? dd32 Filesystem API 3.3 normal normal defect (bug) reopened 2012-05-10T12:02:48Z 2019-06-04T19:43:46Z "Hi anybody! I have problem with install plugins with FTP module in WP. Everything show as OK, but plugin directory is bad. I have subdomain sub.something.com - this is virtual subdomain from mod_rewrite dirs are /www/something.com/something.com[[BR]] /www/something.com/sub.something.com - here is WP installation, subdomain is virtual from rewrite in httpd.conf After install - WP say everything OK - but one thing is bad.[[BR]] Upload is in bad directory - plugin I can found in[[BR]] /www/something.com/something.com/plugins[[BR]] no in /www/something.com/sub.something.com/plugins[[BR]] Is here some way to fix it automatticaly or I can must edit config and basedir of ftp? Why is here this bug? Thank you ! Pavel " rajcz Future Releases 20739 Improve Excerpt generation for non-english locales I18N 3.4 normal normal Future Release enhancement new 2012-05-23T21:09:45Z 2024-02-28T16:40:01Z "This is a follow on from #16079 to further improve the code. While we improved it in 3.4 we can do a better job to more fully support the customisation for all different locales. For known issues see the comments on the previous ticket." westi Future Releases 20748 Include CPT Posts in Author Count & Archive Page Posts, Post Types normal normal enhancement new 2012-05-25T17:59:48Z 2019-06-04T20:43:09Z "For whatever reason, the default behavior is to only count the number of 'post' that an author has published. With the advent of custom post types, they should be included as well if the CPT has the 'author' capability. Currently, the author archive can include CPTs if you manually alter the query - this should be enabled by default if authorship is allowed." iridox Future Releases 20846 Multisite: Network Users can post comments without being members of the site Comments 3.0 low minor Future Release defect (bug) new 2012-06-05T14:35:41Z 2020-05-05T16:27:27Z "This is probably an 'ever since inception' issue and I can replicate it on 3.4 Setup: Have a user added to your network but '''not''' to a site (domain.com/test). Set up domain.com/test to only allow registered users to comment. Remember, we've not added this new user to the site, just the network. Log in as that user and go to domain.com/test Oh look! You can comment as a 'registered' user. This should be check for 'Is this a user ''and'', if multisite, is this user a member of the site?' It's that or the wording needs to be clearer that anyone registered on the network can comment." Ipstenu Future Releases 20853 get_post_custom show directly serialized data from the post_meta arrays. Options, Meta APIs 1.5 normal normal defect (bug) assigned dev-feedback 2012-06-06T05:39:23Z 2019-06-04T20:43:13Z "get_post_custom show directly serialized data from the post_meta arrays. For example: If I save a data with: {{{ update_post_meta( $post_id, 'camp', array( 'some' => $var, 'thing' => $var_2 ) ); }}} When I use get_post_meta(); : {{{ $var_get = get_post_meta($post_id, 'camp', true); echo $var_get['some']; // Fine.. Print: $var content. }}} but, when I use get_post_custom() : {{{ $var = get_post_custom($post_id); echo $var['some']; Metod, (Not work because ""Returns a multidimensional array"" with all values, and 0 is the first or the unique value). echo $var['some'][0]; /* Metod, >:( , Not work. Print: a:2:{i:some;s:4:""this"";i:thing;s:7:""content"";} */ }}} Instead of display ""array"", and can not handle sub arrays." shadowhck Future Releases 20854 PHP warning caused by missing 'spam' and 'deleted' fields in a custom user table Nikolaos Raftopoulos Users 3.3.2 normal normal Future Release defect (bug) reopened 2012-06-06T12:45:29Z 2020-09-30T19:40:38Z "In my network dashboard I get the following error message : Warning: number_format() expects parameter 1 to be double, string given in /home/tklighth/public_html/wp-includes/functions.php on line 155" leondari Future Releases 20859 Theme Installer: Preview should be scrollable on iPad and Kindle Fire Themes 3.4 normal normal defect (bug) new 2012-06-06T21:51:09Z 2019-06-04T21:07:35Z "Related to #20805. We've added techniques for smoothly scrolling iframes when they're the only frame on the page, but the theme installer still uses the overlay technique. We may be able to iron this out in a similar fashion. Given that the old installer also used an overlay technique, this is not a regression." koopersmith Future Releases 20947 feature request: one-click update for core, themes and plugins (all in one) Upgrade/Install normal normal Awaiting Review feature request new dev-feedback 2012-06-13T22:48:50Z 2018-08-13T17:00:35Z I'd love to have the one-click update be truly one-click so that you can click once and update core, themes and plugins all at once as opposed to having to initiate three different updates. jkudish Future Releases 20977 Add Dynamic Comment Statuses Comments 3.4 normal normal Future Release enhancement new dev-feedback 2012-06-15T17:12:07Z 2020-01-14T02:35:50Z It would be great to add some filters/actions that would allow plugin developers to add additional statuses to comments. supercleanse Future Releases 21096 Filter on is_front_page return value Query normal normal enhancement new 2012-06-28T10:32:03Z 2019-06-04T20:43:16Z "When you set a page (as 'placeholder' with same slug) as front page which is actually a post type archive to front page, is_front_page() will always return false on that page. The return value of the is_front_page() function is not filterable. Attached patch adds this filter in the most basic way." CoenJacobs Future Releases 21132 "List tables' ""select all"" should let you really select all, regardless of screen options" Posts, Post Types normal normal Awaiting Review enhancement new 2012-07-02T04:38:38Z 2017-06-08T06:51:24Z "The select all checkbox in list tables selects all the items in your current view. Usually what I really want is to select all the items on all the pages. As a hack, I'll often leave the screen options setting for items per page on something really high, like 1,000. Unfortunately this means the tables are often really slow for no benefit (most of the time I don't need them all). A better solution would be a way to intelligently select all items without needing to show them on the page. The best example of this that I know of is Gmail, which adds a line above the list of emails when you click the select all box that looks something like this: ""All 50 conversations on this page are selected. Select all 653 conversations in Spam"". The second sentence is a link that, as expected, selects all of your emails that fit the current view, regardless of paging. Screenshot attached." evansolomon Future Releases 21171 jQuery Events for Metaboxes Administration normal minor enhancement new 2012-07-05T21:35:47Z 2019-06-04T19:23:09Z "Currently, when a plugin adds a metabox with complex objects (like TinyMCE, Maps, CodeMirror etc) care must be taken to refresh the objects when the elements are moved (including hidden/shown). After some digging, I've found that this seems to works in most cases: {{{ var context = ""#custom_meta_box_id""; $( '#adv-settings' ).on( 'click', context + '-hide, ', refresh ); $( context ).on( 'click', '.hndle, .handlediv', refresh ); $('.meta-box-sortables').bind( ""sortstop"", refresh ); }}} which isn't terrible, but seems fragile if core changes in the future, and there should just be a better way :-) Two ideas from dev chat are triggering custom events or the (coming soon) ""js actions"" which would be more robust (like php actions)." WraithKenny Future Releases 21211 Alter how settings_errors are output in options.php Administration 3.4.1 normal normal defect (bug) new dev-feedback 2012-07-10T23:44:37Z 2019-06-04T19:23:12Z "The `*_settings_error(s)` and `settings_error` functions are used mainly as part of the Settings API, but with the way that options.php currently handles the settings errors, it assumes that people will use this functionality exclusively with the Settings API. Notice options.php, starting at line 153: {{{ /** * Handle settings errors and return to options page */ // If no settings errors were registered add a general 'updated' message. if ( !count( get_settings_errors() ) ) add_settings_error('general', 'settings_updated', __('Settings saved.'), 'updated'); set_transient('settings_errors', get_settings_errors(), 30); }}} This simply assumes that no other outside source has registered any sort of setting error other than the current options page. TwentyEleven does this, and so if any other source has registered any notices via these functions, the ""Settings saved."" message will not be output because the first bit of logic will fail. I don't think this assumption can (nor should) be warranted, so there needs to be another way to handle this so that themes like TwentyEleven who only call `settings_errors` at the top of their options page don't get unknowingly hijacked by other sources. I always suggest registering your own errors at the end of the sanitization callback for your setting, and then output those specific errors within settings_errors to avoid any internal conflicts like this. Just looking for some ways to approach this. :-) " griffinjt Future Releases 21234 Recursive directory creation & get_calendar() for custom post types Posts, Post Types 3.4.1 normal normal defect (bug) new 2012-07-12T12:31:28Z 2019-06-04T20:43:17Z "Hello! I made two patches, and sent the pull request on githab. https://github.com/WordPress/WordPress/pull/12 https://github.com/WordPress/WordPress/pull/14 And I want to join to contributers team. How can I do it? Irc chanel is Terminated :(" avaddon Future Releases 21256 New theme feature - add_theme_support( 'content-width', $defaults ) chriscct7 Themes 3.4.1 normal normal Awaiting Review feature request assigned dev-feedback 2012-07-13T10:08:34Z 2018-11-22T22:16:27Z "Themes use '''$content_width''' variable to set the content area width, they use: {{{ if ( ! isset( $content_width ) ) $content_width = 500; }}} This method has two flaws, it's not flexible and it does not support different sizes for different post-types. WordPress has to make the content-width to be a builtin theme feature using '''add_theme_support()''', and make it more flexible and easy to update. I want to update this value using the Theme Customizer rather editing the function.php file. The code needs to be easy to set and to support CPT, some thing like this: {{{ $defaults = array( 'post' => '500', 'page' => '500', 'attachment' => '650', 'artist' => '300', 'movie' => '400' ); add_theme_support( 'content-width', $defaults ); }}} Just an idea for 3.5." ramiy Future Releases 21352 wp_lostpassword_url() on multisite Login and Registration 3.3 normal normal Future Release enhancement new 2012-07-23T15:58:23Z 2021-10-20T15:03:43Z "The wp_lostpassword_url() function on Multisite outputs the link to the primary domain not the current domain. Although it works its not what should be expected if a user is registered to use blog ID 2 but not Blog ID 1. The lost password email generated also links back to the primary domain not the current domain. " philly max Future Releases 21374 Add core support for letting custom permalink structure for different post types Rewrite Rules 2.9 normal normal enhancement new 2012-07-25T14:42:15Z 2019-06-04T21:07:39Z "By default, custom post types uses only the'' %postname%'' permalink structure (if using pretty links and not default query variables). Currently there is no native way to easily have different permastructs for different CPT. This features should be added to the '''register_post_type()''' function, letting different permalink structure be defined to each post_type being registered. I sugget adding another new key to the '''rewrite''' array that can be passed to the '''register_post_type()''' function. i.e. - {{{ register_post_type('event',array( ...... 'rewrite' => array('slug' => 'events', 'permastruct' => '%year%/%monthnum%/%event%' ), ..... )); }}} The register_post_type function should be changed, a suggestion for such a change may be that instead of this line in the function - (post.php line#1075) {{{ add_permastruct( $post_type, ""{$args->rewrite['slug']}/%$post_type%"", $args->rewrite ); }}} This example could be used - {{{ if ( $args->rewrite['permastruct'] ) { $perma_structure = $args->rewrite['permastruct']; $wp_rewrite->add_rewrite_tag(""%{$post_type}%"", '([^/]+)', ""{$post_type}=""); $wp_rewrite->add_permastruct($post_type, $archive_slug.'/'.$perma_structure, false); } else { add_permastruct( $post_type, ""{$args->rewrite['slug']}/%$post_type%"", $args->rewrite ); } }}} In order that the structure can interpret the permastruct tags, I added also this function to filter post_type_link, it is adapted from '''get_permalink''' function in ''wp-includes/link-template.php'' - {{{ add_filter('post_type_link', 'tc_permalink', 10, 3); function tc_permalink($permalink, $post_id, $leavename) { $post = get_post($post_id); $rewritecode = array( '%year%', '%monthnum%', '%day%', '%hour%', '%minute%', '%second%', $leavename? '' : '%postname%', '%post_id%', '%category%', '%author%', $leavename? '' : '%pagename%', ); if ( '' != $permalink && !in_array($post->post_status, array('draft', 'pending', 'auto-draft')) ) { $unixtime = strtotime($post->post_date); $category = ''; if ( strpos($permalink, '%category%') !== false ) { $cats = get_the_category($post->ID); if ( $cats ) { usort($cats, '_usort_terms_by_ID'); // order by ID $category = $cats[0]->slug; if ( $parent = $cats[0]->parent ) $category = get_category_parents($parent, false, '/', true) . $category; } // show default category in permalinks, without // having to assign it explicitly if ( empty($category) ) { $default_category = get_category( get_option( 'default_category' ) ); $category = is_wp_error( $default_category ) ? '' : $default_category->slug; } } $author = ''; if ( strpos($permalink, '%author%') !== false ) { $authordata = get_userdata($post->post_author); $author = $authordata->user_nicename; } $date = explode("" "",date('Y m d H i s', $unixtime)); $rewritereplace = array( $date[0], $date[1], $date[2], $date[3], $date[4], $date[5], $post->post_name, $post->ID, $category, $author, $post->post_name, ); $permalink = str_replace($rewritecode, $rewritereplace, $permalink); } else { // if they're not using the fancy permalink option } return $permalink; } }}} On a basic check this seems to be working, but ofcourse needed to be more deubgged.. I will be happy to here if you think such a feature should be added to core." maorb Future Releases 21386 XML-RPC needs a user permission method XML-RPC normal normal enhancement new 2012-07-25T18:33:24Z 2019-06-05T06:38:43Z "At this moment when calling a XML-RPC method you will receive a error when the user can't do that method. What would be better if there is a way an app can retrieve the user permissions and act on that without the need to call the method." markoheijnen Future Releases 21396 Categories widget reports categories without posts when they have custom posts Widgets 3.4 normal normal defect (bug) new 2012-07-27T02:36:46Z 2019-06-05T06:38:44Z "This problem may be related to #14084, but this report is specific to the behaviour of the Categories Widget. - Create a custom post type eg. ""Products"" - Create a category eg. ""Photographs"" - Add some posts of type Products, assign them to category Photographs - go to the blog page and the Categories widget lists Photographs as a category - click on Photographs - the ""Nothing Found"" post is shown. There are no normal posts of category Photographs, but the widget lists a category that returns nothing. I would have expected the widget not to list a category that has no normal posts. " pkwooster Future Releases 21432 Deprecate *_blog_option() Options, Meta APIs 3.4.1 normal normal Future Release defect (bug) assigned dev-feedback 2012-07-31T21:53:06Z 2017-06-26T17:58:41Z "Deprecate get_blog_option(), add_blog_option(), update_blog_option(), and delete_blog_option(). The regular *_option() functions wrapped with switch_to_blog() and restore_current_blog() should be used instead. Previous discussion: http://core.trac.wordpress.org/ticket/21270#comment:11" ryan Future Releases 21520 Prevent recursive script dependencies in wp_enqueue_script Script Loader normal normal defect (bug) new 2012-08-08T17:21:43Z 2019-06-04T21:07:42Z "If a script sets itself as a dependency, we should catch that, strip out the dependency, and throw a {{{_doing_it_wrong}}}: {{{wp_enqueue_script( 'my-script', '/path/to/file.js', array( 'my-script' ) );}}} This may need to be done at the lowest level possible, i.e. {{{_WP_Dependency}}}" batmoo Future Releases 21521 Audit use of set_time_limit() Bootstrap/Load 3.4.1 normal normal enhancement new dev-feedback 2012-08-08T17:28:21Z 2019-06-04T19:23:14Z Core calls this half a dozen times. The call in wp_get_http() interferes with unit tests. Unit tests will terminate 60 seconds after wp_get_http() is called. Let's justify each use of set_time_limit() and remove what we can. ryan Future Releases 21546 Site Settings page is a hot mess Options, Meta APIs 3.0 normal normal enhancement reopened 2012-08-10T21:44:07Z 2019-06-04T20:43:21Z "I found out just how bad this page is when debugging an issue related to {{{WPLANG}}}. {{{WPLANG}}} is an option for a blog in your network (overrides {{{WPLANG}}} in {{{wp-config.php}}}), but if you delete the option on purpose or accidentally, there is no way of restoring it in the admin. Site Settings just loads your options table and POSTs back to itself. The only reference to the original options map (the defaults) is in schema, which WP has zero access to outside of upgrade. I have abstracted the default options and the default ""fat"" options into functions in {{{ms.php}}}. Also, when loading your Site Settings options - if a default option is missing, I display it in the admin so you can save it (it is populated with its default value). I have also streamlined and condensed some code that was happening in and around {{{populate_options()}}}" wonderboymusic Future Releases 21573 NOBLOGREDIRECT interfering with 404 errors Bootstrap/Load 3.4.1 normal normal Future Release defect (bug) new 2012-08-14T07:32:06Z 2019-09-07T10:10:12Z When the `NOBLOGREDIRECT` constant is defined, 404 pages on the main site will not work and instead redirect to URL defined in `NOBLOGREDIRECT`. This is the cause of the `maybe_redirect_404` action/function, which is not needed and should be removed. bungeshea Future Releases 21583 Improve discoverability and visual design of Screen Options and Help Panels Help/About normal normal Future Release enhancement new 2012-08-14T22:34:05Z 2023-12-19T19:25:49Z "The Screen Options and Help panels are not very discoverable and, in part because of this, aren't very helpful to our users. Here are the problems with them right now: * Most users are blind to these tabs. * The labels and positioning give little indication as to what these tabs actually do. * For a lot of users, Help is not that helpful. *They’re position in the admin creates yet another point of navigation for users to be aware of (and per #1, most of them aren’t). * The very wide container for text makes a lot of the help text difficult to read. Here are some proposals to improve the design and discoverability of these tabs (related images and mockups are here: http://make.wordpress.org/ui/2012/08/06/we-did-some-brainstorming-at-dev-day-today/) : * Adding icons to these tabs would (hopefully) both make these tabs more visible and give a better indication as to what these tabs too. * Moving these to the right side of the toolbar would give even more context to what these do, as they would be grouped with other user-specific settings. * (6) The toolbar dropdown would allow for a slimmer content area for better readability. * (7) The slimmer content area would let us make screen options read like a list for better scannability. * (4/5) Putting the gear on the upper right would standardise with several other web apps (Twitter, etc). Related: #21326" chexee Future Releases 21627 Filter for custom-background CSS selector peterwilsoncc Customize 3.4.1 low minor Future Release enhancement assigned needs-unit-tests 2012-08-18T11:46:55Z 2021-05-22T17:41:50Z "There should be an easier way for changing the css selector from body to html or any other then making your own callback. " Horttcore Future Releases 21666 Customizer Revisions (previously reset/undo/revert) melchoyce Customize 3.4.2 normal normal Future Release feature request assigned 2012-08-23T10:09:49Z 2021-05-24T14:32:56Z "It would be useful to be able to reset the settings to the defaults as specified in the add_setting() class method when setting up each setting. These could be reset on a section by section basis and/or for ALL settings." dgwyer Future Releases 21669 "Make ""Home"" option persistent in Pages box on Menus screen" Menus 3.4 normal normal defect (bug) new 2012-08-23T16:57:08Z 2019-06-04T20:03:36Z "If you have some pages, or even a page, then on nav-menus.php in the Pages box, View All, it will display Home as an option. However, if you do not have any pages at all (mostly Blog on front page scenarios), then it just says ""No items."" in the Pages box. It should always be populated with at least the Home option. Oversight on our part that we didn't uncover this behavior before. " jane Future Releases 21700 Problem obtaining the Feed of an archive of tag “RSS” Canonical 3.4.1 normal normal defect (bug) new 2012-08-27T10:40:33Z 2019-06-04T19:23:18Z "I'm using RSS as a tag for some of my blog posts, and I was using them without any problem. '''myblog.com/tag/rss/''' But I've just realised that Google Webmaster Tools gives me some related errors. The issue is this: when trying to retrieve the feed of this tag, from '''myblog.com/tag/rss/feed/''' it gets redirected to '''myblog.com/tag/feed/''' And this gives an error." xavivars Future Releases 21714 Enable Intermediate choice in UI if Full Size Image is exact match to Intermediate Image Media 3.4.1 normal normal enhancement new 2012-08-28T15:56:09Z 2020-01-15T01:49:54Z " This is simply a minor usability enhancement for Media Gallery. If an image is uploaded that is exactly the same size as an intermediate image (300x300 = Medium for example) it is not a choice when inserting that image into a post. It would be nice if it was a choice pointing to the full/original image since full is the same size as the intermediate. It seems to be caused in the image_downsize function in /wp-includes/media.php because image_get_intermediate_size returns false. I believe image_downsize can be updated as such to provide this enhancement: Line 162 (if statement) Currently: {{{ if ( !$width && !$height && isset($meta['width'], $meta['height']) ) { // any other type: use the real image $width = $meta['width']; $height = $meta['height']; } }}} could be updated to read the intermediate width and height and set intermediate to true if it is an exact match to the original image: {{{ if ( !$width && !$height && isset($meta['width'], $meta['height']) ) { // any other type: use the real image $width = $meta['width']; $height = $meta['height']; // add check for real image being exact match to intermediate image to enable intermediate choice in UI if (isset($_wp_additional_image_sizes[$size])) { $goal_width = intval($_wp_additional_image_sizes[$size]['width']); $goal_height = intval($_wp_additional_image_sizes[$size]['height']); } else { $goal_width = get_option($size.'_size_w'); $goal_height = get_option($size.'_size_h'); } if ($width == $goal_width && $height == $goal_height) $is_intermediate = true; } }}} Thanks for considering, and hope I put this in the right place, Andrew " andrewteg Future Releases 21758 Do not require a file in comments_template() Comments 3.4.1 normal normal enhancement new 2012-08-31T20:22:16Z 2019-06-04T19:23:20Z "comments_template() is a very useful and reliable way to set up comments for a page, but it has a major downfall: it forces a file to be included when, in reality, one does not need to be. Numerous times it has been the case that I needed comments to be setup in the wp_query object, but did not want to output anything at that time. The hack I have used is simply to include an empty comments.php file. This method is less than desirable for obvious reasons. So, I propose that we simply add a parameter I'm calling $require that will control whether or not a file is included at all." mattonomics Future Releases 21790 When set a static front page WP main query isn't set correctly SergeyBiryukov Query 3.4.1 normal normal Future Release defect (bug) assigned 2012-09-04T13:50:26Z 2017-05-05T09:34:57Z "In my project I use on several places pre_get_posts filter. When setting a static frontpage and blog page I get several notices on my screen. When I var_dump the main query the only value that is set it the page_id. Even the post_type isn't set." markoheijnen Future Releases 21810 Improve intermediate image size handling Media 3.5 normal normal enhancement new 2012-09-05T20:28:14Z 2019-06-04T20:03:44Z "When discussing the new media workflows on #21390, the need to improve our image size API became apparent. A quick overview of the improvements that should be made: * All image attachments have an original, or ""golden master"", which is never altered. * An image size creates a new image and stores all transformations applied to the image as metadata. Transformations are described relative to the golden master. An image size has a unique slug (which means a set of dimensions does *not* have to be unique). * Image attachments have a ""master"" image size, which is used to create any automatically generated image sizes. * Automatically generated image sizes can be overridden with manual transformations. Would love for someone to step up on this ticket, as the media modal editing UI will benefit greatly from these improvements." koopersmith Future Releases 21859 Import blog and media library is not working Import 3.4 normal normal defect (bug) new 2012-09-10T08:02:25Z 2019-06-04T20:03:47Z "Hi, I have problems (due to hosting php timeout) to import all my blog at once. I tried doing it by months, but it's also not working. Blog posts are imported, but nothing of the media library is imported. I can describe too what happens when trying to import everything at once. I've just 200 photos and every 90 secs the connection is reseted trying to import them. If you try to retry using browser, photos begin to duplicate, or triplicate, or more... After all this, then you finish, there is no attachments related to their post. I've tried importing by months, which would not spend more than 60 secs importing photos, but then the photos are not imported. Please, fix the import/export by months or by splitting files every 10 post (or configurable). I would suggest too to allow any mechanism to import photos first, doing it in groups of 20 (or by configuration) and later, after that, importing post and attaching files to each post. I set it as critical as moving a blog it's impossible without a huge amount of work. I could try to help debugging if needed. Version 3.4.1 is also affected. Thanks and regards" don_ousian Future Releases 21910 wpmu_create_user() standardization Users 3.0 normal normal enhancement new 2012-09-17T18:03:24Z 2019-06-05T06:38:47Z "There seems to be some inconsistencies between wpmu_create_user(), create_user(), and wp_insert_user(). The former two are wrappers, and do different things but potential to consolidate and clean up some old code. Per Nacin: >nacin: wpmu_create_user() should probably just go away. >nacin: fairly useless function >nacin: by default, it looks like wp_insert_user() would create a role-less user. >nacin: as would wp_create_user() Looking at wp_insert_user() it sets the default role if none is provided, where wpmu_create_user() would actually delete the default roles and caps. Although, I'm not really sure there's a use case where you'd be using both the wpmu_new_user and user_register hooks simultaneously so possibly depreciate the former in favor of the latter. One real issue with wpmu_create_user is that it returns false instead of the WP_Error object which is probably not desired since the error could be useful. The false return is used in wpmu_activate_signup() to either set the returned ID or create it's own WP_Error. Lastly... documentation for create_user says it returns the ID, but it looks like it could potentially also return a WP_Error object. Didn't test, but possible documentation fix there. " ryanduff Future Releases 21913 Detecting MIME Types in WXR Files Import 3.4.2 normal normal enhancement new dev-feedback 2012-09-17T21:09:07Z 2019-06-04T20:03:48Z "In the process of creating a service to convert TypePad data to WXR formatted files, we've encountered some unique problems with TypePad data. Namely, many TypePad files are saved without file extensions, which prevents the existing importer from importing those files into the wp-content/uploads folder. In order to import and rename these otherwise ignored files, we've created a patch for the WordPress importer that does the following: 1. If there is an attachment in the WXR and the importer is not able to determine the file type from the file name (ie missing extension), the patched version will make a light (body-less) request to the web server where the file is hosted for information we can use about the file. The things we're interested in are file type, size, and filename. 2. If the importer is processing an attachment under the above situation, and it is able to determine the file type, then it will rewrite the local version of the file to have the appropriate file extension. This is a simple bit of code, but it makes a huge difference as TypePad saves without file extensions quite regularly. We've attached our patch and a sample WXR file from ragsgupta.com, the Brightcove co-founder's blog." ReadyMadeWeb Future Releases 21981 Securing the uploads directory Upload normal normal Awaiting Review enhancement reopened 2012-09-24T04:35:11Z 2023-06-25T07:15:26Z "Look at implementing something similar to an .htaccess file in the uploads directory with: {{{php_flag engine off}}} This may not work in every server scenario, but let's open the conversation, and some scenarios is probably better than none anyway." japh Future Releases 22003 Saving custom fields goes to post-new.php rather than post.php Posts, Post Types 2.5 normal normal defect (bug) reopened 2012-09-26T15:57:01Z 2019-08-09T00:46:50Z "Create a new post or page. Add a title and message. Add a custom field (click ""Add Custom Field"") The post is saved, but as you are taken to post-new.php rather than post.php, it looks as if your post has disappeared! All is well - it is actually saved - but it's confusing. Tested on 3.5-alpha-21989" curiousdannii Future Releases 22022 Can’t properly add pages of type edit.php?post_type=xxx as submenu items to arbitrary parent menus Posts, Post Types 3.0 normal normal defect (bug) new 2012-09-27T20:22:43Z 2019-06-04T20:43:26Z "The following code illustrates the problem. {{{ add_menu_page('My Pages', 'My Pages', 'edit_posts', 'parentslug', array(class, func)); add_submenu_page('parentslug', 'Settings', 'Settings', 'edit_posts', 'mysettings', array(class, func)); add_submenu_page('parentslug', 'Custom Post Type', 'Custom Post Type', 'edit_posts', 'edit.php?post_type=xxx'); }}} When you click on the first submenu item, the menu stays open, displaying the submenu items as it should. When you click on the item for the custom post type, the parent menu is closed and submenu pages are not displayed. The root of the problem is how $parent_page is handled for pages of type edit.php?post_type=xxx. In get_admin_page_parent(), $parent_file is always set to $submenu[$parent], which may cause the submenu slug to be different from $parent_file. But in _wp_menu_output, if the submenu slug and parent slug are not equal, the 'wp-has-current-submenu wp-menu-open' classes do not get added which means the menu gets displayed as being closed. Since there are no actions called between get_admin_parent_page() and the output of the menu, the only workaround I can see is some ugly JS that fixes up the classes. It seems like the least intrusive fix would be to just move the call to apply_filters(""parent_file) in menu-header.php to after the call to get_admin_page_parent() so that $parent_file can truly be overridden. This also seems inline with the intent of the filter. " jjharr Future Releases 22037 Customizer: Live preview fetches page but does not display (show error message) Customize 3.4.2 normal normal Future Release defect (bug) new 2012-09-28T15:14:54Z 2021-05-22T18:03:28Z "I just set-up a plain installation of 3.4.2. Configured it for multisite use. Set-up two sites, both working fine. When going into a sites Appearance settings to customize the theme (TwentyEleven), the Customizer shows the control panel on the left, but the preview remains blank. Firebug shows no Javascript errors. '''It also shows, that a POST request is sent to fetch the front page and that the page is actually returned in the response. It appears the response is just not added to the right-hand preview area.''' ---- Per duplicate #28227: > When Customizer can't load due to an error, there's no indication as to what's going on. It would be nice if some information was presented instead of seeing a blank screen on the right side." marcoliverteschke Future Releases 22041 Importer dies silently when multisite upload limit is reached Import normal normal enhancement reopened 2012-09-28T17:58:57Z 2019-06-04T20:03:50Z "The scenario: You're importing a WXR file into a site on a multisite network and the WXR includes a number of large attachments. For whatever reason, the upload capacity for each site is set at 100MB. If the upload capacity is reached during the import process, the import will look like it's hanging forever. Instead, it would be nice to show an alert that the upload capacity was reached or similar." danielbachhuber Future Releases 22076 WP Upgrader: update_bulk_plugins_complete_actions and update_bulk_theme_complete_actions should pass information about all plugins/themes to the filter Upgrade/Install 3.0 normal normal enhancement new 2012-10-02T07:56:19Z 2019-06-04T21:07:48Z "In class-wp-upgrader.php, line 1214 there is this line: {{{ $update_actions = apply_filters('update_plugin_complete_actions', $update_actions, $this->plugin); }}} When adding a filter to it like this: {{{ add_filter('update_bulk_plugins_complete_actions','test_filter',99,2); function test_filter( $update_actions, $plugins ) { echo print_r( $plugins, 1); return $update_actions; } }}} Only the last updated plugin info will be printed. However, it should contain information about all the plugins that were updated (since we are dealing with a bulk upgrade here)." ragulka Future Releases 22116 bug in dynamic_sidebar function Widgets 3.4.2 normal normal defect (bug) new has-patch 2012-10-06T12:19:48Z 2019-06-05T06:38:50Z "In the dynamic_sidebar function is for displaying the right sidebar, by id, but in the code it is searched by name: {{{ function dynamic_sidebar($index = 1) { global $wp_registered_sidebars, $wp_registered_widgets; if ( is_int($index) ) { $index = ""sidebar-$index""; } else { $index = sanitize_title($index); foreach ( (array) $wp_registered_sidebars as $key => $value ) { if ( sanitize_title($value['name']) == $index ) { $index = $key; break; } } } }}} must be changed to : {{{ function dynamic_sidebar($index = 1) { global $wp_registered_sidebars, $wp_registered_widgets; if ( is_int($index) ) { $index = ""sidebar-$index""; } else { $index = sanitize_title($index); foreach ( (array) $wp_registered_sidebars as $key => $value ) { if ( sanitize_title($value['id']) == $index ) { $index = $key; break; } } } }}} " alexvorn2 Future Releases 22150 Customizer: Remove Image doesn't remove from Media Library Upload 3.4 normal normal Awaiting Review defect (bug) new 2012-10-10T05:35:15Z 2019-05-15T21:12:16Z "After uploading an image using the Theme Customizer, a ""Remove Image"" link appears - this seems to imply that clicking it will cause the image to be deleted entirely, rather than just hidden from the current view. " pento Future Releases 22164 "Move comment ""keyboard shortcuts"" setting to comments -> screen options" Comments normal normal enhancement new dev-feedback 2012-10-11T14:14:23Z 2019-06-04T19:23:27Z "Seems like it would make more sense to move the comment ""keyboard shortcuts"" setting from ""Your Profile"" to the screen options pane of edit-comments.php. Something like: [[Image(http://f.cl.ly/items/1k210Z2V1o0b350I1n0V/keyboard-shortcuts.jpg)]]" lessbloat Future Releases 22192 update_option() strict checks can cause false negatives joemcgill Options, Meta APIs normal normal Future Release defect (bug) assigned needs-unit-tests 2012-10-15T03:19:23Z 2023-10-16T21:22:18Z "Given this: {{{ add_option( $option_name, 1 ); update_option( $option_name, 1 ); }}} The update should not work, because they are the same. However, the meta cache will have ""1"" as a string, and then it will strict compare it to 1 as an integer. Thus, an unnecessary update will run. It is quite common to use integers and booleans directly into these functions. They should be smart enough to recognize that ""1"" == 1 == true and ""0"" == 0 == false, and that any numeric string is also equal to a properly cast integer. The new changes need unit tests. Ticket from which this was spun: #22189, saving navigation menus is slow." nacin Future Releases 22251 Helper function to simplify checking for constants Bootstrap/Load normal normal Future Release enhancement new dev-feedback 2012-10-22T00:32:27Z 2018-05-31T23:46:31Z "Love 'em or hate 'em, WordPress uses lots of constants. As a result, this pattern is all over core and plugins, and occasionally themes: `if ( defined( 'CONSTANT_NAME' ) && CONSTANT_NAME )` Right now on trunk, it's used 57 times (excluding 2 in Akismet). {{{ ~/code/wptrunk $ ack ""defined\( ?('|\"")([^'\""]+)\1 ?\) \&\& \2"" -h --ignore-dir=wp-content/plugins/ | wc -l 57 }}} How about a new function to make that verbose logic a little bit less repetitive. {{{ function wp_constant( $constant ) { return defined( $constant ) && constant( $constant ); } }}}" evansolomon Future Releases 22261 Recent comments widget makes additional queries when pagination is enabled Comments normal normal defect (bug) new 2012-10-23T14:19:59Z 2019-06-04T19:23:35Z A continuation of #15400. nacin Future Releases 22279 WordPress Export/Import deletes carriage returns Export 3.4.2 normal normal defect (bug) new dev-feedback 2012-10-25T20:02:42Z 2019-06-04T19:44:09Z "WordPress export does not translate or escape bare CR characters in a CR/LF pair. They show up unfiltered in the WXR export file. I see this both in post_content and in strings that were serialized into a post_meta field. The CR characters are in the WXR file, unfiltered. Then, WordPress import loses these CR characters. They are simply erased. It may be because SimpleXMLParser can't or won't open the XML file in binary mode, so line ending translation can & does happen. That's just a theory, but if it's true then this behavior might *not* happen on all platforms or with all PHP versions. (I'm seeing this on OS X 10.6.8, PHP 5.4.4.) In the worse case -- mine -- the munged string is a small component of a complex datastructure that is serialized in a postmeta record. In this case, the entire meta_value field is deleted on import, because the data won't unserialize, because its length has changed. It seems to me that WP Export should escape any character that might be threatened in transit. I'm no XML lawyer, but some sources claim that unescaped CR characters are invalid XML. To reproduce: * store a carriage return in a post. * export it to a WXR file. * examine the WXR file for the raw carriage return (`^M`). * import that file. * search for the carriage return." mykle Future Releases 22310 wp_insert_user bit ilogical with rich_editing Users 4.9.5 normal normal Awaiting Review enhancement new 2012-10-30T09:08:56Z 2018-05-12T18:51:54Z "when you do wp_insert_user with rich_editing = TRUE it actually set rich_editing to ""1"" what is then interpreted as FALSE. I know (after searching why it does not work for me), that for actually setting true you need to set rich_editing to empty value, but anyway i think it is not optimal" thomask Future Releases 22328 Pass reset password URI to retrieve_password_message filter Users 2.8 normal normal enhancement new 2012-10-30T23:34:17Z 2019-06-05T06:38:53Z "The arguments for the retrieve_password_message filter are the message itself and the reset key. However the URI requires the user login as well in order to be valid, thus we cannot regenerate the password reset link without it. Proposed solution - pass the reset URI instead of just the key." ejdanderson Next Release 22369 get_transient() do not call delete_transient() when deleting one General 2.8 normal normal defect (bug) reopened close 2012-11-06T01:27:01Z 2024-03-18T09:11:56Z "Hello i was wondering why get_transient() is not calling delete_transient when deleting a timeouted transient. Piece of code from get_transient() {{{ $transient_option = '_transient_' . $transient; $transient_timeout = '_transient_timeout_' . $transient; if ( get_option( $transient_timeout ) < time() ) { delete_option( $transient_option ); delete_option( $transient_timeout ); return false; } }}} but i need to trigger the ""deleted_transient"" hook. Can we do that: {{{ $transient_option = '_transient_' . $transient; $transient_timeout = '_transient_timeout_' . $transient; if ( get_option( $transient_timeout ) < time() ) { delete_transient( $transient_option ); return false; } }}} " juliobox Future Releases 22402 Stripping non-alphanumeric multi-byte characters from slugs Formatting normal normal enhancement new dev-feedback 2012-11-10T05:07:10Z 2019-06-04T19:44:12Z "`sanitize_title_with_dashes()` strips non-alphanumeric characters from a title to create a slug. Unfortunately it only strips ASCII non-alphanumeric characters. Apart from a few exceptions, all multi-byte characters are preserved. This means all non-Western (and plenty of Western) non-alphanumeric characters end up in the slug as they're treated just like any other multi-byte character. As an example, here are some common non-alphanumeric Chinese characters which would ideally be stripped from slugs, but are not: * 。 (U+3002, Ideographic Full Stop, %E3%80%82) * , (U+FF0C, Fullwidth Comma, %EF%BC%8C) * ! (U+FF01, Fullwidth Exclamation Mark, %EF%BC%81) * : (U+FF1A, Fullwidth Colon, %EF%BC%9A) * 《 (U+300A, Left Double Angle Bracket, %E3%80%8A) * 》 (U+300B, Right Double Angle Bracket, %E3%80%8B) Obviously it would be impractical to make a list of ''all'' the non-ASCII characters we want to strip from slugs. The list would be gigantic. So the question is, would it be possible to use Unicode ranges to blacklist (or whitelist) whole ranges of characters to be stripped from (or preserved in) slugs? Is this practical or even desirable? Or would it make more sense to continue using a list of just the most common multi-byte characters to be stripped? The latter makes a whole lot more sense, but the former is a more complete solution. Thoughts?" johnbillion Future Releases 22414 validate_current_theme() should validate cached theme roots Themes normal normal defect (bug) new 2012-11-11T21:57:54Z 2019-06-04T21:07:55Z See ticket:22252#comment:14. To handle edge cases like the same theme being in multiple roots, validate_current_theme() should validate the cached theme roots, and update or delete them as appropriate. nacin Future Releases 22511 Taxonomy manage screen checks for manage_terms and edit_terms, instead of just manage_terms. Taxonomy 3.0 normal normal defect (bug) new 2012-11-19T23:13:56Z 2019-06-04T21:07:57Z "I'm trying to set up permissions so the Contributor role can add terms but not edit or delete terms. I setup my taxonomy so it looks like this: {{{ register_taxonomy( 'custom_taxonomy', array( 'post' ), array( ... 'capabilities' => array ( 'manage_terms' => 'edit_posts', 'edit_terms' => 'manage_options', 'delete_terms' => 'manage_options', 'assign_terms' => 'edit_posts' ) ) ); }}} However, when logged in as a contributor I get the error ""You are not allowed to edit this item."" In edit-tags.php there are two checks for caps, one is for manage_terms and one is for edit_terms. I don't believe the second one should be there, because looking at the other code it should be like this: * User with manage_terms can access the main taxonomy page * They can also add terms * There are checks in WP_Terms_List_Table to restrict showing the Edit/Quick Edit/Delete links for users without those capabilities (edit_terms/delete_terms). * There is even plenty of other checks on edit_terms in edit-tags.php to include/change the content shown to the user.. if the entire page is restricted for users without edit_terms, why are any of those necessary? Even if I'm wrong on the fact that roles with edit_terms can't add new terms (it's not completely clear anywhere, it seems like manage_terms should be enough), I still think that this page should be viewable at the very least considering the other code in that page and the list table. Recommended solution: move the edit_terms check back into case 'edit' (line 121 of edit-tags.php in trunk, currently) as it was before [15491]. This was introduced in: [15441] and [15491]. Related: #14343." andrewryno Future Releases 22530 garbage query strings on URLs are not sanitized or removed General 3.4.2 normal normal defect (bug) reopened reporter-feedback 2012-11-21T15:52:50Z 2019-06-04T19:44:14Z "Here is an interesting problem I ran into, a bug / feature that appears to be used by malicious people to cause Google to see your site as full of duplicate content. If you visit a wordpress site, and add a garbage query string to the end of the URL, that garbage gets carried forward. Example: yourblog.here/page/2?ssdlfkjsdlkfjsdfs When you scroll down, the ""previous"" and ""next"" links will automatically carry that query string forward. Normally, this would not be a big issue. However, some people appear intent on specifically creating these sorts of links to wordpress sites, and Googlebot is finding those links on remote sites. Those links are followed, and then the ""previous - next"" situation perpetuates the problem through every page on the site. If you have 1000 posts, at 10 per page, Google just indexed 100 duplicate content pages. So the bug is the following: Passed query strings need to be sanitized, and junk removed - there is no reason to pass it on. In the case of a junk passed string, there should be an http 301 or 302 reply and the user / bot redirected to the proper page without the query string. Further, query strings should not be perpetuated forward through the ""previous - next"" links on the pages unless they are relevant to that page change. As an example, a valid search string might be worth moving forward with. Other passed items may not be worth carrying forward. Potentially, any unsanitized input accepted in a query is a vector for other attacks. Having that query carry forward is a real issue. As an example, full select * from queries are not accepted and not dealt with, and perpetuated forward. No, they are not currently actually causing anything to happen, but a failure to sanitize these inputs suggests a vector for a future attack, such as an input overflow or similar." rawalex 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 22579 Confusion of WP admin Discussion settings Comments normal normal Future Release enhancement new 2012-11-24T20:46:05Z 2019-11-05T13:26:24Z "On the ""Settings>Discussion"" page: 1) ""'''Default article settings'''"" should be replaced by ""'''Default comment settings'''"" (because these important settings do not only apply to posts (''articles'')), but also to pages! 2) ""'''Allow people to post comments on new articles'''"" should be replaced by: --> ""'''Allow people to post comments'''"" (best option in my opinion) or --> ""Allow people to post comments on new pages and posts"" Sorry if this is not the right place to make such suggestions." Lorangeo Future Releases 22660 "Admin bar in multisite: mobile tap on ""My Sites"" dropdown in back-end doesn't work" Toolbar 3.4.2 normal normal Future Release defect (bug) new 2012-11-30T20:40:17Z 2021-06-14T20:50:25Z "Quick steps here to reproduce an issue where the ""My Sites"" dropdown (multisite networks) will drop down and show the ""Network Admin"" link and the list of your sites. But, clicking on a site (to expand and see ""Dashboard"", ""New Post"", etc.) does not happen. Tapping the blog name just closes the dropdown. I'm not sure what's different but I can consistently reproduce this when in the admin back-end (but works OK on front-end admin bar when viewing a site): From /wp-admin/ on a mobile device (tested on iOS 6, iPhone 5, iPad) with a multisite network: 1. Tap ""My Sites"" in admin bar 2. See ""Network Admin"" and list of sites below 3. Tap one one of the site names Expected: Site name expands to show ""Dashboard"", ""New Post"", etc. (same behavior as front-end when viewing site). Screenshot: http://d.pr/i/reOi Actual: Tapping site name simply closes the ""My Sites"" dropdown, does not browse anywhere nor expand menu" devinreams Future Releases 22772 Introduce HOMEPATH Filesystem API 3.5 normal normal enhancement new 2012-12-06T03:05:42Z 2019-06-04T19:44:19Z "I was poking around with get_home_path() and wondering if there's any reason to not set a constant HOMEPATH (like ABSPATH) in the root index.php I'd seem to be more reliable then get_home_path() and that function could simply return the new constant. get_home_path has it's origins 8 years ago when the code was very different: [1567]" WraithKenny Future Releases 22798 "Invalid URLs not giving 404 with ""Default"" permalink settings" Rewrite Rules 3.4 normal normal enhancement new dev-feedback 2012-12-06T23:39:35Z 2019-06-04T21:08:11Z "'''Steps to reproduce:''' - Set up Wordpress with the default .htaccess - Select the ""Default"" option under Permalink Settings - Enter an invalid URL eg 'http://blogroot.com/garlbeflax.abc' '''Expected Behaviour:''' - 404 page is displayed '''Observed Behaviour:''' - No 404 page is ever shown, no matter what the request string is - Instead, Wordpress behaves as if no path was requested, eg displaying the homepage/posts lists. - If requested url has any of the standard params in it, those params ARE executed, eg http://blogroot.com/foo?paged=2 would properly show the 2nd page of the posts. '''Suspected cause:''' In line 620 of wp-includes/class-wp.php (in WP->parse_request), there is a conditional which means the only time the request can be marked as a 404 error is if the array of rewrite rules is NOT empty: {{{ $rewrite = $wp_rewrite->wp_rewrite_rules(); if ( ! empty($rewrite) ) { ... }}} If the ""Default"" permalink is selected, and no other rewrite rules are set up elsewhere (for reasons I didn't investigate, adding a add_rewrite_rule to the theme didn't affect anything), then the $rewrite array IS empty and the request can not be checked to see if it's a 404. Therefore, execution of the request continues as if no path info were submitted. This prevents the showing of the theme's 404 page, and can get a website flagged as spam/exploitative in Google's index. '''Workaround:''' Define a permalink redirect (eg pick one of the options other than Default). Server info: {{{ Apache/2.2.16 (Debian) (w/ mod_rewrite) PHP Version 5.3.3-7+squeeze3 (mod_php5) }}} .htaccess contents: {{{ RewriteEngine On RewriteBase / RewriteRule ^index\.php$ - [L] RewriteCond %{REQUEST_FILENAME} !-f RewriteCond %{REQUEST_FILENAME} !-d RewriteRule . /index.php [L] }}}" vanchuck Future Releases 22810 Support for theme changelogs Themes normal normal Future Release enhancement new 2012-12-07T14:39:22Z 2022-02-24T03:43:23Z "Plugins' changelogs are shown in the WordPress plugin repository in tabs, eg. http://wordpress.org/extend/plugins/events-manager/changelog/. Plugins' changelogs are also linked to when viewing available updates in WP-admin, so the siteadmins can know if the update could mess with their customizations. Theme changelogs are not visible in either place. They should be supported in both places. Also http://codex.wordpress.org/Theme_Review should be updated to reflect that the theme changelogs are much recommended if not mandatory to use and to specify the exact format for them. Currently it uses language that is not clear for those who don't speak English as their first language: ""In lieu of..."" and then ""...Themes are recommended to include a changelog"", which doesn't let the theme author know what format should the changelog be in. At the moment I've seen changelogs for themes in different formats, but none of them is supported. Summary of the issues: 1. Add support for theme changelogs on https://wordpress.org/extend/themes/ theme pages in tabs. 2. Add support for theme changelogs in wp-admin theme list views. 3. Clarify Theme Review codex page on the supported format(s) and use more simple English than ""in lieu of""." Daedalon 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 22845 On 32-bit systems, with post IDs higher than PHP_INT_MAX (2147483647) wordpress does not run fine Posts, Post Types 3.4.2 normal normal enhancement assigned 2012-12-10T09:13:01Z 2019-06-04T20:43:30Z "Logging all the MySQL queries I discovered that the queries that should pick my posts were all doing something like this: SELECT post_id, meta_key, meta_value FROM wp_postmeta WHERE post_id IN (2147483647,2147483647,2147483647,2147483647,2147483647,2147483647,2147483647,2147483647,2147483647,2147483647) This 2147483647 number clearly has something in it: it's the PHP_INT_MAX value on 32-bit operating systems, while on 64-bit machines it's 9223372036854775807 http://php.net/manual/en/language.types.integer.php So, the problem is divided in 2 parts: I run on a 32 bit system, and I have my IDs a bit too high. I know that 2147483647 is a bit high for a post ID, but I discovered this the hard way. Now, I would have preferred an error message in the administrator interface. Do you think it's a good idea?" copesc Future Releases 22869 Large Image Uploads Don't Error Well Media 3.4 normal normal defect (bug) assigned 2012-12-12T05:10:10Z 2019-06-04T20:04:18Z "Related to #22849 but not restricted to the new uploader. Happens on 3.4 and 3.5 in different ways. To Reproduce: Upload https://objects.dreamhost.com/ipstenu-images/sunset_2_22_11_by_kenshinkyo-d3a6slk.jpeg to your WP install in the media-new.php page Note: Image is 12600x9450 and 4.9MB Expected Outcomes: * Shared hosted without a lot of memory: Failure, not enough memory, no image uploaded. * VPS/Dedicated with tons of memory: Success Actual outcomes: * VPS as expected. * Shared not so much. You get the errors as expected however the failure is not correct. The image actually does upload, contrary to the errors, however no thumbnails are made, which then causes a memory problem as the full size image shows when you go to any media library view (in lieu of actual thumbnails). This crashed Chrome (as @markjaquith saw when we were testing Monday night) until I deleted the large images. The actual issue is on thumbnail creation, so the best 'fix' I can think of is if on failed thumbnail gen, it nukes the master image, but I don't know if that would make sense since some of the thumbnail gen might be on extra image sizes set by themes/plugins. Then again, do you want those if all fail? " Ipstenu Future Releases 22879 Canonical Link Missing on Front Page Canonical 3.4.2 normal normal defect (bug) new 2012-12-12T11:03:05Z 2019-06-04T19:23:43Z "Canonical links are provided for posts, so if someone links to /2012/12/my-post/?whatever then Google will know it is a duplicate of /2012/12/my-post/ But if someone links to /?whatever there is no canonical address." miqrogroove Future Releases 22880 Customize Themes without activation Customize normal normal Future Release enhancement new 2012-12-12T11:34:51Z 2021-05-22T18:12:20Z "Add a posibility to customize deactivated themes with the Theme-Customizer without activating them by default. Useful for Blogs running multiple Themes between which the frontend user can switch." kkkrys Future Releases 22894 Need WordPress Media Uploader Stop or Cancel Button in WP Version 3.5 Media 3.5 normal normal enhancement reopened 2012-12-12T17:34:01Z 2023-10-18T16:05:38Z "Today I was testing the new media uploader of WP 3.5 from post editor by clicking 'Add Media'. I clicked 'upload files' and I choose a big file from my computer by a mistake. But I did not want to upload that file. Then I wanted to cancel the uploading, but there is no stop or cancel button . Then I close the popup window and open again by clicking 'Add Media' button. I see the previous file is being uploaded yet. I choose another small file and both files upload are running. [[Image(http://onetarek.com/wp-content/uploads/2012/12/stop-media-uploader.jpg)]]" onetarek Future Releases 22937 Bulk Actions > Edit could allow batch-assignment of taxonomies to Media following the WP 3.5 media changes Media normal normal feature request new 2012-12-14T13:59:37Z 2023-10-18T15:53:15Z "[First and foremost the media improvements in WP 3.5 are wonderful, thanks to all involved.] Now that you can assign taxonomies to media easily, it would be extremely useful if you could also use Bulk Actions > Edit (as you can with posts / pages / custom post) to assign them to multiple images more quickly. Real world case: we added a taxonomy to media yesterday for a client, so they could categorise their ~500 images into sitewide categories, and they immediately replied to ask if there was a way of doing it in batches..." yeswework Future Releases 22938 Presentation of hierarchical taxonomy in Media modal should be checkboxes rather than comma-separated tag list wonderboymusic Media 3.5 normal normal Future Release enhancement assigned 2012-12-14T14:10:16Z 2018-09-24T08:07:27Z Since 3.5, using register_taxonomy_for_object_type on attachments, if the taxonomy used is hierarchical, whereas in the edit attachment UI you see the normal list of checkboxes, in the corresponding modal it is presented as a comma-separated list of slugs, as if it were a non-hierarchical taxonomy (tags rather than categories). I'm sure this is not a bug / mistake / oversight, but at best it's a little unintuitive (you need to have memorised the category slugs to add new ones) and worst a bit dangerous (risk of adding unwanted categories), and it would be great if in future it was presented here too as a list of checkboxes. yeswework Future Releases 22940 Adding term checklist to Media modal has undesired results Media 3.5 normal normal defect (bug) new 2012-12-14T14:59:27Z 2019-06-04T20:04:30Z If you use '''attachment_fields_to_edit''' to add a term checklist to the media modal, there is no way to know when a term is unchecked. I propose that when a checkbox is clicked in the compat section, all the checked boxes of the same name are passed in the POST request. jfarthing84 Future Releases 22966 Show admin-cropped thumbnails instead of WordPress-cropped thumbnails Media normal normal Awaiting Review enhancement new 2012-12-16T22:22:59Z 2023-08-29T15:35:39Z "Used to be able to see which images have been cropped (and which ones haven't) in image search results. Now have to click 'edit image' and check the image individually. It's valuable for the publisher to see what his/her readers will see on the front end of the site when the 'thumbnail' function is called (either publisher's hard-cropped image or full un-cropped image). Useful especially for publishers that are pulling images from a time before 'thumbnails' existed in WP. Main reason this is an issue is that when an un-cropped thumbnail is selected as the featured image, it will be stretched/distorted to dimensions of thumbnail settings in function.php." beerpulse Future Releases 22976 Remove reference to category to tag converter from the tools page Import normal normal enhancement new 2012-12-17T16:02:00Z 2019-06-04T20:04:32Z It has been such a long time since version 2.3, does anybody really need a reminder for the existence of this tool on that relatively high profile page? mark-k Future Releases 23008 Add a Hook To Hide Inactive Widgets Widgets 3.5 normal normal enhancement new dev-feedback 2012-12-19T19:59:12Z 2019-06-05T06:38:58Z "Hello, This is my first feature request so hopefully I'm going through the process correctly. Onto the request... Adding a hook to remove or hide the Inactive Widgets sidebar on the WordPress Admin Widgets page would be very useful for developers who don't use the area and want to be able to hide it for better UX. If this is approved I would love to submit a patch. :)" BFTrick Future Releases 23023 Touch UI Menu Code doesn't address flyout menus two-levels deep. Menus 3.5 normal normal defect (bug) new 2012-12-20T15:21:17Z 2019-06-04T20:04:37Z "The code we did in #20614 only addressed the single dropdowns you normally see in a single site install. A multisite install will have flyouts coming out of the dropdowns that we need to account for as well. Related: http://wordpress.org/support/topic/wp-admin-bar-doesnt-play-well-with-touch-device-in-wp-35" georgestephanis Future Releases 23050 make_clickable incorrectly formats anchors with URL's and spaces in them in comments Formatting 3.4.2 normal normal defect (bug) new 2012-12-23T00:32:30Z 2019-06-04T19:44:24Z "When posting a comment, if an anchor tag contains both a URL and some words, make_clickable formats the output incorrectly. To duplicate, post the following content in a comment: {{{ Hey! http://wordpress.org is awesome in case you didn't know! }}} When viewing the comment, you'll get: {{{ Hey! http://wordpress.org is awesome in case you didn't know. }}}" johnjamesjacoby Future Releases 23060 Throw 404 if URL Rewriting is Used With Default Permalinks Permalinks 3.5 normal normal Awaiting Review enhancement reopened dev-feedback 2012-12-26T20:54:55Z 2019-04-19T15:21:06Z "Suddenly I discovered that my blog is not returning error 404 page. My blog permalink is set as default style http://test.onetarek.com/?p=123 Now I am trying to create 404 error by using this url http://test.onetarek.com/adsfjkasjdd , it showing home page. Then I tested http://test.onetarek.com/?p=123654 now it shows 404 page. Then I tried to load a not existing image http://test.onetarek.com/wp-content/themes/twentyeleven/images/headers/not-image.jpg it shows my home page instead of 404 page. I changed my permalink settings to ""Day and name"" then it show 404 page. I tested this problem in my another blog, this blog is return 404 page but that is not generated by wordpress. Wordpress 404 theme page is not being loaded. A blank page is being loaded with a message by Apache Server ""Additionally, a 404 Not Found error was encountered while trying to use an ErrorDocument to handle the request...."" So what is the problem with permalink settings and 404 page." onetarek Future Releases 23117 permalink failed on IIS7 and Reserved Proxy for wordpress 3.5 Permalinks 3.5 normal normal defect (bug) new 2013-01-04T06:30:33Z 2019-06-04T20:43:38Z "it seems to work fine on local but get into a canonical redirect loop when we deploy to production after we upgrade to wordpress 3.5. We did a little debug and found the issue with permalink in file .\wp-includes\canonical.php at line 42 with new coded ""&& !iis7_supports_permalinks()"" added in 3.5. the issue is iis7 does support permalink and so it go into create and redirect to pretty link which use the website URL in wp-admin settings which is the site URL. when it hits the site URL, our reserved proxy write back to the wordpress site on diff server with port and canonical.php think that's incorrect, so it redirect back to the website URL and the loop go on and on. we found a temp workaround but not desirable, add this ""remove_filter('template_redirect', 'redirect_canonical');"" in the function.php file in the theme folder you are using. or add a wordpress plugin or simply remove the additional codes in canonical.php file that was added in 3.5. but may cause issue in future upgrade." romeoqngo Future Releases 23168 Introduce remove_post_status Posts, Post Types normal normal enhancement new 2013-01-10T08:32:49Z 2019-06-04T20:43:39Z Plugins and themes should be able to remove the default post statuses defined by core. kovshenin Future Releases 23169 Introduce register_post_status_for_object_type Posts, Post Types normal normal enhancement new 2013-01-10T08:35:46Z 2019-06-04T20:43:41Z Similar to what `register_taxonomy_for_object_type` does with taxonomies. kovshenin Future Releases 23179 New avatar related option - use gravatar only for registered users Comments normal normal enhancement new dev-feedback 2013-01-11T15:40:59Z 2019-06-04T19:23:48Z "The use of gravater is problematic because there is no attempt to verify that a comment with which an email was used was actually left by the owner of the email (AFAICT gravatar doesn't even have an API for authentication). This makes impersonating to someone else that have a gravatar in a wordpress site comments much too easy. IMO non autogenerated gravatars should be displayed by default only for users for which it is known that they actually own the email address, which are usually only the registered users." mark-k Future Releases 23188 Hardcoded relative url 'async-upload.php' in plupload/handlers.js Upload 3.5 normal normal Awaiting Review defect (bug) new 2013-01-12T11:47:48Z 2018-01-18T20:34:04Z "On line 127 in plupload/handlers.js you can find relative path to 'async-upload.php'. It rather should use wpUploaderInit.url (or something like that), so you could use WP Plupload in front-end for example or with your custom uploading scripts. Now you can write your custom uploader script and provide it via wpUploaderInit, but on that line in handlers.js it is ignored (and if you run it in front-end, bad request to ./async-upload.php is made)." drozdz Future Releases 23197 wp-activate.php, without explanation, does not load site plugins Login and Registration 3.0 normal normal Future Release defect (bug) reopened 2013-01-14T12:54:26Z 2022-06-14T01:36:09Z "I am the developer of a Wordpress plugin that modifies the Registration process. I am porting my code to Wordpress Multisite and am running into an odd obstacle. During the signup process, I store meta data in the signups table. I intend to restore that data after the user has activated their account using hooks located in wp-activate.php. I learned the hard way that wp-activate is altering the load sequence with the following flag. define( 'WP_INSTALLING', true ); The preceding comment says ""Define ABSPATH as this file's directory"", which to me does not entirely jive up. Regardless, with this flag in place, when Wordpress would normally determine what plugins to load in wp_get_active_and_valid_plugins, instead it returns an empty array. I do not believe this is the desired behavior. My solution has to been to create a small ""must-use"" plugin simply for my activation related code. This however, is not a desirable solution since must-use plugins must be manually installed. I cannot determine much of an alternate solution; I cannot modify that flag in a plugin at any level since my plugin would never be loaded for it to get a chance to modify the flag. It is a bit of a chicken and the egg problem." radiok Future Releases 23221 Multisite in subdirectory with root site address Bootstrap/Load 3.5 normal normal Awaiting Review defect (bug) reopened dev-feedback 2013-01-16T22:48:52Z 2018-01-21T01:31:19Z "I have seem to have found a url bug in the multisite. = How to replicate = 1. Install WordPress in a subdirectory 2. Change the the url from the subdirectory to the root by adding index.php to the the root and changing the following code. {{{ /** Loads the WordPress Environment and Template */ require('./subdirectory/wp-blog-header.php'); }}} 3. Change the site url in the settings to the root. 4. Start the process to convert the site to a multisite. = Affect = Then it should cause the network dashboard url to be incorrect. You will get http://example.com/wp-admin/network/ instead of http://example.com/subdirectory/wp-admin/network/. " grapplerulrich Future Releases 23229 Pagination Links Broken Permalinks normal normal defect (bug) new 2013-01-17T23:11:04Z 2019-06-04T20:43:46Z "Currently, if the request URL ends with ""page/[\d]+/?"" it will always assume that it is the pretty version of the paged parameter, and rewrite that section of the URL. This breaks in any condition where a numeric value follows that string at the end of a URL. An example that can be easily reproduced is as follows: 1) Set theme to TwentyEleven 2) Modify the theme to output the results of get_pagenum_link(2) anywhere. 3) Change permalink structure to ""/daily-page/%year%/%monthnum%/%post_id%/"" 4) Go to a year archive for the permalink structure above. 5) The result of the get_pagenum_link will look like this: ""/daily-/page/2/"", breaking pagination within this context. I've attached a patch against current trunk code that addresses this, providing the following features: 1) Pagination links functional in the scenario above, along with custom rewrite rules. 2) Updated to allow numeric post names for hierarchical post types (currently always rewritten with ""-2"") 3) Updated get_pagenum_link filter to include pagenum parameter as it was passed in. " ssmathias Future Releases 23243 "wp_mail() not working with ""Name "" format in buggy PHP versions on Windows" Mail 3.5 normal minor defect (bug) new 2013-01-20T15:59:30Z 2019-06-04T20:04:42Z "As a result of ticket #17305, wp_mail() accepts the $to parameter in the format ""Name "". There exists a PHP bug in versions below 5.2.11 and in 5.3, on Windows. This bug occurs when addresses are passed to the PHP mail() function in the ""Name "" format and prevents e-mails from being sent. I believe this bug in fixed in 5.3.1 and above. (see https://bugs.php.net/bug.php?id=28038) I don't believe this affects any core functionality, but may affect some plugins which pass $to in the above format. I tested in PHP 5.2.4 on Windows with the following code: {{{ wp_mail(""email@ext.com"", ""Test"", ""Test""); wp_mail(""Name "", ""Test 2"", ""Test 2""); }}} The first email is received; the second isn't. When removing error suppression from the mail() calls in class-phpmailer.php, the following warning is outputted: Warning: mail() [function.mail]: SMTP server response: 501 >: ""@"" or ""."" expected after ""Name"" in C:\xampplite\htdocs\wp-includes\class-phpmailer.php on line 771" bbosh Future Releases 23257 Add plural versions of Post Format strings Post Formats 3.5 normal normal Future Release enhancement new 2013-01-22T00:59:30Z 2017-07-17T16:37:15Z "To make it easier for theme authors to create meaningful titles for post format archive pages, we could extend `get_post_format_strings()` to also provide a standardized set of plurals. I'm not entirely sure whether the plurals I used in the diff are the ones we actually want to go with (apparently there is no plural of 'Audio'?), but the change is fairly simple and is backwards compatible. See [https://github.com/Automattic/_s/pull/137 this discussion] for additional context." obenland Future Releases 23276 WordPress Importer: Update existing navs instead of new Import normal normal WordPress.org defect (bug) new has-patch 2013-01-23T17:00:06Z 2020-10-01T19:25:32Z "A possible solution (reuses logic present in the code): {{{ $menu_item_db_id = (int) $item['post_id']; $original_object = get_post( $menu_item_db_id ); if ( is_null( $original_object ) ) { $post_parent = (int) $item['post_parent']; if ( $post_parent ) { // if we already know the parent, map it to the new local ID if ( isset( $this->processed_posts[$post_parent] ) ) { $post_parent = $this->processed_posts[$post_parent]; // otherwise record the parent for later } else { $this->post_orphans[intval($post['post_id'])] = $post_parent; $post_parent = 0; } } // map the post author $author = sanitize_user( $item['post_author'], true ); if ( isset( $this->author_mapping[$author] ) ) $author = $this->author_mapping[$author]; else $author = (int) get_current_user_id(); $postdata = array( 'import_id' => $item['post_id'], 'post_author' => $author, 'post_date' => $item['post_date'], 'post_date_gmt' => $item['post_date_gmt'], 'post_content' => $item['post_content'], 'post_excerpt' => $item['post_excerpt'], 'post_title' => $item['post_title'], 'post_status' => $item['status'], 'post_name' => $item['post_name'], 'comment_status' => $item['comment_status'], 'ping_status' => $item['ping_status'], 'guid' => $item['guid'], 'post_parent' => $post_parent, 'menu_order' => $item['menu_order'], 'post_type' => $item['post_type'], 'post_password' => $item['post_password'] ); $menu_item_db_id = wp_insert_post( $postdata, true ); if ( is_wp_error( $menu_item_db_id ) ) { $post_type_object = get_post_type_object( $item['post_type'] ); printf( __( 'Failed to import %s “%s”', 'wordpress-importer' ), $post_type_object->labels->singular_name, esc_html($item['post_title']) ); if ( defined('IMPORT_DEBUG') && IMPORT_DEBUG ) echo ': ' . $post_id->get_error_message(); echo '
    '; } } $id = wp_update_nav_menu_item( $menu_id, $menu_item_db_id, $args ); }}}" WraithKenny Future Releases 23309 Not all WP_Query::query_vars get updated during WP_Query::get_posts() Query normal normal defect (bug) new needs-unit-tests 2013-01-28T15:40:56Z 2019-06-04T20:43:47Z "There is a lot of logic within the WP_Query::get_posts() method that fills in missing query vars with defaults and manipulates others based on the rest of the query. However, some of the final states for many of the variables aren't updated in the WP_Query::query_vars array. For example, the post type is lost as a local variable and post_status is used for building compiling mysql expressions, but never directly updated. The result is that any plugins that want to recreate the query for another system, (ie, an external search provider) must directly copy much of the business logic that WP_Query::get_posts() has embedded in it in order to fill in for the incomplete query_var array. " prettyboymp Future Releases 23318 Plugins Admin Showing Details for Wrong Plugin Plugins normal normal WordPress.org enhancement new 2013-01-29T22:41:54Z 2022-08-23T17:46:47Z "I just set up a new site with some plugins, none of them activated yet. The plugins screen says: ""There is a new version of Google XML Sitemaps available. View version 4.1 details or update now."" I know for a fact there is no such version of this plugin. When I click details link, it tells me to install some other plugin called page-list?!" miqrogroove Future Releases 23336 Sticky Posts lack sanity bounding. If used too much, can severely degrade performance. Query normal normal defect (bug) reopened 2013-01-31T05:09:37Z 2019-06-04T20:43:50Z "Came across an issue where a site was using sticky posts for a slider on the front page. The rest of the front page used custom taxonomy queries. As such, they'd mark items as sticky, have the slider grab the first three. Over years, they accumulated thousands of sticky posts, which, as you can imagine, made the front page of their site absurdly slow, as it was querying those thousands of posts every time. Should we establish some sort of sanity limit here, to keep people from shooting themselves in the foot? I found this a REALLY hard issue to diagnose. Even with debug bar, there is no indication that sticky posts are being queried. There's just a giant WP_Query call that does a giant `IN()` query. Something like a limit of 100 with FIFO would keep things from getting too crazy, without restricting people too much. If you have a need for more than that, you need to be using a taxonomy query." markjaquith Future Releases 23361 "Deleting a user in Network Admin still defaults to ""Delete all posts""" Users 3.5 normal normal Future Release defect (bug) new 2013-02-01T19:02:55Z 2021-09-17T12:53:27Z "Background: #20045, #23224 We should either do what those tickets suggested in Network Admin as well for consistency, or redo/remove the form, since the attribution only works for the main site, as noted in [comment:ticket:20045:14]." SergeyBiryukov Future Releases 23391 User in contributor role can add images to post only via the text editor Role/Capability normal normal Awaiting Review enhancement new 2013-02-05T07:34:26Z 2018-10-03T12:18:01Z "1. Create a user with contributor role 2. start new post with it 3. notice there is no ""add media"" button anywhere 4. switch to text editing 5. use the img button to insert a URL to a valid img on the web 6. request approval for the post 7. let admin/editor approve it 8. go the the post's URL and notice that the image is shown So, it is not that contributors are not allowed to use images, it is just that WP makes it hard to do so. Either HTML needs to be sanitized and have all img tags removes for contributors, or access to the media library should be allowed for contributors denying only access to uploading. I vote for the second option." mark-k Future Releases 23413 Provide query result data to custom user columns Users normal normal enhancement new dev-feedback 2013-02-07T15:22:53Z 2019-06-05T06:39:04Z "When the filter manage_users_custom_column is triggered, it sends an empty string for the value field. Since it's easy enough to extend the WP_User_Query with extra fields, it would be good to have those fields passed through if they exist to save having to requery the database with the user_id parameter to get the data. I have attached a patch to show what I mean." JohnC28 Future Releases 23422 Add query filter argument to register_taxonomy Taxonomy normal normal enhancement new needs-unit-tests 2013-02-08T12:38:35Z 2019-06-04T21:08:16Z "Following on from the #21240 ticket which introduced the show_admin_column functionality I would like to suggest an additional argument to easily add the select list query filter for a taxonomy to the post-type list. Currently a taxonomy query can be added via the 'restrict_manage_posts' action and 'parse_query' filter. It would be useful to add an additional register_taxonomy argument of 'show_column_filter' to define a standard select option list of the taxonomy terms. Things like default option and hierarchy could be optional settings is an array is passed instead of boolean. " tifosi Future Releases 23423 sanitize_title() in dynamic_sidebar() restricts the use of specific characters for sidebar IDs chriscct7 Widgets 2.2 normal normal defect (bug) reopened needs-unit-tests 2013-02-08T13:25:00Z 2019-06-05T06:39:05Z "In the dynamic_sidebar() function in wp-includes/widgets.php uses sanitize_title() on the given index when it looks for a sidebar with a name that matches the index. After that it leaves the index value sanitized making it impossible to use characters not allowed by sanitize_title() in a sidebar ID. By not overwriting the given index value with the sanitized version it would still be possible to use any character for the ID. To achieve this, lines 847-853 {{{ $index = sanitize_title($index); foreach ( (array) $wp_registered_sidebars as $key => $value ) { if ( sanitize_title($value['name']) == $index ) { $index = $key; break; } } }}} should be replaced with {{{ $sanitized_index = sanitize_title($index); foreach ( (array) $wp_registered_sidebars as $key => $value ) { if ( sanitize_title($value['name']) == $sanitized_index ) { $index = $key; break; } } }}}" paulvandermeijs Future Releases 23424 WP_Image class for handling images from the media library Media 3.5 normal normal enhancement new dev-feedback 2013-02-08T15:41:24Z 2019-06-04T20:04:57Z "Since 3.5 we have the class WP_Image_Editor. This needs a file path to be able to manipulate an image. Currently you would have to use something like wp_get_image_editor( _load_image_to_edit_path( $post_id ) ). What is wrong since you are using a ""private"" function. Currently I'm working on this idea and you can find the code here https://github.com/markoheijnen/WP_Image/blob/master/wp-image.php. What it does now is getting the filepath, be able to get the image editor, add an image size on the fly and getting/updating the metadata. We really miss something like a WP_Image class in WordPress. However I'm not sure what kind of functionality is needed for it. I like the current class mainly because it gives you the power to create an image size for a specific media image and stores it in the sizes array. When a user removes the media image then also the custom sizes will be removed." markoheijnen Future Releases 23432 "Review usage of target=""_blank"" in the admin" sabernhardt* Administration 3.2 normal normal Future Release task (blessed) accepted 2013-02-09T15:26:25Z 2023-11-17T17:54:28Z "Some links in the Setting Pages (General, Discussion, Permalink) pages open in same window, which sometime can be awful. [[BR]] While the users can press cmd/ctrl + click and click the link to open it in new tab but If the user does not open the link in new window, options (which are not saved) will be lost and one have to go through them again.[[BR]] Also links in the Edit Profile page and all the links in the help tab open in new window except a few.(so it is possible that users may just click it thinking them to alike other links which open in new window)[[BR]] So a consistency will be there and ux can be a little better." theadityajain 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 23464 WXR importer: Poor UX when creating new user to import to Import normal normal enhancement new 2013-02-13T07:05:33Z 2019-06-04T20:04:59Z "When importing WXR you are prompted to assign a user to which of the existing users the imported content will be assigned, but it is also possible to provide a name of a new user which will be created and the content then will be associated with it. The new user functionality sucks 1. No email or password is required therefor the user for a while is missing data which is assumed to always exist for a user. In the end of the import there is a small notice about updating the user data, but it gets lost in all the output being generated during import 2. Processing does not stop if user creation had failed (I used hebrew characters for user name) and the imported content is assigned to the current user. WTF? " mark-k Future Releases 23483 Incorrect image URL for subsites when using UPLOADS constant on multisite subdirectory installation Upload 3.5.1 normal normal Awaiting Review defect (bug) new 2013-02-15T18:56:54Z 2017-07-08T00:41:31Z "If the UPLOADS constant is used on a Wordpress Multisite installed to subdirectory, using subdirectory mode, then image URLs for subsites are incorrect. Example: * WP MS installed to www.domain.com/wordpress, subdirectory not subdomain * UPLOADS set to 'assets' Main site uploads images to /wordpress/assets/... [[BR]] Main site image URL is www.domain.com/wordpress/assets/... 1. Create subsite called 'subsite'; 2. Subsite uploads images to /wordpress/assets/sites/2/... 3. Subsite image URL is www.domain.com/subsite/assets/sites/2/... when it should be www.domain.com/assets/sites/2/... This is because wp_upload_dir() uses get_option('siteurl') to derive the URL. It is probably right for subdomain multisite but wrong in this use case." creativeinfusion Future Releases 23487 is_blog_installed gives erroneous result on moved database Upgrade/Install 3.0 normal normal defect (bug) new dev-feedback 2013-02-16T13:11:37Z 2021-03-30T14:02:15Z "I resently moved my blogs to a new database, but when I tried it out, on of the blogs wanted a new install. Of course I did not want to do an install and overwrite my blog. I indirectly found the reason in is_blog_installed, which suppresses database errors. Thus I did not see this error. SELECT command denied to user 'techblog'@'localhost' for table 'wp_options' Of course it was my fault, but I virtually had to take the wordpress code apart to find out why my migration failed. Of course this is not a big problem on new installs, but very likely to happen on moving databases. " Kjeld Flarup Future Releases 23562 Using Speech Recognition Software with the Add Media Panel joedolson* Media 3.5.1 normal normal Future Release defect (bug) accepted reporter-feedback 2013-02-20T16:06:02Z 2023-08-24T13:36:57Z "Linked to #23560 this ticket specifically concerns the speech recognition user's accessibility experience of the Add Media functionality. I'm using Dragon Naturally Speaking with IE9 on Windows 7 - a typical setup as Dragon works best with IE. Within the Edit Post screen I can use Dragon to action the Add Media link successfully. The command in Dragon for such an action is ""Click Add Media"". This works, but then I run into the following problem: * With the exception of Set Featured Image, none of the other links on the panel appear to be directly accessible with Dragon. * If I select Set Featured Image I can't action any of the other links. Dragon users can use voice commands to replicate pressing the tab key. The experience then mirrors that outlined in #23560 - but of course this cannot be used to select the images or other files. It is possible for Dragon users to interact with screens using mouse commands but it is an incredibly laborious and time consuming process - used only as a last resort. If one of the images is selected, the information panel for that images opens to the right. Unfortunately none of the input fields (for title, alt, etc) are directly available to Dragon. Ironically, the Insert Into Post button can be accessed directly with a voice command. Some investigation needs to be done as to why most of the links and input fields cannot be directly accessed by Dragon when the panel is opened. This is a parallel with the situation on the Theme Customizer panel. It is interesting that the Set Featured Image link and the Insert Into Post button '''can''' be directly accessed. What is different about them? " grahamarmfield Future Releases 23602 "Incorrect canonical redirect if p=123 query argument present in ""paged"" archives" Canonical 3.5 normal normal defect (bug) new needs-unit-tests 2013-02-25T08:34:19Z 2019-06-04T19:23:57Z "URLs that include `page/n` AND `p=n` query variable, such as: http://example.com/page/3/?p=123 will issue a 301 redirect to the homepage. This is being reported as incorrect behaviour in Google Webmaster Tools, because: The target URL does not exist and your server is not returning a 404 (file not found) error. Your server is redirecting requests for a non-existent page, instead of returning a 404 response code. This creates a poor experience for searchers and search engines. A fix would be to strip the `p=` query variable and redirect to the paged archive. From: http://example.com/page/3/?p=123 to: http://example.com/page/3/ " kasparsd Future Releases 23616 General Handler for Whitelisted Options' Submissions Options, Meta APIs normal normal feature request new 2013-02-26T03:06:55Z 2019-06-04T20:43:51Z As stated over on #18285 WordPress should move away from posting to options.php. In order to do that, the Settings API needs a general purpose function that can be safely called on all Settings Pages that can handle posts to itself (generally referred to as 'take_action' in various places) and can handle what options.php currently does. WraithKenny Future Releases 23637 wp-signup.php has overly aggressive CSS Login and Registration 3.0 normal normal Future Release defect (bug) new 2013-02-27T14:33:46Z 2020-03-04T06:25:13Z The CSS added through wp_head by wp-signup.php stops Multisite form fields from being styled through inheritance. Allowing inheritance will result in more consistent styling with the active theme (for example, field font-size). kwight Future Releases 23709 Relax wildcard restrictions for populate_network() when installing in subdomain mode Upgrade/Install 3.5 normal normal enhancement assigned 2013-03-06T20:03:49Z 2019-06-04T21:08:25Z "I ran into the issue while trying to use wp-cli install-network command with --subdomains support. Underlying core issue is that populate_network is trying to check if wildcard subdomain is accessible. This makes sense for large networks, but might not work with certain setups, or not needed for small sites. Proposed solution is to add extra arg for populate_network() $wildcard_check with default to true. See attached patch" rinatkhaziev Future Releases 23845 Install new theme via FTP failed Filesystem API 3.5.1 normal normal defect (bug) new 2013-03-22T12:19:03Z 2019-06-04T19:44:34Z "New theme installation via FTP has failed when we specified custom FTP_BASE folder. If we try this theme installation , wordpress shows error message: ""Unable to locate WordPress theme directory"". This was because search_for_folder method do not respect FTP_BASE setting and allows to walking on parent directories. All solutions I found in google is ugly hacks who only mask the problem but does not resolved it I attached patch example who resolve this problem. I hope is useful and will help to repair this bug." Przemyslaw Plewa Future Releases 23857 Delete User Should Delete Comments Users 3.5 normal normal enhancement new 2013-03-25T07:10:55Z 2019-06-05T06:39:10Z The delete user function should also delete that user's comments or attribute that users comments to the person specified. That way, deletion of accounts goes a lot smoother. jamcat22 Future Releases 23863 Post Formats: allow filtering content_width per format in wp-admin Post Formats normal normal defect (bug) new dev-feedback 2013-03-25T20:55:33Z 2019-06-04T20:43:59Z "On front-end a theme can filter {{{$content_width}}} like so: {{{ function twentythirteen_content_width() { if ( has_post_format( 'image' ) || has_post_format( 'video' ) ) { global $content_width; $content_width = 724; } } add_action( 'init', 'twentythirteen_content_width' ); }}} But ... functions called in wp-admin that use the global {{{$content_width}}} variable won't be changed. For example, using trunk and Twenty Thirteen theme: 1. Create a new post, set to Image post format 2. Click Add Media to insert an image 3. Upload an image at least 800 px wide 4. You'll see in ""Attachment Display Settings"" that width for the ""large"" size to insert to the post is 604 pixels and not 724. Also, even if detecting a Post Format this way worked correctly on edit, it wouldn't work on first post creation because of how the UI uses JS to switch between the formats." lancewillett Future Releases 23866 WordPress xmlrpc wp_getPosts filter for slug XML-RPC 3.4 normal normal enhancement new dev-feedback 2013-03-26T20:09:31Z 2019-06-05T06:39:12Z "When using the Wordpress xmlrpc, it is sometimes very useful to get posts based off of slugs rather than post id. A use case for this would be synchronizing or migrating two Wordpress sites with the same posts, but with different databases and post ID's. " SunWaves Future Releases 23867 add_rewrite_endpoint causes front-page.php template to be ignored Rewrite Rules 3.5.1 normal normal defect (bug) new reporter-feedback 2013-03-26T21:49:18Z 2019-06-04T21:08:27Z "I have a front-page.php template in my theme folder, as per the template hierarchy this is used regardless of whether I am showing posts or a page as the front page. However, when I add a rewrite endpoint (on the init hook), index.php is used for the front page template when I add my query var to the URL. It makes no difference if I set the front page to show posts or a page. If I do not add the query var, front-page.php is correctly used. i.e. http://domain.com correctly uses front-page.php, http://domain.com/nl wrongly uses index.php This happens whether I use EP_ALL or EP_ROOT as the places parameter. All other template files are fine, it's only the homepage with the problem as far as I can see." lumpysimon Future Releases 23909 Widgets settings loaded and instances registered unnecessarily Widgets 3.5.1 normal normal defect (bug) new 2013-03-30T16:02:05Z 2019-06-05T06:39:14Z "The settings for all registered multi-widgets get loaded with each request in `widgets_init`, and all widgets get registered even if they are never used (e.g. inactive ones). As the total number of inactive widgets tend to grow over time, the result is slower and slower page loads across all of a WordPress install. Ideally only the widgets returned by `wp_get_sidebars_widget()` would only get loaded and registered, though this would have an impact on how the widgets in the Customizer work." alex-ye Future Releases 23915 discover_pingback_server_uri cases an error when discovery URI sets multiple Content-type headers dd32 Pings/Trackbacks 2.7 normal normal defect (bug) assigned needs-unit-tests 2013-04-01T14:25:25Z 2019-06-04T20:44:00Z "Line 1673 in wp-includes/comment.php uses preg_match() on the output of wp_remote_retrieve_header(). When multiple headers are set of the same name, wp_remote_retrieve_header() returns an array. Thus occasionally the following error occurs: PHP Warning: preg_match() expects parameter 2 to be string, array given in xxxxxxx/wp-includes/comment.php on line 1673 I have no idea how to make pingbacks happen so to reproduce, add this line to functions.php: discover_pingback_server_uri('http://localhost:8080/'); And in a terminal window run this (you may need to install the netcat-openbsd package in Debuntu): `while true; do echo -en 'HTTP/1.1 200 OK\r\nContent-type: text/html\r\nContent-type: text/plain\r\n\r\n' | nc -lp 8080; done` Then visit your WP installation and you shall get the aforementioned error message." tomdxw Future Releases 23922 make_clickable() breaks when colon in hash Formatting normal normal defect (bug) new 2013-04-03T00:41:39Z 2019-06-04T19:44:36Z "`make_clickable()` doesn't like this string: {{{ http://en.wikipedia.org/wiki/URI_scheme#tel: }}} It results in this HTML: {{{ http://en.wikipedia.org/wiki/URI_scheme#tel: }}} Specifically it's the colon that is causing the issue. It can be a part of the URL too, it doesn't have to be a part of an anchor." Viper007Bond Future Releases 23931 wp_insert_comment should require comment_post_ID Comments 2.0 normal normal defect (bug) new close 2013-04-03T18:41:58Z 2023-02-21T20:07:06Z "At this moment there is no check for example comment_post_ID. Not sure if there are more checks needed. Reason I asked are a few notices on the unit tests caused by WP_UnitTest_Factory_For_Comment. Those comments don't add a post ID what should change. Currently, if a null comment_post_ID is passed, the comment isn't connected to a post. This can create confusion. Also Unit tests should run with WP_Debug on." markoheijnen Future Releases 24026 No /themes/ folder causes strange behaviour Themes 3.1 normal normal defect (bug) new 2013-04-10T07:05:04Z 2019-06-04T21:08:29Z "I know, that it's a tricky behaviour, but the problem exists. 1. Unzip WordPress files to appropriate place 2. Go to /wp-content/ and delete /themes/ folder 3. Install WordPress using it's wizard (ignore error in Dashboard that no theme activated) 4. Go to Plugins page in admin area 5. Install BuddyPress (this plugin register the theme BP Default that is situated in plugin folder - '''this is very important''') 6. Activate BuddyPress and complete its wizard to make BP functional 7. Go to Themes page in wp-admin 8. You will now see BP Default Theme. Try to activate it 9. Ta-da! You've just unlocked a new badge for catching an error." slaFFik Future Releases 24143 When define('WP_CONTENT_DIR', 'your-dir') twentythirteen - The theme directory does not exist. Themes 3.4 normal normal defect (bug) reopened needs-unit-tests 2013-04-20T10:08:16Z 2021-04-20T06:02:42Z "If you use either of following in you wp-config.php you'd automatically get a Broken Themes. {{{ define('WP_CONTENT_DIR', 'your-dir'); define('WP_CONTENT_URL', 'your-url'); }}} The following themes are installed but incomplete. Themes must have a stylesheet and a template. Name Description twentythirteen The theme directory does not exist." azizur Future Releases 24251 Reconsider SVG inclusion to get_allowed_mime_types Upload normal normal Awaiting Review enhancement reopened dev-feedback 2013-05-02T19:36:57Z 2023-03-27T19:24:23Z "There are some who think SVG should be included in core as an allowed mime type. Makes fine enough sense to me, since there is a good argument for it, and we have support for WordPerfect documents...so there's that. Related: #20990" JustinSainton Future Releases 24283 is_active_widget() incorrect logic Widgets normal normal defect (bug) new dev-feedback 2013-05-08T07:07:41Z 2019-06-05T06:39:17Z "`is_active_widget()` only returns 'true' only if widget used inside sidebar. But there is a provision to use widget directly using `the_widget()` function. I believe there is a need of alter the logic of just checking inside sidebars." valllabh Future Releases 24386 Make _pad_term_counts work for non-post type objects and attachments Taxonomy normal normal enhancement new needs-unit-tests 2013-05-22T18:23:31Z 2020-11-05T15:55:22Z "If you register a hierarchical taxonomy against a non-post object (such as users), or attachments that aren't associated with another post, _{{{pad_term_counts}}} does bubkus, due to the INNER JOIN on {{{$wpdb->posts}}}, and the check for 'publish' status (which is relevant for attachment post types). I'm suggesting an alternative approach would be to use $term->count, and eschew going back to the database altogether." TomAuger Future Releases 24415 The 'show_in_admin_all_list' argument for the 'register_post_status' function is ignored when the argument 'public' is set to 'false' Posts, Post Types 3.5.1 normal normal defect (bug) new dev-feedback 2013-05-25T00:06:51Z 2023-05-24T16:08:16Z "Hello, I stumbled upon a bug in the admin section of WordPress. I'm currently running the latest release (3.5.1) without any third-party plugins. After creating some custom post statuses via the 'register_post_status' function, I noticed that posts with them do not appear in the default (all) post listing in the admin section, despite me setting the 'show_in_admin_all_list' argument to 'true'. I narrowed this problem down only to the 'public' argument of the same ('register_post_status') function: if the 'public' argument of custom post status is set to 'true', then everything works as expected and the posts with a custom post status appear in the default (all) post listing in the admin section — but this also makes posts with that custom post status appear to the regular users, making them public, hence the name of the argument. It's worth noting that the 'public' argument has no such buggy effect on the 'show_in_admin_status_list' argument of the same ('register_post_status') function: it doesn't matter to what the 'public' argument is set — the links to the appropriate post statuses are showed at the top of the post listing only based on the 'show_in_admin_status_list' argument, just like it should." XyntaMan Future Releases 24447 Avoid losing data after nonces expire iseulde Administration normal major Future Release defect (bug) assigned early 2013-05-29T07:55:35Z 2020-05-14T19:23:54Z "Happens when an admin page containing a form is left open for more than 24 hours and the user decides to submit the form. This is quite rare for most admin pages as the users typically spend short time there. However this can happen on the Edit Post screen too despite that we refresh the basic nonces every `wp_nonce_tick` (12 hours): - The user starts new post. - At some point the Internet connection is lost. - The user decides to finish later and puts the computer to sleep (closes the laptop, etc.). - The user decides to continue writing more than 24 hours after that. At this point all nonces have expired and cannot be updated as we've missed the previous nonce_tick update." azaozz Future Releases 24552 Taking over a locked post does not always load the most recent revision Autosave 3.6 normal major defect (bug) new 2013-06-10T10:33:44Z 2019-06-04T19:24:06Z "Steps to reproduce: 1. Open up a post for editing, and make some changes to it. Do not save the changes. 2. Open up the same post for editing using a different user account (in a different browser![1]) and click the 'Take over' button when you get the post lock modal. 3. Note that the post that loads is not the most recent autosave of the post, but equally importantly you are not shown the message stating this. 4. Reload the editing screen and you'll be presented with the ""There is an autosave of this post that is more recent than the version below."" message. Related: #23697 ---- ![1] The simplest way to do this is to use an Incognito browser window (and [http://wordpress.org/plugins/user-switching/ User Switching]) so you can be logged in as two accounts simultaneously. " johnbillion Future Releases 24567 Add help to media modals Help/About 3.5 normal normal Awaiting Review enhancement new dev-feedback 2013-06-12T08:06:29Z 2023-03-12T18:17:27Z They are far from simple screens but there is no help available for them. mark-k Future Releases 24572 Should be able to unlock a post outside of ajax handler Posts, Post Types normal normal enhancement new dev-feedback 2013-06-12T20:28:37Z 2019-06-04T20:44:25Z "Right now you can programmatically lock a post for editing using wp_set_post_lock, but you can't unlock it in a similar fashion. The only unlocking code is found in the ajax handler wp_ajax_wp_remove_post_lock. I've created a function wp_unset_post_lock in the style of wp_set_post_lock that unlocks a post with a given ID. I've also refactored wp_ajax_wp_remove_post_lock to use this function. The only resulting difference is that we use the current user's ID instead of the one supplied in the ajax call, but since we're unlocking the post instead of locking it, it doesn't really matter who's ID is in the meta. This change was requested by Joey Kudish of the VIP team." bbrooks Future Releases 24579 Add Drag'n'Drop UI to plugin and theme manual uploaders Upgrade/Install normal normal Future Release enhancement new 2013-06-14T17:03:38Z 2023-12-18T16:24:54Z "We have this nice looking easy to use drag-n-drop UI for our media, is there anything stopping us from having it for our plugin and theme uploaders? I know most people use the search that goes through the .org repo, but it's foolish to think that's the only place people ever get their products. This would help facilitate a consistent user experience throughout the entire WP Admin. Edit: If possible, support multiple uploads too." tw2113 Future Releases 24672 Remove final from WP_Post class Posts, Post Types 3.5 normal normal Awaiting Review enhancement reopened dev-feedback 2013-07-02T03:48:03Z 2018-04-18T19:44:22Z "After discussing it with stephdau and reading through #21309, I think a discussion should be had on the validity of using the final keyword on the class. While I agree that a decorator pattern is probably best for building the class, there is still no reason for the keyword to be used. If someone wants to extend the class then they should be allowed to do so." carlalexander Future Releases 24766 Title attributes galore. They serve no useful purpose. sabernhardt* Administration normal normal Future Release task (blessed) accepted 2013-07-16T00:29:25Z 2024-02-14T19:05:13Z "This is a full list of methods, including what files they're from, where HTML title attributes are in use. The title attribute provides a tooltip on certain browsers. Other than that, it is essentially useless. As provided in WordPress, the title attribute is both redundant and useless, because in most cases, it is a complete duplicate of the link's text. Therefore the tooltip provided is of no value whatsoever. For users of assistive technologies, the title attribute is useless at best and sometimes an annoyance. Users of text-to-speech software who have configured their software to do so will hear the title attribute twice. Essentially the extensive use of title attributes throughout WordPress Core amounts to unnecessary code bloat. I recommend eliminating the title attributes from all of the methods below: {{{ // user.php wp_authenticate_username_password() // post-template.php wp_page_menu() wp_get_attachment_link() // media.php get_image_tag() // media-template.php wp_print_media_templates() // link-template.php edit_term_link() edit_post_link() edit_comment_link() edit_bookmark_link() get_adjacent_post_rel_link() the_shortlink() // default-widgets.php widget() // comment-template.php comments_popup_link() comment_form() // class-wp-theme.php markup_header() // class-wp-editor.php wp_fullscreen_html(). There is one title attribute here on what I think is a TinyMCE button. If that looks like a button, it should actually be a button. // class-wp-customize-section.php render() // category-template.php get_category_parents() get_the_category_list() wp_generate_tag_cloud() start_el() // bookmark-template.php _walk_bookmarks() // author-template.php get_the_author_link() the_author_posts_link() wp_list_authors() // rss.php wp_rss() get_rss() // general-template.php get_calendar() // class-wp-admin-bar.php _render_item() }}} * Note: Ignored: All Third party classes " karlgroves Future Releases 24776 Need Filter Hooks on Creating Slug - Check Availability of Slug if That is Used for Post, Page, Taxonomy or any Plugin Permalinks normal normal Awaiting Review feature request new dev-feedback 2013-07-16T21:06:09Z 2022-02-14T05:01:30Z "I did not find any '''filter hook''' for choosing slug for any object. I have a plugin that creates its own URLs. eg. example.com/my-campaign . If someone hits on this url then he will see my plugin generated page. But if there is already a page ""'''My Campaign'''"" then WP is unable to show that page because that '''permalink''' already taken by my plugin. So Before creating my plugin slug I need to check '''WP posts, pages and taxonomies''' if any of those already used my slug. I also need to check Root directory of WordPress installation if there is a '''directory with same name''' of my slug. WP Core checks available slug in its own database and reserved words. But it doesn't check slugs those are used by any plugin. If there is a post name ""'''my-campaign'''"" then my plugin don't let to chose this slug but If my plugin took this before and user want create a page ""my-campaign"" then WordPress will take the same slug. And here is the main problem. In the same way my plugin is conflicting with other plugins. My plugin can check WordPress core slugs but not other plugins. ""'''Pretty Link'''"" is one of the most popular plugin. It also creates its own url. It also checks available slug in wordpres db but not in other plugin. Any plugin may have custom rewrite rule, then my plugin can not handle that. So I think we need a standard rule that will be followed by WordPress core and all plugins. I have three different plugins those need own slugs. I made a universal process that I am using in all of my plugins. I am explaining my process bellow. I am using a filter hook ''''onetarek_is_slug_available'''' all of my plugin use this filter before choosing a slug. MY CODES: {{{ get_var($wpdb->prepare(""SELECT post_name FROM {$wpdb->posts} WHERE post_name=%s LIMIT 1"",$slug)); $has_taxonomy = $wpdb->get_var($wpdb->prepare(""SELECT taxonomy FROM {$wpdb->term_taxonomy} WHERE taxonomy=%s LIMIT 1"",$slug)); if( $has_postname or $has_taxonomy )return false; #Check if any same named file or directory exists in the root of wordpress installation $root_directory = opendir(ABSPATH); $slug_lower=strtolower($slug); #we consider wp-content and Wp-ContENT and WP-CONTENT are same. while (($file = readdir($root_directory)) !== false) { $filename = strtolower($file); if($filename == $slug_lower) return false; } #Check same slug is exists in click jacker database. #if same slug exists and associate for given id then return slug . We allow this if($id){$id=intval($id);} if($id) { $SQL = $wpdb->prepare(""SELECT slug FROM "".CLICK_JACKER_CAMPAIGN_TABLE."" WHERE slug=%s AND id =%d"", $slug, $id); $has_slug = $wpdb->get_var($SQL); if( $has_slug == $slug ){return $slug;} } #if same slug exists and no id given then we don't accept this. $SQL = $wpdb->prepare(""SELECT slug FROM "".CLICK_JACKER_CAMPAIGN_TABLE."" WHERE slug=%s"", $slug); $has_slug = $wpdb->get_var($SQL); if( $has_slug == $slug )return false; return $slug; } add_filter('onetarek_is_slug_available', 'otk_filter_available_slug', 10, 2); ?> }}} I am calling above filter where I need {{{ }}} My technique is limited. In my filter function I run 2 SQL query to check WP slugs , but that is limited. WordPress has reserved words also, those are not being checked in this process. And my other 2 plugins also run the same. Now if any website uses my 3 plugins then same process will be run 3 times and 6 SQL query will be run to check WP slugs. My function is unable to check the slug of ""Pretty Links"" plugin. But if '''WORDPRESS core''' would have a '''FILTER HOOK''' and run a function with this filter to check any kind of WP slugs then my plugins would search only its own database once. AND other plugin developer would attach a function with this filter. And they would check only their own database. Plugins don't need to check WP slugs because core function already fired with this FILTER HOOK. In the same way WP core should respect other plugin slugs and '''custom url rewrite rules'''. When WP check available slug for post, page, taxonomies then it should use this FILTER also. I THOUGHT THIS WAY BECAUSE I DON'T FIND ANY WAY. IF ANYTHING ALREADY EXISTS IN WP PLEASE LET ME KNOW. Regards Jahidul Islam (oneTarek) [http://onetarek.com] " onetarek Future Releases 24780 Use error handlers rather than the error suppression operator Filesystem API normal normal Future Release defect (bug) new 2013-07-17T01:14:56Z 2023-09-07T09:39:17Z "In various places in core (and included libraries, such as pclzip, FTP and phpass), the error suppression operator is used to suppress warnings and notices. However, this also suppresses fatal errors, which makes it a huge pain for debugging. The big one here is `fopen`, where it is used to suppress warnings when opening a handle fails. For normal files, this is fine since the only errors generated are warnings. When using streams and custom stream handlers, these can generate errors which are really hard to find with this. (I ran into this with the App Engine plugin, where the SDK method generates a fatal error if the mode is `a`, which is used with error suppression in `win_is_writable()`.)" rmccue Future Releases 24791 Map audio/video shortcode IDs on import Import normal normal task (blessed) new 2013-07-17T21:39:47Z 2019-06-04T20:05:43Z See #24458. nacin Future Releases 24844 get_theme_mods doesn't return the theme customizer preview's new values. Customize 3.5.2 normal normal Future Release defect (bug) new 2013-07-26T13:41:52Z 2017-02-14T18:44:32Z "Using the theme customizer API, you can call get_theme_mod($option) to return the value for a specific theme option. In the case of the user interacting with the theme customizer, if they have changed an option, the theme customizer replaces the saved option with the previewed / new setting by hooking onto the {{{theme_mod_$name}}} filter applied in {{{get_theme_mod}}}. However, should the user need or desire to retrieve all theme mods at once, the filter is not applied, and the new settings are never injected into the saved settings array. There's a workaround to simply loop through the settings and manually apply the filter, but it would be better if {{{get_theme_mods}}} had an argument like {{{$use_filter}}} and could add the filter in the core functionality. {{{get_theme_mods}}} is in [source:tags/3.5.2/wp-includes/theme.php#L746 wp-includes/theme.php] on line 746. {{{get_theme_mod}}} is in [source:tags/3.5.2/wp-includes/theme.php#L776 wp-includes/theme.php] on line 776. {{{theme_mod_$name}}} filter is applied in [source:tags/3.5.2/wp-includes/theme.php#L780 wp-includes/theme.php] on lines 780 and 785. {{{ theme_mod_$name}}} filter is added in [source:tags/3.5.2/wp-includes/class-wp-customize-setting.php#L72 wp-includes/class-wp-customize-setting.php] on line 72." nessworthy Future Releases 24846 Usage of a shortcode disables wpautop filter Formatting 3.6 normal normal defect (bug) reopened 2013-07-27T12:28:03Z 2019-06-04T19:44:48Z "In WP3.6 RC1 when I do this: {{{ Some text. Some text. Some text. Some text. Some text. Some text. Some text. }}} it works just fine. It creates a paragraph. But when I do this (both in ""Visual"" and ""Text"" editors): {{{ [symple_highlight color=""gray""]Some text[/symple_highlight]. Some text. Some text. Some text. Some text. Some text. Some text. }}} it doesn't wrap the text in anything. Paragraph is skipped. The plugin that was used: http://www.wpexplorer.com/symple-shortcodes/ (but I bet it isn't plugin's bug)." Looimaster Future Releases 24853 Add endpoint support to CPT archives Rewrite Rules normal normal enhancement new 2013-07-28T19:25:06Z 2019-06-04T21:08:52Z #16303 aimed to introduce an endpoint mask for CPT archives. However, the way that CPT rewrite rules are set up means that there isn't actually support for endpoints. duck_ Future Releases 24865 Allow plugins to hook into autosave and include field data from the autosave with the package. Autosave normal normal enhancement new 2013-07-28T22:55:43Z 2019-06-04T19:24:10Z "== Why? == Autosaves currently only save ""blessed"" data (post_title and post_description?). Plugin authors may want to add their own data in the autosave package so if they hook into `save_post` they can handle/save that data as needed. == How this works == Metaboxes are generated with an id already on the page. So what we do is add an extra parameter to the `add_meta_box()` function (`do_autosave` bool) so that when a plugin uses add_meta_box() they can set that flag. We set a javascript object that contains the ids of the metaboxes that have had that flag set and then `wp.autosave.getPostData` in `autosave.js` has been modified to loop through the metaboxes matching those ids and return the fields in those metaboxes as an object attached to the data param. Added a new jquery plugin (serializefullarray) as it will handle nested pseudo arrays set as the ""name"" values in inputs (i.e. somedata[one][two]) and create proper objects from them. " nerrad Future Releases 24867 Feeds for custom posts type can not be set independently of has_archive and supports => comments nacin Posts, Post Types 3.8 normal normal defect (bug) assigned 2013-07-29T00:12:27Z 2019-06-04T20:44:35Z "I was testing the patch for ticket (Feeds or Feed - add_permastruct missunderstanding: #23302) and discovered a few things (I'm using trunk rev 19712). Turning of feeds for custom post types only works if supports feeds & has_archive are set to either false or true. If you, e.g. set the argument feeds in rewrite to true and has_archive to false then the rewrite rules for feeds do not get created (some happens of you switch true & false around in both arguments). This happens due to this condition in /wp-includes/post.php, line 1242: {{{ if ( ! isset( $args->rewrite['feeds'] ) OR ! $args->has_archive ) $args->rewrite['feeds'] = (bool) $args->has_archive; }}} Another problem I run into is that: With the patch for ticket (#23302) you can not enable/disable the comments feed independent of the main feed of the custom post type. It also does not get disabled if you do not enabled comments via supports. Rewrite rules for feeds seem to always get created. I've attached an example to showcase what I wrote above." marcosf Future Releases 24879 Sourcemaps should be provided for use with minified javascript libraries Build/Test Tools normal normal Future Release enhancement new dev-feedback 2013-07-29T15:49:33Z 2017-02-19T10:42:42Z "Sourcemaps make it possible to debug minified files. Supported in Chrome: https://developers.google.com/chrome-developer-tools/docs/javascript-debugging#source-maps Landing in Firefox in v23: https://wiki.mozilla.org/DevTools/Features/SourceMap When this feature is enabled, the Chrome console currently shows a 404 when the script specifies a sourcemap file and it isn't found." jblz Future Releases 24888 In image editor, cropping scale gets applied off by 0.4% Media 3.5 normal normal defect (bug) new 2013-07-30T13:55:51Z 2019-06-04T20:05:48Z "When you scale the crop preview, the editor does not keep the right ratio. To reproduce this error: - Upload an image with 4608 x 3072 - On the crop feature, create an selection with 1680 x 560 - Hold shift and scale to fit all image width (4608px) - The height result was 1544px, that is wrong, the correct is 1536px. " diegomarangoni Future Releases 24925 Improve no disk space error handling when updating plugins Filesystem API normal minor Awaiting Review enhancement new dev-feedback 2013-08-02T11:25:24Z 2021-07-20T23:02:17Z "I received the following uninformative error message when trying to update a plugin (roughly translated from Finnish): {{{ Error on updating BulletProof Security. Cannot create folder. /[WPDIR]/wp-content/upgrade/bulletproof-security.tmp. }}} The error was caused by not having enough disk space. The plugin update should check if that's the reason for the error and then display a more informative error message." Daedalon Future Releases 24934 More flexible response reporting in wp-plupload.js Upload 3.6 normal normal Future Release enhancement assigned 2013-08-03T00:30:06Z 2019-05-15T21:13:41Z "The wp-plupload.js wrapper to the plupload library only returns server responses to bound callbacks in the case of a well formed error (the server responds with {{{ { success: false } }}}). Sometimes it may be useful to receive additional information from the server on ''successful'' upload. I have prepared a patch that allows for the {{{success}}} and {{{error}}} callbacks to receive server responses." ippetkov Future Releases 24963 IIS Multisite, Suspected bug in web.config code for URL Rewrite (404 wp-login) Rewrite Rules 3.5 normal normal Future Release defect (bug) new has-patch 2013-08-06T06:17:40Z 2017-10-06T14:58:07Z "Hello. I believe I've found a bug in WordPress 3.52 and 3.6 (and possible older versions, but these are the versions I've used). I'm running a WordPress Multisite website in a Windows IIS environment (yes, I'm a minority!). The issue is with the web.config code which WordPress provides to configure the URL Rewrite module, specifically with rule 4: {{{ }}} I believe that the last line should say {R:2}, not {R:1}. With the web.config file configured as documented, I am unable to access the dashboard for any sub-sites, and no styling loads for the sub-sites either (presumably it cna't find it's CSS and other associated files). I've had this working without issues previously (last year), so I dug up an older web.config file. There were two differences. The first was that the newer file does not have a line referencing ms-files.php (I'm guessing it's been obsoleted), and the second change was that this rule used to say {R:2} (which works), while it now says {R:1}. WordPress provides the code for the web.config file in the Settings > Network Setup Page. Hope this helps :)." ShaunLeeClarke Future Releases 24995 Importer does not check to see if DOM is available Import 3.6 normal normal WordPress.org defect (bug) new 2013-08-08T20:55:34Z 2017-02-21T09:11:58Z "I have a WordPress network with many blogs. I exported a few posts from one blog (export file attached with some details sanitized). I then imported the posts into another blog. Not only does the import probably do nothing, the '''/''blogname''/wp-admin/import.php''' page stops rendering after: {{{

    Import WordPress

    }}} That is, if you do a view source on the page, the above '''h2''' element is the last thing you see. Expected behavior: execution does not stop mid-page, and if there is an error, it is displayed for logged-in administrative users. I am logged in as a network administrator." novasource Future Releases 25006 Display date pages from categories with permalinks Permalinks normal normal feature request new close 2013-08-10T00:46:10Z 2019-06-04T20:44:39Z "When permalinks are not set up we can view posts from a specific category from a specific year (date), but if the permalinks are set up we can view only date pages or category pages. This works: `site.com/?cat=1&m=201307` (works) This does not work: `site.com/category/uncategorized/2013/07` (does not work)" alexvorn2 Future Releases 25016 "XMLRPC method ""wp.getUsers"" not working correctly in Multisite" XML-RPC 3.5 normal normal defect (bug) assigned 2013-08-12T18:53:13Z 2019-06-05T06:39:20Z "Hi, I have been testing some functionality in our app which uses XMLRPC, and it appears that I've found a bug with how the ""wp.getUsers"" method works on WordPress.com blogs. Basically, the blog I'm testing this on has 3 administrators. Regardless of which one of those administrators' credentials I use, whenever we call the ""wp.getUsers"" method we ONLY get details for the SAME user back. So, if we have 3 admins ('admin1', 'admin2', 'admin2'), whenever 'admin1' queries for all users, they only get back 'admin1'. I also tried adding a different type of user, specifically an author, and then used any of the above-mentioned administrator credentials to try and retrieve info on that author, but nothing is returned. It should be noted that all the above functionality works as it should on self-hosted blog, just NOT on WordPress.com blogs. " dinomic Future Releases 25037 XML-RPC : Can't remove all the categories from a post by using metaWeblog.editPost XML-RPC 3.6 normal normal defect (bug) assigned 2013-08-14T17:41:00Z 2019-06-05T06:39:22Z "Seems that you can't remove all the categories from a post by calling mw_editPost. I tried both passing an empty array, or skipping the entry 'categories', in the content struct, but none of them worked. The post still has the previous categories attached to it." daniloercoli Future Releases 25076 CSS issue with native video player and flash fallback on full screen wonderboymusic Media 3.6 normal minor defect (bug) assigned 2013-08-18T21:02:34Z 2019-06-04T20:05:52Z "Hi, I noticed there's a bug with the CSS and the new native video player introduced in v3.6. This is how it looks when not using full screen: [[Image(http://img11.imageshack.us/img11/1374/g0n.png)]] And this is how it looks when using full screen: [[Image(http://img823.imageshack.us/img823/7278/qna.png)]] It automatically changes the color of the bar. This is the shortcode I'm using to show the video: {{{ [video src=""video.mp4"" width=""640"" height=""360"" autoplay=""true"" loop=""true""] }}} I tested this on a fresh WP 3.6 installation with Twenty Thirteen theme. This is the CSS: {{{ .mejs-container, .mejs-embed, .mejs-embed body { background: #464646; } .mejs-controls .mejs-time-rail .mejs-time-loaded { background: #21759b; } .mejs-controls .mejs-time-rail .mejs-time-current { background: #d54e21; } .me-cannotplay { width: auto !important; } }}} I also tested it on a post and on a page, happens the same on both." leandroprz Future Releases 25103 Submit buttons on form fields in the Add Media panel joedolson* Media 3.5 normal normal Future Release defect (bug) accepted 2013-08-20T21:23:11Z 2021-05-21T15:57:23Z "Splitting this out from #23561 There is no Go or Search button available to trigger the action for the search and filter input fields in the Add Media screen - both of which change the content of the panel below. For accessibility reasons the user should be in control of triggering the filtering." johnbillion Future Releases 25106 web.config for multisite configurations on IIS7 Rewrite Rules 3.5 normal normal defect (bug) new needs-unit-tests 2013-08-21T00:43:28Z 2019-06-04T21:08:57Z "The code that WordPress gives me for the web.config is incorrect. I downloaded the new 3.6 and this issue happened. I found the issue and solved it but wanted to let you know of this error as not many people run multisites on IIS7. So the rewrite code that was the issues is the following and was Rule 2 {{{ }}} what i can tell this is trying to do is if a user types in just ""domain.com/wp-admin"" that it would redirect them to ""domain.com/wp-admin/"" but the desired results did not happen. the above code would redirect you to ""domain.com/domain.com/wp-admin/"" which obviously would cause issues after the user logs in as the redirect_to would point to http://domain.com./domain.com/wp-admin/ which would cause an endless loop. To fix this problem you need to add a / to the beginning of the rewrite like so {{{ }}} that extra / before the wp-admin/ forces it to the root of the site.. now i am not sure what this would do to a site in a sub directory but im not in a sub directory so not an issue for me." mrevets Future Releases 25113 non-latin CPT rewrite slugs fail `wp_safe_redirect` Posts, Post Types 3.6 normal normal defect (bug) new 2013-08-21T20:37:36Z 2019-06-04T20:44:40Z "If you localize your custom post type rewrite slugs in non-latin language and pass it to `wp_safe_redirect` it will strip all non-latin characters and attempt to redirect to stripped location. This can be easely reproduced if your custom post type supports comments and you submit a comment from post type single page as `wp_safe_redirect` is called after comment submission." entr Future Releases 25122 First nav menu automatically adds all pages (including sub pages) but doesn't preserve page hierarchy nacin Menus 3.6 normal normal enhancement reopened 2013-08-23T06:20:33Z 2020-10-20T04:59:46Z "When you first visit {{{/wp-admin/nav-menus.php}}} in WordPress 3.6, if you don't already have a menu defined it automatically creates a new menu with all published pages in the menu. On sites with many published pages and particularly sites with multiple levels of pages (child/parent pages), all of those pages are added as top level nav menu items. (After the first menu is created, subsequent new menu requests create empty menus with no menu items in them). The functionality was introduced in [23441]. Previous versions (such as 3.5) didn't automatically create a new menu. Instead, when the first nav menu is automatically created I think we should either: 1. only add all top level pages by default, or 2. add all pages (including sub pages) but preserve the page hierarchy into the nav menu. My preference would be option 1." jamescollins Future Releases 25180 Make it possible to select only posts with comment_count > 0 Query 3.6 normal normal enhancement new 2013-08-29T17:03:00Z 2019-06-04T20:44:44Z May need this when #11398 goes in. wonderboymusic Future Releases 25190 Improve name/pagename query variable mapping Query normal normal enhancement new needs-unit-tests 2013-08-30T08:12:13Z 2019-06-04T20:44:46Z `WP_Query` performs some mappings from custom query variables to `pagename` and `name` for custom post types. This could be improved so that `pagename` is not used for hierarchical post types when a top-level item has been requested. We could also do some mappings between `pagename` and `name` in case the incorrect query variable was used (see #16323). duck_ Future Releases 25192 Leverage signup_id when working with $wpdb->signups Login and Registration normal normal enhancement new 2013-08-30T14:32:59Z 2019-06-04T20:06:00Z Followup to #15004 — we should leverage the new primary key where possible, when working with $wpdb->signups. nacin Future Releases 25219 DISALLOW_FILE_MODS shouldn't remove update notifications Upgrade/Install normal normal Future Release enhancement new 2013-09-02T20:09:11Z 2019-05-27T16:43:23Z "I think there are valid use cases where an admin would want to set `DISALLOW_FILE_MODS`, but still want to get the notifications when core/plugins/theme updates are available. Instead of using the built-in updater, some installs are setup to use svn:externals (or Git submodules) for updates, and others prefer to use wp-cli. In those cases, it's still very useful to get the notifications, because without them an admin has to remember to manually check for updated. That inevitably leads to situations where important security updates are missed for weeks or months, which makes the site vulnerable. I understand the logic behind removing the notifications -- because the admin can't actually take action on them through WordPress -- but I think that incorrectly assumes that the notices have no purpose if they can't be acted on from inside WordPress. The notifications are still very useful, even if the admin chooses a different method of actually installing the updates. My proposed solution is to introduce new meta capabilities for `view_core_updates`, `view_plugin_updates`, and `view_theme_updates`. This would add some granularity to the current approach, so we could distinguish between being able to ''know'' that updates are available, and being able to ''install'' them. The new meta caps would default to `manage_options`, so that all administrators could see them, regardless of `DISALLOW_FILE_MODS`. If that's undesirable, though, then they could map to their corresponding meta caps (`update_core`, etc) instead (and then be overridden via the `map_meta_cap` filter in order to enable the notifications)." iandunn Future Releases 25338 Comments of password-protected posts should not be shown to logged-in users without edit capability Comments normal normal enhancement new 2013-09-17T02:30:31Z 2019-06-04T19:24:16Z "Currently, if an user creates a password-protected post, Authors and lower roles cannot view the post neither on the front end nor in the backend, unless it was their own post (or they have the password). However, they can see comments of those posts while viewing edit-comments.php. Suggested that comments of password-protected posts should not be displayed to users without ability to view/edit the post in the admin." kraftbj Future Releases 25471 Allow wp_link_dialogue to open in contexts outside of the editor Editor 3.6.1 normal normal Future Release enhancement new 2013-10-02T22:35:38Z 2019-06-05T07:08:55Z "I use wp_link_dialogue within metaboxes to provide a nicer way for users to enter URL's. Its handy for say slideshows, or profiles that point to external sites. wp_link_dialogue works perfectly on pages where an editor instance exists, but on pages that don't have editor instances it fails due to wplink.js looking for the global wpActiveEditor var, which of course doesn't exist as there is no editor. Aside from the js error, invoking the dialogue on pages with no editor involves calling _WP_Editors::wp_link_dialog(); directly to output the required html which isn't ideal, or calling wp_editor and using css to hide it, which just seems lame. Ideally wp_link_dialogue should function independently of the editor. Approaches 1. Amend wplink.js to allow wpActiveEditor to be undefined and pass in a seperate value for textfield to the open method. Con is that wp_link_dialog() still has to be invoked with a call to _WP_Editors::wp_link_dialog() 2. Move wp_link_dialog into a seperate class, amend _WP_Editors to call this class and allow for a user defined textfield within wplink.js " we_tell Future Releases 25493 Sorting posts in ascending order of date at admin side wonderboymusic Posts, Post Types 3.1 normal normal defect (bug) reopened 2013-10-06T08:57:14Z 2019-06-04T20:44:49Z Posts are displayed in descending order of date in the admin side but if we click on date column header to sort it then again it is sorted in descending order of date instead it should be sorted in ascending order of date. vinod dalvi Future Releases 25585 Arabic stopwords comparison I18N 3.7 normal normal Future Release enhancement reopened needs-unit-tests 2013-10-13T14:49:30Z 2024-02-28T16:39:42Z "WordPress uses simple string comparison in WP_Query->parse_search_terms() function, which is fine for many languages but Arabic need more than that to provide a really smart search! There are some chars need to removed before the string comparison, like: Hamza http://en.wikipedia.org/wiki/Hamza Diacritics http://en.wikipedia.org/wiki/Arabic_diacritics Tāʼ marbūṭah http://en.wikipedia.org/wiki/Taw If this cannot be in core, Could you at least add some filters to do it ?!" alex-ye Future Releases 25616 Add a content length filter to wp_dashboard_recent_drafts() Administration normal normal enhancement new dev-feedback 2013-10-17T01:41:34Z 2019-06-04T19:24:26Z It would be nice to be able to change the length of the recent drafts content via a filter. The fixed value of 10 is too short for character count based users. tenpura Future Releases 25666 Pass perpetrating $handle to enqueue_script's _doing_it_wrong() call Script Loader normal normal enhancement new 2013-10-22T21:15:03Z 2019-06-04T21:09:11Z So the debug message for enqueueing resources at the proper time is helpful, but finding out which one of a site's plugins or theme can be a tedious task. I suggest we pass the $handle that triggered the warning to the output, so we know exactly where to look (since it references back to wp-includes/functions.php). bigdawggi Future Releases 25693 blog_charset should be checked for null values Charset 3.8 normal major defect (bug) new 2013-10-25T04:10:29Z 2019-06-04T19:24:29Z "We've encountered an error wherein a blog in a multisite network's `blog_charset` was nuked. This led to posts entered from the editor (visual and text) having random bits eaten. This was particularly pronounced when using text copied from Word documents. This is related to #23688, I think. It seems as though PHP 5.4 makes some weird assumptions when you have a blank/null charset. Suggest we check for null values and fall back to, say, UTF-8 if none is found. @grantlandram, @dkotter and I found this one under duress." ZaMoose Future Releases 25714 Notices with translation upgrade Upgrade/Install 3.7 normal normal defect (bug) new 2013-10-26T15:51:56Z 2019-06-04T21:09:22Z "Hello, There are some php notices when WordPress tries to upgrade translations if the file does not exist. As a result, the upgrade fails. {{{ Warning: copy(/volume1/web/screenfeed/wp-content/languages/themes/twentyeleven-fr_FR.po): failed to open stream: Permission denied in /volume1/web/screenfeed/wp-admin/includes/class-wp-filesystem-direct.php on line 217 }}} In this case, these are the upgrades for TwentyTen and TwentyEleven: while the themes exist in the folder ''wp-content/themes'', the .po and .mo files in the folder ''wp-content/languages/themes'' don't. Regards. Greg" GregLone Future Releases 25741 Broken WP_Filesystem methods Filesystem API normal normal defect (bug) new 2013-10-28T03:18:03Z 2019-06-04T19:44:55Z "The following methods of WP_Filesystem do not work as intended, as they're called with absolute paths, and fail to find those absolute paths within the relative paths returned from the listing functions: * WP_Filesystem_FTPext * owner() * getchmod() * group() * WP_Filesystem_ftpsockets * owner() * getchmod() * group() It's worth noting that the following FTP methods are available but don't actually hit the filesystem, and are just there to match the `WP_Filesystem_Direct` methods: * is_readable() * is_writable() * atime() * touch() Attached is a patch I had locally from during 3.7 development, not thoughly tested, I believe WP_Filesystem_FTPext::owner() at least needs extra work. The patch also removes the above methods from the FTP classes and relies upon the `WP_Filesystem_Base` versions - as a result, the is_writable() and is_readable() methods changed to assume things are readable/writable." dd32 Future Releases 25765 Directory of users, listing with the role Users normal normal enhancement new 2013-10-30T00:35:07Z 2019-06-05T06:39:33Z It took me a list of users, with a large site with many levels to know what are administrators, a simple list and still continue seeing the other functions. valeriosza Future Releases 25785 Unexpected Paragraph Formatting Within a Div Container Formatting 3.7 normal normal defect (bug) new needs-unit-tests 2013-10-31T02:01:15Z 2019-06-04T19:44:59Z "Though HTML mode in WordPress allows for the user to add in their own CSS styling and HTML content formatting if necessary, its normal behavior also makes it auto-format paragraph breaks without the user's input of paragraph tags. This is EXPECTED behavior. I have discovered that in this specific manner of formatting when writing a post or page (note the LACK of spacing between the div tag and the content and the multiple paragraphs): {{{
    Insert FIRST PARAGRAPH here. Insert SECOND PARAGRAPH here.
    }}} The end result (both visually and looking at the source code) is that there is a MISSING opening paragraph tag at the beginning of the first paragraph right after the opening div tag. IF the user adds their own spacing between the divs and the content, paragraph formatting with happen on its own, but if the user doesn't add in the spacing and starts the paragraphed content right after the div like in the example above, the first paragraph tag isn't automatically added in. For a screenshot of the end result source code that is generated (with the missing opening paragraph tag), please see the attached file. Cheers!" EMG Future Releases 25798 Certain single CPT items result in 404 since 3.7 Posts, Post Types 3.7 normal normal defect (bug) new needs-unit-tests 2013-11-01T14:58:10Z 2019-06-04T20:45:08Z "Related: #25749 The changes in [25182] to the query_var mapping of hierarchical post types have broken single permalinks in some cases, when Permalink setting is set to ""Post name"". To reproduce: 1. Register a post type as follows: {{{ register_post_type( 'bbg_test', array( // ... 'hierarchical' => true, 'public' => true, 'rewrite' => true, // any value other than false 'query_var' => false, // ... ) ); }}} 2. Set permalink settings to ""Post name"" (and flush) 3. Create a new post of the type above, and attempt to visit at the url `http://example.com/bbg_test/foo` (or whatever). Result: 404. 4. Change to any other permalink setting. Result: page loads as expected. Cause: When the CPT is registered with `'rewrite'` other than `false`, it passes the test at http://core.trac.wordpress.org/browser/tags/3.7/src/wp-includes/post.php#L1275. When it's hierarchical, it passes the test at line 1293. When, because `'query_var'` is set to `false`, the rewrite tag set on line 1294 is of the form 'post_type=bbg_test&pagename=foo' (instead of 'bbg_test=foo'). Then, when an item is loaded, during `WP::parse_request()`, it passes the `preg_match()` test here http://core.trac.wordpress.org/browser/tags/3.7/src/wp-includes/class-wp.php#L198, but a page (ie, an item with `post_type` 'page') is not found by `get_page_by_path()`, and as a result the correct rewrite rule is not matched. As noted, this is a regression in 3.7 [25182], before which `preg_match( '/pagename=\$matches...` wouldn't have matched. Obviously it's an edge case that (a) a post type is hierarchical AND has query_var set to false, and also (b) permalinks are set to ""Post name"", but it is a change in behavior that broke one of my plugins, and has been a bit of a bear to track down :) I'm going to set `query_var` to true for my purposes (no harm done on my end) but that may not be possible for others." boonebgorges Future Releases 25819 """ms_files_rewriting"" site option is not created during upgrades" Upgrade/Install 3.5 normal normal defect (bug) new 2013-11-04T20:04:24Z 2019-06-04T21:09:27Z "While testing an upgrade for a MU era multisite install from 3.1.4 -> 3.6.1 I discovered that the ""ms_files_rewriting"" site option was not being created. The attempt in `upgrade_network()`... {{{ if ( $wp_current_db_version < 21823 ) update_site_option( 'ms_files_rewriting', '1' ); } }}} ... is failing. I believe this has gone unnoticed since the default value is forced to `true` in wp-includes/ms-default-filters.php: {{{ // If the network upgrade hasn't run yet, assume ms-files.php rewriting is used. add_filter( 'default_site_option_ms_files_rewriting', '__return_true' ); }}} " gradyetc Future Releases 25820 [embed] shortcode can't be escaped like others Shortcodes normal minor defect (bug) new 2013-11-04T21:36:58Z 2019-06-04T21:09:30Z "WordPress allows the use of double brackets to escape shortcodes, so that entering `[[foo]]` in your page or post displays `[foo]`. This works great for most shortcodes, and is used in the following way on enclosed shortcodes: `[[foo]Hello![/foo]]` However, this feature fails when trying to use it with core's 'embed' shortcode. To replicate: Enter the following in a page or post: `[[embed]http://www.youtube.com/watch?v=YLO7tCdBVrA[/embed]]` What I expect to see: `[embed]http://www.youtube.com/watch?v=YLO7tCdBVrA[/embed]` What I really see: `(null)` (Apologies for the weird mix of [, ], and special characters here. had a hard time with getting the markup to render as I wanted.)" MadtownLems Future Releases 25851 post_content lost when inserting Posts with large base64-encoded images Formatting 3.8 low critical defect (bug) new 2013-11-06T18:15:11Z 2019-06-04T20:01:31Z "post_content will be silently blanked-out during a wp_insert_post() call that contains large base64-encoded images within Post HTML content. I've found the source of this problem to be the wp_pre_kses_less_than() function. In the scenario described above, the call to preg_replace_callback() fails, causing a NULL to be returned from wp_pre_kses_less_than(), instead of a string. In this case preg_replace_callback() returns NULL because of a PREG_BACKTRACK_LIMIT_ERROR. The error can be worked around by setting a higher pcre.backtrack_limit in php.ini, but I still consider this to be a bug because the wp_pre_kses_less_than() should at least emit a warning to the debug.log informing someone that there was an internal PHP error (silent in this case, regardless of error_reporting settings). Beyond this, the function should check the return value of preg_replace_callback(), and if it is NULL, perhaps consider returning the original string as it was passed by the caller, so the caller does not end up with unexpectedly empty post_content. Another option would be to look in to tweaking the regex so that it does need exceed the default resources as configured by pcre.backtrack_limit, which is 100000 by default. More info: http://www.php.net/manual/en/pcre.configuration.php#ini.pcre.backtrack-limit I have attached a file that shows how to re-produce this bug. Run the file via WP-CLI like so: wp eval-file wp_pre_kses_less_than_bug_repro.php I'm setting the Severity of this bug to critical, since it results in unexpected data loss." ctayloroomphinc Future Releases 25856 debug of wpautop function with Unit Tests Formatting 3.8 normal normal enhancement new 2013-11-07T03:04:23Z 2024-03-20T17:54:47Z "== Cleanup / Refactor of wpautop function == Upon review of the WordPress Trac needs-unit-test filter I saw that the wpautop function was needing both cleanup and unit tests. I have created a comprehensive test suite for the function that covers in my opinion the full breadth of use cases for the function. During this process I have been working on modifying the wpautop function to resolve out open defects and remove ''fix'' code that was placed to resolve an issue without resolving the underlying cause of the error. I've attached the following files for support of the changes. ''autop-20622.out'' --> OUTPUT from running the unit tests against current code base (revision 20622) ''autop-diff.out'' --> OUTPUT from running the unit test against modififed wpautop function as given in the diff. ''Autop.diff'' --> diff of changes made to the Autop test class :: Unit Tests ''formatting.diff'' --> diff of changes made to the formatting.php function file :: wpautop changes ''As a note I've added a trim call to the end of wpautop as it was always appending a new line, which I did not think was needed. This causes a good amount of test cases to fail as the expected output is not containing the additional new line given by current implementation.'' ---- == Enhancements / Fixes to wpautop function == 1. Corrected core logic to identify when double new lines wrap open or close block element tags due to nested block level elements. Original Logic adds \n\n before open tags and \n\n after close tags which allows for output of

    TEXT

    that is not correct, and had several patches implemented to attempt to fix. *Fixes :: Formatting of Lists, Nested Lists, orphaned

    tags 2. Added logic to not add
    tags after comments 3. Added logic to not convert \n for svg, math, style, select or script codes 4. Added logic to not format audio, video or object elements. This is implemented as the elements are in-line but can contain block level content for displaying in browsers that don't support the HTML5 elements. 5. case insensitive recognition of block tags 6. inclusion of variable re-naming as outlined in #25516 ---- == Overview of Tickets reviewed and covered by the Unit Tests == Ticket : Current Status : Summary #6877 : Closed : large posts causes empty return #3476 : Closed : Improper formatting of Object elements, additional
    and no ending

    #3669 : Closed : Don't insert

    tags inside of block elements that only contain inline elements/text #6809 : Closed : wpautop correctly handles auto

    of basic text #11024 : Closed : Incorrect handling of div tags with nested inline tags #1305 : Closed : Handling of blocks> #1706 : Closed :

    tags with attributes introduce additional
    #2285 : Closed : Strip excessive
    in content #2813 : Closed :
    elements added instead of
    #3007 : Closed : Spacing of text in block elments reveals improper handling of nested elements #3035 : Closed : Extra
    tags introduced in Object tags. #3238 : Closed : Dangling

    tags, no closing #3621 : Closed : Don't format new lines in Script and Object tags #3854 : Closed : Don't format new lines in Script and Style tags #3935 : Closed (wf) : Erroneous

    tags added to the content '''has fix''' #3952 : Closed : Don't autop hr tags #5250 : OPEN : incorrect handling of lists + nested Lists '''has fix''' #7937 : Closed : incorrect handling of inline tags #7988 : Closed (wf) : incorrect handling of nested tags '''has fix''' #8644 : Closed : HTML5 block elements #10033 : OPEN : autop does not handle Comments '''has fix''' *also contains wptexturize details that I am not sure are fully closed out. #11257 : Closed : autop errors out on large content #11678 : OPEN : autop does not recognize upper tags '''has fix''' #13340 : OPEN : nested MATH tag handling '''has fix''' #2833 : OPEN : No formating Style and Script tags '''has fix''' #4298 : Accepted : handling of tags with attributes on new lines '''fix already existed''' #3833 : OPEN : incorrect

    tags in block elements (explicitly blockquote) '''has fix''' #6041 : Closed : incorrect handling of DL lists and DT,DD elements #9437 : OPEN : dont modify SVG content '''has fix''' #10247 : Closed : no new lines in Video, Audio, Source #4857 : OPEN : incorrect autop logic '''has fix''' #15918 : OPEN : incorrect handling of nested tags '''has fix''' #16456 : Closed : input is not block level #3054 : Closed : input is not block level #16790 : Reviewing : functional specifications '''can close''' #18534 : Closed : noscript are block level #20444 : OPEN : Single line handling (nested block level issue) '''has fix''' #18136 : OPEN : extra

    tags being added due to white space '''has fix''' #23135 : OPEN : block element filter '''close as won't fix''' #18807 : Closed : samp is not block level #25516 : OPEN : variable name changes '''changes included''' #9305 : Closed : handling of empty content #6218 : Closed : handling of empty content #11947 : Closed : no formating of select options '''has fix''' #12335 : Closed : HTML5 Block Elements == Tickets concerning ShortCode handling == Ticket : Current Status #12061 : OPEN #6984 : OPEN #21689 : OPEN #24085 : OPEN #24846 : OPEN ''Currently the wpautop function does not concern itself with shortcodes. I suggest that 12061 remain open as a future enhancement and that other tickets can be closed referending 12061 unless there is issues with '''shortcode_unatop''' or other functions used.'' == Tickets Reviewed but Ignored/ Not Tested/ Duplicate == '''Ticket''' : '''Current Status''' : '''Summary''' #11249 : Closed : standalone function #10490 : Closed : Duplicate of #10082 #9218 : Closed : Duplicate of #4298 #19934 : Closed : Duplicate of #16456 #18330 : Rejected : Enhancement #18514 : Rejected : Enhancement #23858 : Closed : Duplicate of #18807 #23375 : Closed : Duplicate of #18807 " mdbitz Future Releases 25886 Sortable items gets stuck when dragging over TinyMCE Editor normal normal Awaiting Review defect (bug) new 2013-11-08T22:37:45Z 2020-11-24T06:09:01Z "When dragging a metabox over an active TinyMCE instance in a post/page edit screen, the metabox can get ""stuck"" (i.e., it stopping moving with the mouse). This only happens with TinyMCE and not the ""Text"" textarea. '''To reproduce:''' 1. Uninstall plugins 1. Install a default theme (I used Twenty Thirteen) 1. Go to ''Pages > Add New'' 1. If it is not activated already, click the ""Visual"" tab to activate the TinyMCE instance 1. Grab the featured image metabox to activate the sortable (i.e., drag and drop) functionality 1. Move the box over the TinyMCE area 1. Continual movement over the area will cause it to get stuck The following screen grab shows how the cursor separates from the metabox as it gets stuck: [[Image(http://f.cl.ly/items/0j2s0f2f2D3M2e393P3K/Screen%20Shot%202013-11-08%20at%202.33.36%20PM.png)]] It's kinda hard to understand it with that image, so here's a movie that shows the issue: http://f.cl.ly/items/1B151E3N0i3j092Z062m/broken-drag-and-drop.mov I have tested this in Safari, Firefox, and Chrome on OS X. All browsers produce the same issue. The issue persists with MP6 as well." tollmanz Future Releases 25927 Remove the theme information from style.css and add a theme manifest file Themes 3.7.1 normal normal feature request reopened dev-feedback 2013-11-12T17:31:31Z 2019-06-04T21:09:32Z "Currently the metadata related to a theme is store in a comment at the top of style.css. I argue this is not a clean separation of concerns, yes .css files can contain semantic information to help the reader navigate the file, but using it to store metadata is bad practice. I propose creating a theme manifest file that sits at the root of the theme directory and contains all the metadata related to the theme that's currently at the top of style.css, things like the name, author, etc. but it could also contain a file list for the theme with a few lines about the files usage. Externalising the metadata and adding more contextual information will greatly improve developers ability to hack on top of others themes and understand their rationale for certain decisions." jolyonruss Future Releases 26050 Continual Admin Page POST (HeartBeats?) Can Cause SQL Connection Issues Administration 3.6 normal normal defect (bug) new 2013-11-15T19:14:10Z 2024-03-20T21:04:50Z "The admin pages (/wp-admin/widget.php, /wp-admin/index.php, etc..) will continually POST to admin-ajax.php ever 2.5-3 min. If multiple admin pages are open for long periods of time(ex. over night) the SQL Connections associated with the POSTs will begin to progressively have longer sleep times. I have seen MYSQL Connecitons Sleep upwards of 45 seconds from these POSTs. This ultimately cause my Server/Account to be shutdown by my host due to the long sleep time taking up connections for no reason. I wouldn't expect the Connections to progressively sleep longer. I was surprised to find that the pages were Sending POSTs even when they were not being used(before I knew about the heartbeat api). Is this the expected experience/results? Should there be a sleep setting on these POSTs to stop after a given time frame? Or can all of these be rolled into 1 POST? To Reproduce: Open up the following in their own tabs: /wp-admin/widgets.php, /wp-admin/index.php, /wp-admin/theme.php, /wp-admin/theme-edit.php, /wp-admin/plugins.php, /wp-admin/post.php Verify they are making post requests ever 2.5-3min, I use Tamper Data add-on for firefox, but fiddler or any other http collector will do. In MYSQL watch the connections by using the command: show full processlist; run the SQL command as soon as you see the POST occur in tamper data or fiddler. Notice the Sleep and time is 0 for the POST request. you might not see it in the process list at first since it is so quick. Once POSTs are occuring ever few min and MySQL is setup to view processes/connections leave the pages open over night. Then test again in the morning by viewing the processlist once you see a POST submitted. It usually easiest to see when post are submitted around the same time. You will notice the sleep time has increased and you will also notice that the response times for the POSTs have increased. I reproduced this on twenty-thirteen theme with all plugins deactivated and using firefox." optimized-marketing.com Future Releases 26112 Available widgets drag-and-drop causes trouble on touch devices Widgets normal normal enhancement new 2013-11-19T15:57:32Z 2019-06-05T06:39:35Z "Now that we have click-to-add for available widgets, I think it makes sense to disable the drag-and-drop for available widgets on touch devices. The interaction tends to cause troubles on touch devices when you intend to scroll through the list of widgets, and instead initiate the draggable. Since active and inactive widgets don't have any alternative for reordering, we can keep the draggable interaction there on touch devices — but maybe we should think of a new way of reordering these widgets without requiring drag-and-drop." shaunandrews Future Releases 26113 Create a WordPress-specific, dependable reference to the WP-bundled jQuery object. Script Loader normal normal defect (bug) new 2013-11-19T16:46:11Z 2019-06-04T21:09:37Z "When enqueueing jQuery for use on the front end of a site in a plugin or theme, a common concern is that the theme or another plugin has injected its own version of jQuery (probably an older version). This causes no end of support headaches for me as a plugin author. I've recently taken drastic measures in one of my plugins: I'm hooking in to `wp_enqueue_scripts` at -9999 and starting a buffer, then collecting it at `wp_head` 9999. I'm looking for the WP-included jQuery script tag, and then inserting this immediately after it: `` Then in my JS, I do: {{{ ;(function (w) { var jQ = w.jQueryWP || w.jQuery; // my jQuery code here, using jQ })(window); }}} I think that having a dependable reference to WP's jQuery object would be quite useful. One way to solve it would be to just add the line to our copy of jQuery. But that will cause issues with people who use well-behaved CDN plugins to swap out WP's jQuery for a Google-hosted copy of jQuery (note: THE SAME VERSION). So maybe a better way to do it would be to create a way to append inline JS code immediately after the inclusion of a particular script handle. We could then do what I'm doing in my plugin, but without the nasty PHP output buffers. " markjaquith Future Releases 26247 Importer fails when importing from a server on a private network Import normal normal WordPress.org defect (bug) new 2013-11-25T22:18:00Z 2018-03-02T17:08:23Z "WordPress import (using the wordpress-importer plugin) does not work correctly if both machines are on the same private network. Text content imports, but all media imports fail. I have traced the problem down to a test that is done in wp-includes/http.php. Though i am not deeply familiar with the WordPress code base, the test seems unnecessary to me, and if it is commented out then the import function will behave as expected. I have included a patch against WordPress 3.6.1 that demonstrates where the problematic test is and resolves the issue." dramaley Future Releases 26311 Updated (responsive) Tools -> Export admin screen Export 3.8 normal normal Awaiting Review enhancement new 2013-11-29T05:02:40Z 2019-02-26T02:25:27Z "Updated Tools -> Export admin screen Switched from un-ordered lists based html to tables based HTML based on Permalinks admin screen. ''No javascript was harmed in this patch...'' " netweb Future Releases 26318 XMLRPC wp.uploadFile fails to place media in sub blogs XML-RPC 3.7.1 normal normal defect (bug) new 2013-11-29T12:02:39Z 2019-06-05T06:39:38Z "Using an XMLRPC call to mw_newMediaObject, uploaded files do not land in the media library of the target blog, for example blog_id 2. The uploaded files always land in the wp-content/uploads/yyyy/mm folder. And they also appear in the media library for that blog too, via the UI. If you trace the blog_ID to class-wp-xmlrpc-server.php you can see the method is receiving the correct value (eg. 2) at that point. This affects (at least) a subdomain-type of installation. The htaccess is standard from the WP codex. Occurs when blog_ID is passed to the rpc thus: {{{ require_once 'IXR_Library.php'; $client = new IXR_Client('http://my-site.com/xmlrpc.php'); $params = array('name' => 'imgfile.png', 'type' => 'image/png', 'bits' => new IXR_Base64($bits), 'overwrite' => false); $client->query('wp.uploadFile',2, 'admin', 'password', $params); }}} The xmlrpc returns a packet containing this data: {{{ array ( 'id' => '30', 'file' => 'test2_889047515_2.png', 'url' => 'http://my-site.com/wp-content/uploads/2013/11/imgfile.png', 'type' => 'image/png', ) }}} " daki-san Future Releases 26409 Non-Editors can create (non-hierarchical) terms even though they can't manage_terms Taxonomy 3.0 normal normal Future Release defect (bug) new 2013-12-04T20:44:05Z 2018-02-03T13:38:48Z "When a taxonomy is registered, the `$default_caps` are: {{{ 'manage_terms' => 'manage_categories', 'edit_terms' => 'manage_categories', 'delete_terms' => 'manage_categories', 'assign_terms' => 'edit_posts', }}} This should mean that Authors and Contributors should not be able to create new terms because they (normally) do not have the `manage_categories` capability. For hierarchical taxonomies (like categories), the UI for creating new terms is removed from the metabox. However, for non-hierarchical taxonomies (like tags), the UI does not change based on whether the they can `manage_categories` or not: they can still enter arbitrary terms and add them, and when saving the post, the new terms get created. This seems wrong. There should be `current_user_can( $taxonomy->caps->manage_terms )` checks done when saving a post, and the UI should be updated to prevent new terms from seeming to be accepted. The `ajax-tag-search` could be used to determine if the entered tag exists, and only allow it to be added if it does." westonruter Future Releases 26474 Add Filter to Username/Password Fields on Login Form? Login and Registration 3.8 normal normal Awaiting Review enhancement new dev-feedback 2013-12-07T18:06:49Z 2017-05-13T21:39:09Z "As a state institution, we are required to remain PCI-compliant. One of the areas we've been dinged in scans in the past, albeit an area that they consider ""low risk"", is the fact that the username and password fields allow autocomplete. I understand that it's probably not preferable for everyone using WordPress to have autocomplete turned off on those fields, but it would be nice if it was simple to at least filter those fields to turn it off (or, at the very least, add that as one of the ""args"" that are used when the form is built). This should obviously be used both in wp-login.php and in the `wp_login_form` function within wp-includes/general-template.php I'm happy to work up a patch for this if this is something that might be supported. Thanks." cgrymala Future Releases 26504 Semantic elements for non-link links joedolson* Administration 3.8 normal normal Future Release task (blessed) accepted 2013-12-09T14:29:18Z 2024-01-30T15:12:56Z "Using the [http://heydonworks.com/revenge_css_bookmarklet/ revenge.css bookmarklet] on the dashboard gives a very [http://d.pr/i/yVYh clear indication] that some of the links on there are semantically incorrect - they should be buttons, even if they should look like links. The Actual Buttons Are Actual section of this [http://coding.smashingmagazine.com/2013/08/20/semantic-css-with-intelligent-selectors/ article] sums it up nicely why. Unless the accessibility team have indicated otherwise, each of the 74+ occurrences (only counting PHP files, more in JS files) of links with `href=""#""` should probably be a ` // Basic CSS: .no-button { background: none; border: none; color: #0074a2; } .no-button:hover { color: #2EA2C9; cursor: pointer; } " GaryJ Future Releases 26524 Quick edit form looks strange for localized version Quick/Bulk Edit 3.8 normal normal defect (bug) new 2013-12-10T18:32:50Z 2024-02-25T19:47:57Z Please see attached screesnhot. pavelevap Future Releases 26546 themes.php Buttons Randomly Appear/Disappear on iPad Themes 3.8 normal normal defect (bug) new reporter-feedback 2013-12-11T20:31:24Z 2019-06-04T21:09:53Z This was patched for #26481 but that patch didn't work. miqrogroove Future Releases 26649 escaped shortcodes should not be expanded during 'get_the_excerpt' Shortcodes 3.7.1 normal normal defect (bug) reopened needs-unit-tests 2013-12-16T15:13:48Z 2019-06-04T21:10:00Z "It is possible for ""the_content"" filter to be invoked while processing ""get_the_excerpt"". If the do_shortcodes() filter hook is attached to both ""the_content"" and ""get_the_excerpt"" then this can lead to an unexpected expansion of an escaped shortcode. This can lead to unwanted side effects, as reported here. http://www.oik-plugins.com/2013/12/escaped-shortcodes-unexpectedly-expanded-get_the_excerpt/ This minor problem can be alleviated by a simple change to strip_shortcode_tag(), returning the HTML code [ as the first character rather than the left square bracket. {{{ function strip_shortcode_tag( $m ) { // allow [[foo]] syntax for escaping a tag if ( $m[1] == '[' && $m[6] == ']' ) { return ""["" . substr($m[0], 2, -1) ; } return $m[1] . $m[6]; } }}} I don't believe that it's necessary to make the same change in do_shortcode_tag(). " bobbingwide Future Releases 26691 Admin Color Schemes: generic classes for colors Administration 3.8 normal normal Future Release enhancement new 2013-12-20T15:59:01Z 2020-09-19T06:53:21Z "Our team is trying to adapt our plugin to the new admin color schemes. It would be great if we could have generic CSS class declarations that allow us to apply the current scheme's background/text colors to our elements. Something like .admin-color-flat .sidebar-background-color{ background-color: #.... } .admin-color-vineyard .sidebar-background-color{ background-color: #.... } This would allow plugin developers to leverage those schemes without having to reinvent the wheel every time, and would make their plugins adapt to any third-party color scheme people may be using on their site. WordPress already adds the current color schema class to the body tag. But then I don't see anything in the CSS that I could use to recycle, let's say, the admin sidebar current background color and use it as the background color for my metabox headers. Yes, I could do this in jQuery, but I was hoping for a pure CSS approach. " coolmann Future Releases 26695 Themes: add support for multiple screenshots in themes Themes 3.8 normal normal Future Release enhancement new dev-feedback 2013-12-20T20:08:43Z 2020-08-14T05:06:12Z "We left this out from the THX merge due to priorities. Let's bring them back. Previously: #20546. * Method to get an array with all the screenshots with a maximum of 5. * Pass this data to {{{wp_prepare_themes_for_js}}}. * Adjust template to loop through all the screenshots (if available) and render them. * Set up a simple JS gallery with thumbnails on the detailed view of a theme. Array begins with screenshot.png as the first item, then continues with screenshot-2.png." matveb Future Releases 26710 Wrong redirect URL after core update when WP is in subdirectory Upgrade/Install 3.8 normal normal defect (bug) new 2013-12-24T11:05:58Z 2019-06-04T21:10:06Z "When updating WP 3.7.1 to 3.8 on a WP install that is located in a subdirectory (using the ""Giving WordPress Its Own Directory"" method), after the update, the browser forwards to a non-existing URL which causes a 404 error. In this configuration, in the wp-config file, WP_SITEURL is set to example.com/wp and WP_HOME to example.com. The update is triggered from the admin area located at example.com/wp/wp-admin/update-core.php When the update finishes, instead of forwarding to example.com/wp/wp-admin/about.php?updated, it sends the user to example.com/wp-admin/about.php?updated. Because of the missing subdirectory, this displays a 404 error. Upon returning to the dashboard, the user will notice that the update has been correctly applied, but he won't ever see the ""Welcome to 3.8"" page." tar.gz Future Releases 26723 Twenty Fourteen: Hatom Errors Bundled Theme 3.8 low normal Future Release defect (bug) reopened 2013-12-26T14:50:13Z 2022-07-08T17:17:26Z "Greetings. Getting this on Google's Structured Data Testing tool. Extracted structured data hatom-feed hatom-entry: Error: At least one field must be set for HatomEntry. Error: Missing required field ""entry-title"". Error: Missing required field ""updated"". Error: Missing required hCard ""author"". The 1st two are caused by using WordPress with a static home page, this started with the 3.8 release. I am using a theme designed in Artisteer that worked fine before the 3.8 release. Artisteer is no help pointing the finger at WordPress. Activating WP 2014 theme solves the 1st 2 errors but the below still shows. Error: Missing required field ""updated"". Error: Missing required hCard ""author"". The second two have been present showing as ""Warnings"" in self hosted WordPress sites for a long time. However since a recent Google algorithm chance those warnings are now Errors. An announcement from Google. http://googlewebmastercentral.blogspot.com/2013/12/structured-data-dashboard-new-markup_12.html Below is a screen shot of one of my sites Google webmaster tools accounts. http://www.doc1952.com/hatom-errors.jpg All of my sites structured data thumbnails have disappeared from search results. I have posted about this situation in the WordPress forums with no help so far. http://wordpress.org/support/topic/google-structured-data-missing-required-field-authorship-thumbnails-gone?replies=10 Thanks for your help with this. Ed Koon www.doc2014.com " fidosysop Future Releases 26759 New Generic Sanitize Functions for Core Formatting 3.8 normal normal enhancement new dev-feedback 2014-01-02T17:54:48Z 2019-06-04T19:45:16Z "Core currently supplies a number of sanitize functions: {{{ sanitize_email() sanitize_file_name() sanitize_html_class() sanitize_key() sanitize_meta() sanitize_mime_type() sanitize_option() sanitize_sql_orderby() sanitize_post_field() sanitize_text_field() sanitize_title() sanitize_title_for_query() sanitize_title_with_dashes() sanitize_user() }}} They all sanitize by usage, not by data type. As such, I (and I suspect others) wind up using these to escape things they weren't initially meant for -- for the sake of brevity, and it's just quicker and leads to tidier code. I believe it could result in better and simpler sanitizing if we were to include sanitize-by-format functions in core. For example, {{{ wp_sanitize_numeric( $raw ); // [\d] wp_sanitize_numeric_float( $raw ); // [\d\.,] allowing both commas and periods as decimal indicator and thousands seperator wp_sanitize_hex( $raw ); // [\da-f] case-insensitive wp_sanitize_alphanumeric( $raw ); // [\da-z] case-insensitive wp_sanitize_letters( $raw ); // [a-z] case-insensitive wp_sanitize( $raw, $regex ); // uses passed in regex to determine what to strip. }}} The specific functions to use are up for discussion. I'm just hoping to make it simpler for users to sanitize data by expected type. As a side note, this will let folks use `wp_sanitize_numeric()` to sanitize integers larger than `PHP_INT_MAX` -- which tumblr and twitter IDs often happen to be for imports and feeds and the like (as casting to `(int)` isn't a good idea)." georgestephanis Future Releases 26807 Comments on private posts should also be private in admin depending on role Role/Capability 3.1 normal normal defect (bug) new 2014-01-10T14:54:51Z 2019-06-04T21:10:07Z "Repro: 1. As user X, create a private post. 2. As user X, add a comment to the private post. 3. As user Y with Contributor role, go to the comment listing screen. Actual Result: Contributor user Y can see the post in the listing. Expected: Comments on private posts should not be visible to users who don't have elevated capabilities. There's a potential here for information disclosure, as when a comment quotes content from the private post. There's already a cap check in `WP_Comments_List_Table::single_row()`, so it seems like we could suppress display as well based on that check (in fact, I did so to test), though working out the counts for display above the table and for pagination will likely be a little more involved." dllh Future Releases 26822 During upgrade, no errors thrown when file permissions are wrong Upgrade/Install normal normal defect (bug) new 2014-01-13T10:58:08Z 2019-06-04T21:10:10Z "I am, for the first time, attempting a Wordpress auto-upgrade. I was quite shocked to immediately see an FTP credentials dialog, as these credentials I treat as secret and do not wish to randomly spew them into the system that theoretically should simply be able to modify itself -- if filesystem permissions were proper. I wish to see an error message ""tried X, failed, exact failure error message, now trying FTP"" A number of current chatters in #wordpress on FreeNode state that this is actually not an error -- a position I vehemently disagree with. If _any_ operation fails, in the due-course of a program, SOMETHING should elaborate this within the normal course of execution for the task, especially the app itself that cannot write its own files. I would much rather like to see this from within the app updating itself, and not have to deduce it via any number of other, less-obvious methods, such as error logs on the server, filesystem access denial audits, etc. " mystica555 Future Releases 26842 Contenteditable, multiple spaces,  , and U+00A0 Formatting 4.7 normal normal Future Release defect (bug) new needs-unit-tests 2014-01-15T17:03:31Z 2020-09-04T18:52:17Z "In contenteditable mode when the user types multiple spaces (ASCII char 32, U+0020) they are preserved. The browsers insert ` ` as every other character, the string is `      ` etc. In WordPress TinyMCE is set to {{{ 'entities' => '38,amp,60,lt,62,gt', 'entity_encoding' => 'raw', }}} Anything other than the three basic ""htmlspecialchars"" `&`, `<` and `>` is outputted as UTF-8 when serializing the DOM. This outputs the (multiple) ` ` as U+00A0 which in PHP shows as `0xC2 0xA0`([http://en.wikipedia.org/wiki/Non-breaking_space reference]). A problem with `0xC2 0xA0` is that in PHP the regex `\s` matches `0xA0` in certain cases, fails to match the ""white space"", breaks the UTF char, and sometimes leaves an `Â` behind. One example is wptexturize(), see #22692. Another problem is that the user is not aware there are multiple ` ` when looking in the Text editor or the html source, as U+00A0 are ""invisible""." azaozz Future Releases 26848 Image thumbnail on large images with ratio of 4:1 markoheijnen Media 3.8 normal minor defect (bug) assigned 2014-01-16T16:12:43Z 2019-06-04T20:06:26Z "I have been running into this issue on WordPress 3.7.1 and 3.8. I haven't tested it in older versions. I'm uploading an image that's 2000px x 500px. The theme uses add_image_size for a variety of different thumbnail sizes but the only one that's an issue is 480px. The URL to the thumbnail is being retrieved with wp_get_attachment_image_src( $thumbnail_id, 'mobile' ) for use with some CSS. Chrome is recognising it as a 1px x 1px image with a MIME type of image/png. When you open the image URL it appears correctly. '''Steps to reproduce:''' add_image_size( 'mobile', 480, 0, true ); in functions.php Upload a blank image at 2000px x 500px I also found in Chrome that when going to my uploads folder and selecting the image that's 480px x 120px I can't save the image with CMD SHIFT S yet I can with any of the other images. I have tried removing all plugins and using the default theme. The only modification I made was to add the image size. I changed the image library from libgd to imagemagick. Changing the image size from 480px to 479px works." nathan_dawson Future Releases 26858 Comment duplicate check has a slow query pbearne Database 2.0 normal normal Future Release defect (bug) assigned has-patch 2014-01-17T04:38:22Z 2024-03-21T17:22:47Z "When checking for duplicate comments, the query is pretty slow: {{{ SELECT comment_ID FROM wp_comments WHERE comment_post_ID = '1' AND comment_parent = '0' AND comment_approved != 'trash' AND ( comment_author = 'foo' OR comment_author_email = 'foo@bar.com' ) AND comment_content = 'some content' LIMIT 1; }}} This will use the comment_post_ID index, which means it will scan all comments on that post. For a post with thousands of comments, this starts to get slow. Instead, we should change `KEY comment_post_ID (comment_post_ID)` to `KEY comment_post_ID (comment_post_ID,comment_content(255))`, to cover this case. Props [http://www.mysqlperformanceblog.com/2014/01/16/analyzing-wordpress-mysql-queries-query-analytics/ MySQL Performance Blog] for finding this." pento Future Releases 26868 Function 'make_clickable()' doesn't make hyperlinks from explicit URLs using the `mailto:`, `tel:` and other schemes that do not start with `//` Formatting 3.8 normal normal enhancement new needs-unit-tests 2014-01-18T16:00:14Z 2019-06-04T19:45:21Z "Function `make_clickable()` tries to recognise URLs and convert these into clickable hyperlinks. The function is by default configured as a filter for comment text. Unfortunately, the function assumes that all explicitly declared URLs begin with the string `//` after the scheme and colon parts which is not the case for the `mailto:`, `tel:` and many other schemes. Such URLs could usefully be made clickable, especially for use on smartphones and tablets. This also leads to inconsistencies between explicitly and implicitly declared URLs. For example, the string `myemail@mydomain.com` is converted into a clickable hyperlink whilst the string `mailto:myemail@mydomain.com` is not. By contrast, the TinyMCE post editor correctly and automatically makes both implicit and explicit `mailto:` links clickable but does nothing with `tel:`. For reference, the syntax of URLs is defined by http://tools.ietf.org/html/std66, the `mailto:` scheme by http://tools.ietf.org/html/rfc6068 and that for `tel:` by http://tools.ietf.org/html/rfc3966. As #16892 has illustrated, parsing URLs can be hard. The use of `wp_allowed_protocols()` may help in detecting which strings we wish to make clickable. Found whilst testing #22946." mdgl Future Releases 26885 Path Based Multisite Rewrite rule absolute path without trailing slash Rewrite Rules 3.8 normal normal defect (bug) new 2014-01-20T16:06:31Z 2019-06-04T21:10:12Z "The .htaccess rewrite rules generator output the absolute path to the files, but there is missing a slash at the begining to use it as absolute. I've seen the same problem at http://wordpress.stackexchange.com/questions/77818/multisite-configuration-fails-with-css-js-files The solution is to make it relative, or to add a ""/"" at the beggining of the two rewrite rules. I think the .htaccess code generated can be fixed for future users." skalex Future Releases 26895 Deprecate recently_edited option Options, Meta APIs 3.8 normal minor enhancement new dev-feedback 2014-01-21T08:33:53Z 2019-06-04T20:45:22Z "recently_edited option is being set when a plugin or a theme file is edited by the builtin Editor. A search, in the WordPress 3.8 source code, tells me that the option is never being read. I suggest that we deprecate that option and replace it by an action where plugins can hook and get the value of the edited file." yani.iliev Future Releases 26905 Follow CSS coding standards for SASS/SCSS files netweb Build/Test Tools 3.8 normal normal Future Release defect (bug) assigned 2014-01-22T04:10:35Z 2017-04-07T03:17:11Z "My first glance at `_mixins.scss` caught my eye with formatting that doesn't match the existing [http://make.wordpress.org/core/handbook/coding-standards/css/ CSS Coding Standards]. If we start the files out with the right formatting now while they're relatively small and few in number, they'll be easier to maintain as we start breaking up the CSS files into smaller module SASS files. This might seem nitpicky now, but catching it early will help out in the long run." morganestes Future Releases 26935 Add empty submenu page to hide menu page title in list Menus 3.8 normal normal enhancement new 2014-01-25T07:46:30Z 2019-06-04T20:06:31Z "My question has to do with `add_menu_page()` and `add_submenu_page()`. If we add a menu page, and one sub_menu page.. we end up with the main menu page being duplicated in the sub pages list. If we have ""Main"" as our main page, and ""Sub"" as our sub page... {{{ add_menu_page('Main', 'Main', 'manage_options', 'main_options', array($this, 'main_do_page')); add_submenu_page('main_options', 'Sub', 'Sub', 'manage_options', 'sub_options', null); }}} This will create a menu structure such as: * Main * Main * Sub The ""Main"" page is duplicated in the sub list. Now, we can hide that duplication with a slight adjustment to the code: {{{ add_menu_page('Main', 'Main', 'manage_options', 'main_options', array($this, 'main_do_page')); add_submenu_page('main_options', 'Sub', 'Sub', 'manage_options', 'main_options', null); }}} By changing the fifth argument to match the ""Main"" page slug.. it will successfully hide the submenu; resulting in: * Main * Sub However... the issue with this... is a menu item still gets created in the generated html. The inner html is blank.. so no title is actually displayed.. but the outer html is still there. It appears in the submenu html output as such (with the second snippet above): {{{
  • Options
  • }}} See how the top item has the html for a list item.. but has no inner html? This creates a space, about 4 or 5 pixels.. in between the main item and the sub menu items. Now, I know this is trivial when there is only one menu item. But, now that I know it exists.. it is driving me nuts. 1. It results in unnecessary html output. 2. It results in a space in the menu item list.. which is faint, but unattractive... and hinders the visual appeal of the new admin panel. Could we perhaps first check if the `add_submenu_page()` fifth argument ($menu_slug) matches the `add_menu_page()` first argument ($page_title)... then the outer html wrapper doesn't get rendered? With space example(http://joshlobe.com/testsite/images/trac1) Without space example(http://joshlobe.com/testsite/images/trac2) Thank you for reading." josh401 Future Releases 26937 get_adjacent_post() should use WP_Query rather than build its own SQL query nacin Query 3.7 normal normal Future Release enhancement reopened 2014-01-25T18:51:47Z 2018-01-31T20:33:04Z "With the introduction of the `WP_Date_Query` through r25139, `get_adjacent_post()` no longer needs to build its own SQL to retrieve adjacent posts. By switching to `WP_Query`, we gain the benefit of its performance improvements, including native caching. The trickiest part of this change is maintaining support for the `get_{$adjacent}_post_join` and `get_{$adjacent}_post_where` filters currently applied to the SQL built in `get_adjacent_post()`." ethitter Future Releases 26940 Toolbar Search: Drop down instead of expanding Toolbar 3.8 normal normal Future Release enhancement new 2014-01-26T01:10:45Z 2021-06-09T15:30:41Z "Stop sliding the entire menu bar contents needlessly, when it would be simpler (and possibly better for accessibility -- less needless movement on the screen) to just drop down a field the way the search field works in twentyfourteen. This also makes the search more usable on a cluttered adminbar that's already prone to wrapping onto a second line. Patch is not intended as the final version -- final version would use admin-bar.js to attach the onfocus and onfocusout events -- this is just intended as a proof of concept for UX testing." georgestephanis Future Releases 26962 in wp-admin/profile.php no restoration filled if an error occurs fields. Users 2.0 normal normal enhancement new 2014-01-30T11:55:59Z 2019-06-05T06:39:41Z "I just saw that if the fields are filled and that we delete such a required fields (or causing an error in the syntax of email for example), no mechanism is in place to restore the information specified by the user, everything is reset. This mechanism is however in place in the ""wp-admin/user-new.php"" when we disable javascript." QuarkSEO Future Releases 26968 Theme Administration Screen: Not enough themes displayed at high resolutions Themes 3.8 normal normal defect (bug) new 2014-01-31T06:18:18Z 2019-06-04T21:10:22Z "I run a high resolution display (2560x1600) and not enough themes are displayed when you first visit the Themes page in the admin area. If you watch carefully, you can see them there and then they quickly disappear when the page finishes loading. It initially made me think that some of my themes weren't being recognized. If there are still more themes to load and display, then why are we showing the ""Add New Theme"" item? A tiny scroll makes them show up. Screenshot attached. There are actually more themes to be displayed than those shown in the screenshot. (Sorry if this is a dupe, I had trouble finding specific enough keywords to search on.)" Viper007Bond Future Releases 26969 Incorrect WP path set when creating a new site with wp in a subfolder Upgrade/Install 3.0 normal normal defect (bug) reopened 2014-01-31T09:10:01Z 2019-06-04T21:10:25Z If you create a site at / with wp located in /wp/, the installer creates the site with example.com/wp as the home url instead of the expected example.com. Denis-de-Bernardy Future Releases 26988 Need a Button to Cancel/Revert Page/Post Edits in Progress Editor 3.8 normal normal Future Release enhancement new 2014-02-01T22:21:17Z 2021-02-10T14:29:28Z "Currently, if you start editing a page or a post and change your mind, there is no way to easily revert those changes and it leads to a lot of confusion as as if you leave the page and come back, it will tell you that there is an auto save version. Sending to Trash makes no sense because it trashes your whole page. This is VERY confusing and user unfriendly, especially for new users of WP. There should be a ""revert"" or ""cancel"" button when editing that will get rid of current edits and take you back to the last, unedited version of the page/post." tomdryan Future Releases 27019 Redirect by page slug does not work in permalink structure /%category%/%postname%/ Permalinks 3.8.1 normal normal defect (bug) new 2014-02-05T08:44:36Z 2019-06-04T20:45:36Z "Wordpress has a feature to redirect by page slug. For ex. site with two pages: {{{ yoursite.com/pageone/pagetwo }}} With default permalink settings redirect works like this: {{{ yoursite.com/pagetwo -> yoursite.com/pageone/pagetwo yoursite.com/randomtext/pagetwo -> yoursite.com/pageone/pagetwo }}} With permalink structure '''/%category%/%postname%/''' redirection from root stops working: {{{ yoursite.com/pagetwo - 404 error }}} , but from non root ok: {{{ yoursite.com/randomtext/pagetwo -> yoursite.com/pageone/pagetwo }}} How to reproduce. Clean wordpress install. Create pages: ""pageone"", ""pagetwo"" with parent page ""pageone"". Try to open url: {{{ yoursite.com/pagetwo - 301 moved }}} Set custom permalink structure to '''/%category%/%postname%/'''. Try to open url: {{{ yoursite.com/pagetwo - 404 error, but 301 expected }}} I think, permalink structure is for post, not for pages. Am I right? After investigations I found, ""pagetwo"" in url ""yoursite.com/pagetwo"" detected as category name in class-wp.php/'''parse_request()'''. And later canonical.php/'''redirect_guess_404_permalink()''' does not try to find page by category name, only by get_query_var('name'), that is blank." dimagsv Future Releases 27079 Very long waiting if we have a lot taxonomy terms. Taxonomy normal normal enhancement new 2014-02-09T20:10:10Z 2024-03-21T17:31:27Z "I've observed a very very long waiting if we have a lot taxonomy terms (8K in my case) when i open a new post, my browser (Chrome 32) froze while 50 sec before to generate all
  • categories. Other problem, in my category taxonomy page who lists 20 first items per default (excellent for fast loading) BUT in same time, it generates the parent drop-down with ALL cats ! Same thing above, browser froze a few seconds.. Maybe would be interesting to use ajax instead ?" QuarkSEO Future Releases 27122 Optimization for PHP FPM General 3.8 normal normal enhancement new dev-feedback 2014-02-13T22:59:21Z 2019-06-04T19:45:25Z "This patch make {{{ wp_ob_end_flush_all }}} calling {{{ fastcgi_finish_request }}} instead of {{{ ob_end_flush }}} when php-fpm is used. {{{ fastcgi_finish_request }}} flush the buffers '''and''' close the connection. This tweak increases page speed. It also allows to run heavy tasks such as sending mail, writing logs or making complex calculations after the end of the request without slowing down the whole page load. Symfony uses this tweak too, see this PR FOR further details: https://github.com/symfony/symfony/issues/1180" dunglas Future Releases 27127 Improve plugin search on installed plugins page Administration 3.8 normal normal Awaiting Review enhancement new 2014-02-14T17:16:53Z 2024-03-22T14:43:38Z "If you have lots of plugins installed trying to find one in the installed plugin page is not quick. The search box is quite slow ( requires a page refresh ). Adding some JavaScript that transforms the current search box into a quickfind box would help solve this problem. As the user types a keyword the JavaScript searched across the displayed text for the plugin, only displaying the plugins that contain that keyword." enej Future Releases 27148 comments in page code converted to displayed text upon submission Editor 3.8 normal normal defect (bug) new 2014-02-18T18:02:15Z 2019-06-04T19:25:09Z "When editing a WP page in code/text view, comments inserted with """" display correctly (not shown) in the visual view, but when posted (submit or preview) get parsed to ""<!-- comment -->"" and are displayed publicly." wchapin Future Releases 27158 do_enclose() throws warnings when content_type is text/html and not audio or video Pings/Trackbacks 3.8.1 normal normal defect (bug) new needs-unit-tests 2014-02-19T17:25:58Z 2019-06-04T20:45:45Z "cron calls do_pings()/do_all_pings() which in turn goes on to do_enclose(). PHP Warning: strpos() expects parameter 1 to be string, array given in /var/vhost/site/wp-includes/functions.php on line 505 $url is valid, $type is ""text/html; charset=UTF-8"", $len is valid as well. $allowed_types is array(0=>video, 1=>audio) server environment: PHP 5.5.3-1ubuntu2.1 Apache 2.4.6 running WP 3.8.1, no multisite " tamas_dxw Future Releases 27165 Incorrect nonce supplied when authenticated session expires Login and Registration 3.8.1 normal minor defect (bug) new has-patch 2014-02-20T11:55:44Z 2019-06-04T20:06:52Z "I was using a nonce (with action name) for a nopriv ajax request and found nonce supplied via page load was invalid, whereas nonce supplied via ajax request was valid. This only occurs when admin area prompts to re-authenticate current user. In my system, a nonce (action 'xyz', say) is given via localize script to the client on page load. This nonce is then used to verify a subsequent nopriv ajax request. This request then responds with the latest nonce (for 'xyz') (which may be the same, of course) for any further ajax requests. However, I suddenly found that upon page reload, the nonce provided via localize script was invalid. Assuming this was a bug in my code, I commented out nonce verification in my action function. I then discovered that the ""new"" nonce being supplied in the ajax response was always different to the initial nonce despite the same action name being used in its creation. On further experimentation it became apparent that the nonce supplied by ajax response was valid and did verify with further ajax requests. I then found I had the admin area open in a separate tab and it was prompting me to re-authenticate. Upon logging back in the nonces realigned and worked again. tl;dr: Requests by ajax consider current user differently to fresh page load (for nonces at least) when in logged in limbo. The bug is that it shouldn't. It's a very minor issue but it was very confusing and took me quite some time to find the somewhat non-intuitive solution." joe_bopper Future Releases 27180 Remove Hidden Widget UI Widgets 3.8 normal normal defect (bug) new 2014-02-21T22:09:25Z 2019-06-05T06:39:44Z "I have come up with a issue with the new widget enhancements. The fact that we have to drag the widget a long way to move it to inactive status. On most screens this is below the visual area of the screen. Yet the only UI to collapse and expand the available widget area is hidden and you don't see it until your hover over text that doesn't appear or look like something you would hover over to see a user interaction. This makes it hard to us or even know it is their or available. The other UI issue also have to do with the widget placement as well. When you go to add a widget it asks you if which area do you want it added to. (For example: Main Widget Area or Secondary Widget Area) But when removing the widget the only options you have (without dragging them) is close and delete. There is no ""Move to Inactive"" Once a widget is in the Inactive Widgets area you can't add the widget via the button you once could in the new widget area. Can we have just one experience for both New and Inactive Widgets? I also have a Screencast which you can see here: http://f.cl.ly/items/0a293y0P363W1p0V2A11/Widget-Screen-Recording.mov " RDall Future Releases 27236 Custom Widgets lost when theme is re-activated while the widget plugin is inactive Widgets 3.8.1 normal normal defect (bug) new 2014-02-28T15:27:29Z 2019-06-05T06:39:46Z "It could be a rare issue for others, but it's a regular process for my use-case. Custom Widgets are no longer shown in the widget area when theme is de-activated and re-activated while the plugin that provided one of the widgets is inactive. Steps: (Assumes, twenty fourteen is active) 1. Install Slim Jetpack plugin (or any other plugin that provides a widget). I enabled the Extra Sidebar Widgets from Settings > Slim Jetpack. 2. Add one of the Slim Jetpack widgets to the ""Primary Sidebar"" for example ""Gravatar Profile (Jetpack)"". 3. De-active Slim Jetpack. 4. Activate ""Twenty Thirteen"" theme. 5. Activate ""Twenty Fourteen"" theme. 6. Activate ""Slim Jetpack"". Unfortunately, the custom widget is lost. If you had normally de-activated and re-activated Slim Jetpacks, the Primary Sidebar would be fine. If you had done 4 and 5 without 3, everything would be good. But doing the steps as above, the widget is no longer in the sidebar - not even under Inactive Widgets. " asadkn Future Releases 27244 'Restore This Autosave' immediately updates a published post Revisions normal normal Awaiting Review defect (bug) new 2014-02-28T23:43:29Z 2024-02-25T19:29:55Z "The ""Restore This Autosave"" button on the revisions screen immediately replaces the post with the autosave without making it clear that that is the case. Steps to reproduce: 1. Publish a post. 2. Edit the content of the post and trigger an autosave (either by waiting two minutes or by clicking the 'Preview Changes' button). 3. Navigate away from the post editing screen. 4. Return to the post editing screen and note the message stating ""There is an autosave of this post that is more recent than the version below"". Click ""View the autosave"". 5. On the revisions screen, click ""Restore This Autosave"". 6. Note that the autosave has been published rather than simply being restored to the editing screen." johnbillion Future Releases 27253 Enhancement Request: direct link to Drafts under Posts and Pages on the sidebar chriscct7 Posts, Post Types 3.8.1 normal normal enhancement assigned 2014-03-02T04:32:36Z 2019-06-04T20:45:53Z "It would be awesome if there were a link under posts and pages to get directly to Drafts. So, for example the sidebar would have: {{{ Pages All Pages Drafts Add New }}}" imanilea Future Releases 27276 wp_rewrite_rule does not update option when it's empty Rewrite Rules 3.7 normal normal defect (bug) new 2014-03-05T09:18:38Z 2019-06-04T21:10:32Z "This bug report about possible problems with situation when deleted options still present in cache. I'm using memcache so my cache is transistient. i've been adding rewrite_rule {{{ function duke_add_endpoints() { add_rewrite_rule('...','...'); global $wp_rewrite; $wp_rewrite->flush_rules(); } add_action( 'init', 'duke_add_endpoints'); }}} and discovered that i can't get it work because of it completely absence in further $wp_rewrite references. Intrigued by that fact (especialy with hard flushing) i've been lead to ''parse_request''of class-wp and due to it's {{{ $rewrite = $wp_rewrite->wp_rewrite_rules(); }}} i guided to '''wp_rewrite_rules''' method of wp-includes/rewrite.php where discovered that rewrite_rules option is loaded from wp_options but if it's not there - it loaded from cache (bacause of get_option behaviour). {{{ $alloptions = wp_load_alloptions(); if ( isset( $alloptions[$option] ) ) { $value = $alloptions[$option]; } else { $value = wp_cache_get( $option, 'options' ); if ( false === $value ) { $row = $wpdb->get_row(.... }}} Wondering why it was not overriden by flush_rules both in wp_options and in cache i've dig into '''flush_rules''' and discovered that it operates the same method {{{ function flush_rules($hard = true) { delete_option('rewrite_rules'); $this->wp_rewrite_rules(); ....... }}} but wait... IF THE REWRITE_RULES IS NOT IN THE WP_OPTION then it still taken from cache with previous value. {{{ function wp_rewrite_rules() { $this->rules = get_option('rewrite_rules'); ///at this point the value already deleted from table but still remains in cache so get_option returns OLD value till it remain in cache for indefinite time if ( empty($this->rules) ) { $this->matches = 'matches'; $this->rewrite_rules(); update_option('rewrite_rules', $this->rules); } return $this->rules; } }}} so if your rewrite rules not in table but in cache - they probably stuck there forever till cache gets cleared. i guess it has something to infere with delete_option and situation when cache is not cleared. but i guess it's next bug to catch. " mainpart Future Releases 27287 siteurl is missing WordPress path when creating a new site Networks and Sites normal normal defect (bug) new needs-unit-tests 2014-03-06T00:03:35Z 2019-06-04T20:06:59Z "Our setup is a single subdomain network. WordPress is installed to `/wp`, and we don't have rewrites configured to mask the subdirectory. On the initial install, `wp_install()` sets the value of `siteurl`based on `wp_guess_url()`. The main site ends up with these expected values: * `siteurl`: domain.com/wp * `home`: domain.com On subsequent creation of a new site, `install_blog()` incorrectly sets the option values for the new site to: * `siteurl`: domain.com * `home`: domain.com This means the admin loads, but CSS and resources are broken, until I update the `siteurl` option value to be ""domain.com/wp"". I'd expect `install_blog()` to follow the same behavior as `wp_install_blog()`. #23221 is related, although this suggested fix doesn't also fix that." danielbachhuber Future Releases 27404 Widget Customizer: Allow adding inactive widgets to widget areas melchoyce Widgets 3.9 normal normal Future Release feature request assigned 2014-03-13T21:24:35Z 2018-12-09T21:05:49Z "Currently a user may add new widget instances to widget areas in the customizer, and they may remove these widgets to send them to the inactive widgets area (aka widget trash). However, there is currently no way to restore these inactive widgets to widget areas without leaving the customizer and going to the widgets admin page. The widget addition panel should be extended to also list out inactive widgets. Originally reported at https://github.com/x-team/wp-widget-customizer/issues/46 Related: #39693" westonruter Future Releases 27405 Widget Customizer: Fade out sidebar sections that lack any rendered widgets Widgets 3.9 normal normal Awaiting Review enhancement new 2014-03-13T21:44:19Z 2017-06-07T00:24:28Z "Currently when there is a widget that is not rendered in the current URL being previewed (e.g. via Widget Visibility), the widget control in the customizer will become semi-transparent to indicate it is not being rendered. The same semi-transparent indicator would be useful for sidebars that are empty or which lack any rendered widgets. Originally reported in https://github.com/x-team/wp-widget-customizer/issues/76" westonruter Future Releases 27412 Category meta box: cannot see chosen subcategory if many items in subcategory Taxonomy 3.8 normal normal defect (bug) new 2014-03-14T06:34:02Z 2019-06-04T21:10:38Z "Hi there, if you have many items in a subcategory then you are not able to see that selected item in the meta box in admin unless it's alphabetically in the top 10 (or thereabouts) of the subcategorie items. The meta box only shows the parent, you will have to scroll down a lot to find the child too. In my eyes it would make sense to move the chosen items in subcategories directly under their parents, ignoring the alphabetical ordering, so that you are able to see what has been chosen. " landwire Future Releases 27425 Templates For Posts Formats Post Formats normal normal enhancement new dev-feedback 2014-03-15T18:16:18Z 2019-06-04T20:46:12Z "If I opt to use Custom Post Templates, then I can easily put a custom post template by putting a file named single-[name of the custom post], but that same feature is not available for the post formats. I love the post format feature in WordPress, and people just don't want to use that for some reasons, but this would really attract some of the audience to use the post formats. For example, a post with Audio format will first look for single-audio.php or single-audioformat.php or anything cuz it single-audio.php may effect the Audio Custom post type. What do you guys think of this idea?" hardeepasrani Future Releases 27473 Thickbox width and height parameters are ignored when using TB_iframe Administration 3.8 normal normal Awaiting Review defect (bug) new 2014-03-21T18:18:19Z 2021-12-17T21:11:56Z "I tried to load a thickbox with custom width and height parameters, like the codex says: ?TB_iframe=true&width=450&height=120 anyway regardsless of what values I use, custom with and height values are ignored. I debugged /wp-includes/js/thickbox/thickbox.js and parameters are read in correctly, anyway it does not have any effect when setting them for iframe-tag on line 198: jQuery(""#TB_window"").append(""
    ""+caption+""
    ""); I tried to add the following code to check if resize is possible: jQuery(""#TB_window"").css(""width"",""450""); jQuery(""#TB_window"").css(""height"",""120""); this failed generally (although it worked when executing the command in the browser console) " harmr Future Releases 27494 Posts page appears into search results Posts, Post Types 3.8.1 normal normal Future Release defect (bug) new close 2014-03-23T14:27:23Z 2020-03-03T22:50:07Z "Hi, if you set a static home page, so then a page for posts, this page is just a virtual page, because it doesn't have any content, just the title. But, if you search on the site for this title, the virtual page will be shown as search result. In my opinion this should be hidden." SGr33n Future Releases 27507 get_posts() not honoring post_status criteria Query 3.8.1 normal normal defect (bug) new 2014-03-25T05:49:53Z 2019-06-04T20:46:17Z "Toss in the following in a mu-plugin file to reproduce: {{{ $posts = get_posts(); var_dump($posts); }}} You'll get auto-drafts in the returned result set, instead of the expected published posts only (i.e. the default as set by `get_posts()`). I've traced the problem to this loop that calls `get_post_stati()` in the `WP_Query#get_posts()` method: {{{ foreach ( get_post_stati() as $status ) { if ( in_array( $status, $q_status ) ) { if ( 'private' == $status ) $p_status[] = ""$wpdb->posts.post_status = '$status'""; else $r_status[] = ""$wpdb->posts.post_status = '$status'""; } } }}} `get_post_stati()` latter relies on a global that isn't set yet. I'm suspicious that we should be calling it here to begin with. Assuming we should, I definitely don't think WP should silently return an empty array. It should cough a `_doing_it_wrong()` notice, and quite possibly even a warning. That being said: why aren't the built-in post statuses registered by the time plugins get loaded? Can't we register them earlier? (And: does the same apply to custom post types?)" Denis-de-Bernardy Future Releases 27511 "Upper ""Select All"" checkbox for list of plugins to update on update-core.php does not work on first click" Upgrade/Install 3.8.1 normal minor Awaiting Review defect (bug) reopened 2014-03-25T13:41:24Z 2018-03-05T14:02:43Z "(Minor annoyance) On the admin page: {{{ update-core.php }}} when there is a list of plugins with Updates Available, the first time you click on the ""Select All"" checkbox, it does not actually affect any of the checkboxes in the list. The first time it happened, I just thought it might be a one-time or install-specific occurrence. Then, I had to update a different WordPress install on the same cPanel server, in a different account. In both cases, I went to the equivalent ""Select All"" checkbox at the bottom of the list, and it worked on the first click. I then had to do updates on a VPS with a multisite install of Wordpress, and again the upper box did not work at first. However, I kept clicking it, and after about clicking it on, then off, then on again, the upper checkbox started affecting all the checkboxes in the list again. " vanjwilson Future Releases 27514 Weird focus/color behavior on touch devices (like iOS) Administration normal normal defect (bug) new 2014-03-25T16:50:00Z 2019-06-04T19:25:12Z "Using an iOS device, when you scroll and click on the sidebar, you can get buggy color behavior in the sidebar. Apparently Android works too. STR: * Open the admin interface on iOS * Touch to open the menu * Touch to navigate to the Comments screen * Touch to open the menu again * Touch ""Posts"" to open the sub menu At this point, I have three highlighted items: Dashboard, Posts, and Comments. In other scenarios, I can get sub menu items (like ""All Posts"") to be highlighted as well, mostly from scrolling up and down a bit. Screenshot of the worst case scenario attached (four highlighted things)." samuelsidler Future Releases 27543 Flyout submenu items can be hidden on Windows touch devices Administration 3.8 normal normal defect (bug) new 2014-03-27T06:08:29Z 2019-06-04T19:25:19Z "Spin out of #26482, specifically comment 5 and the related screenshot. The fly out submenus are broken on Surface. The patch in #26482 fixes that issue for iOS, but we should circle back and fix it for Surface." samuelsidler Future Releases 27670 Plugin Information tab - inaccesible without install_plugin capability Role/Capability 3.8.1 normal normal defect (bug) new dev-feedback 2014-04-04T14:01:03Z 2019-06-04T21:10:44Z "Hello, if I understand it correctly through the '''Plugin information tab''' you can also install/update plugins. But if you permit installing plugins with f.e. with add_cap(""install_plugins"", FALSE) to some user, whole '''Plugin information tab''' is '''unusable''' for him, so you cant view details, install update even if you are allowed to. I suppose the problem is in wp-admin/plugin-install.php where is {{{ if ( ! current_user_can('install_plugins') ) wp_die(__('You do not have sufficient permissions to install plugins on this site.')); }}} so maybe extending the condition above to something like this {{{ if (( ! current_user_can('install_plugins') ) && plugin_not_installed($plugin_name)) }}} could help? Thanks Jozef Repáň " FolioVision Future Releases 27733 wpautop(): \s in regex destroys some UTF-8 characters Formatting 0.71 normal major defect (bug) new needs-unit-tests 2014-04-09T09:17:39Z 2022-01-18T13:48:21Z "\s in preg_replace() incorrectly targets some UTF-8 characters. '''Steps to reproduce:''' 1. Create a post with {{{ ム new line }}} as a content. 2. It will be output as {{{


    new line

    }}} '''Quick Test:''' {{{ $pee = ""

    ム\n""; $pee = preg_replace('|(?)\s*\n|', ""
    \n"", $pee); echo $pee; // outputs


    \n }}} '''Solution:''' Use [\r\n\t ] rather than \s." tenpura Future Releases 27743 """Change role to..."" omitted from bottom of users table shown to single site admin in multi-site" Users 2.7 normal normal defect (bug) assigned 2014-04-09T21:01:48Z 2019-06-05T06:39:53Z "For more background, see multisite forum discussion [https://wordpress.org/support/topic/how-can-a-multisite-site-admin-change-a-users-role?replies=6#post-5437492] where the mod thought this might be worth a ticket. Browsing the current sources for trunk, I can see that the problem is present at line 206: [https://core.trac.wordpress.org/browser/trunk/src/wp-admin/includes/class-wp-users-list-table.php#L206] My personal feeling is that even for filtering controls, having them present in the line of controls at the top of tables but absent in the line at the bottom of the tables is not a good idea, but I'll concede that it's debatable. However, I believe that for this case of showing the ""Change role to..."" bulk action at the top of the users shown to single-site admins in a multi-site network, but omitting it from the bottom of the table, where it clearly ought to be present beside the Bulk Actions control, is a bug. The attached screenshot shows the problem (using 3.7.1). Deleting these lines from the trunk version of {{{class-wp-users-list-table.php}}} fixes the problem (tested in 3.7.1). " sootsnoot Future Releases 27758 WP_Error data is false in _unzip_file_ziparchive Upgrade/Install 3.7 normal normal defect (bug) new 2014-04-11T14:25:07Z 2019-06-04T21:10:49Z "This is a follow-up to #22704, and the short version because after my long version crashed on 'continue to preview' :( {{{ return new WP_Error( 'mkdir_failed_ziparchive', __( 'Could not create directory.' ), substr( $_dir, strlen( $to ) ) ); }}} `substr( $_dir, strlen( $to ) )` results in false for the 'upgrade' folder and the zipfile folder itself. For the other folders the 'data' is simply not very informative and could be even confusing. Before [25780], it used to be just `$_dir`; isn't that a much more informative feedback? " ruud@… Future Releases 27804 bug when updating after domain change settings Administration 3.8.2 normal normal defect (bug) new dev-feedback 2014-04-14T22:07:08Z 2019-06-04T19:25:28Z "I have found the following bug that affects for sure wordpress 3.8.2 and the latest 3.8.3. I have noticed this bug when I changed my domain settings: WordPress Address (URL) and Site Address (URL) from a domain say www.mydomain.org to www.mydomain.com. In the admin panel, when I get notified of new updates to be installed, installation of wordprewss, plugins and themes seems successful but is not performed. After a bit of banging my head on the problem, for curiosity decided to switch back to www.mydomain.org and all updates were installed! It's a bit annoying doing this procedure for every new updates. Can anybody reproduce this?" robomotic Future Releases 27814 Automatic updates should not be silently disabled if I have .hg in file system root Upgrade/Install 3.7 normal normal enhancement new 2014-04-15T09:17:56Z 2019-06-04T21:10:55Z "My WordPress does not apply updates automatically, although it is told to via define('WP_AUTO_UPDATE_CORE', 'minor');. WordPress did not send any mail with an error report, so I had no idea how to debug that issue. I then found http://wordpress.org/plugins/background-update-tester/ which told me that all conditions pass except for {{{ FAIL: The folder / was detected as being under version control (.hg). }}} '''What?''' Yes, indeed, I am managing system configuration files via Mercurial. The repo is placed in the root of my file system. This is *'''completely'''* unrelated to my WordPress installation. I see the rational (http://make.wordpress.org/core/2013/09/24/automatic-core-updates/): {{{ If the install is running as a SVN or GIT checkout, automatic updates are disabled }}} But the way it is currently detected is in my opinion strongly over-generalized: {{{ It looks for .svn, .git, .hg, and .bzr folders in ABSPATH, and every directory above that up to / }}} It is fine if WordPress makes assumptions about its own eco system. However, the current implementation assumes that any DVCS placed in any directory when going up the file system hierarchy up to the root is controlling WordPress. What is this assumption based on? That WordPress should be the only thing running on a Linux box? :-) Seriously, this is not a good way to detect if the current ""''install is running as a SVN or GIT checkout''"". I think everybody agrees that I should not be forced to get rid of my system configuration repository in order to make automatic updates work again. I think WordPress should change this behavior. What are other good ways of determining ""if the install is running as a SVN or GIT checkout""? One could also question the rational behind this: ''If it is a SVN/GIT/... checkout then *'''most likely'''* it is a development version and the developer *'''most likely'''* does not want automatic updates to be enabled?'' Too many assumptions in this for my taste, even if we could reliably determine whether the current WP installation is a DVCS checkout. Could that whole thing be done more explicitly? What would be a quick workaround for me, if I really want to have automatic updates without getting rid of /.hg? " jgehrcke Future Releases 27832 All sites automatically marked as archived after upgrade Networks and Sites 3.7 normal normal Awaiting Review defect (bug) new 2014-04-16T10:47:37Z 2018-12-08T15:08:06Z "Strange thing, all sites were automatically marked as archived after automatic upgrade to 3.8.3. Maybe it is not related, but it was the last thing which is time-related to this problem. I checked database tables and all sites had archived = 1 in wp_blogs, but last_update column was not changed. So, it suggests, that it was not done by administrator. Administrator can archive primary site? Then it is not possible to access administration... I repaired it by setting 0 for all sites, but I am not sure, how could it happen? Do you have any ideas? There are no plugins which could cause it. I searched code and did not find any clue. Also hosting company is used for many other Multisite installations without problems. There are also some posts from different forums (usually somehow related to WordPress upgrade), but they are only talking about fixing problem and not about finding why... http://wordpress.org/support/topic/site-automagically-archived-or-suspended-on-multisite http://wordpress.org/support/topic/after-install-site-has-been-suspended-or-archived http://wpgarage.com/tips/unarchive-archived-suspended-site-wordpress-multisite/ Not sure, if it is some kind of bug, incompatibility or security hole..." pavelevap Future Releases 27860 Media Upload: Incorrect renaming increment for retina files Upload 3.9 normal normal Future Release feature request new 2014-04-17T12:23:40Z 2019-05-15T21:14:35Z "If a file is uploaded `myimgage.png` and then a second image is uploaded with the same name the file is renames `myimgage.png` to `myimgage1.png` this is fine. However if a Retina image is uploaded using the Apple retina standard @2x i.e. `myimage@2x.png` The increment is `myimage@2x1.png` this is not correct and should be `myimage1@2x.png` Should be `myimage[[prefex]]@2x.png` NOT `myimage@2x[[prefex]].png` " phillbooth Future Releases 27916 Add New Post screen nonce failure should redirect to Edit Post screen Administration normal normal Future Release enhancement new 2014-04-19T13:27:55Z 2017-05-12T19:19:25Z "Last night I added a new post, but I didn't publish it, I just left the Add New post screen open. I did a few other things and then put the computer to sleep. This morning I got up, checked the draft, and then hit publish. But the nonces had expired, so I was shown the ""Are you sure you want to do this?"" screen. I hit ""try again"", but I was returned to the Add New Post screen. I really thought I had lost the post. (Oh, the agony.) Fortunately, I really hadn't, because it was saved as a draft. But it really scared me. Instead of causing folks to have a heart-attack, we could direct them to the Edit Post screen with the draft they were working on loaded, instead of the Add new post screen." jdgrimes Future Releases 27957 Revisit the Tag/Category Converter mention on the Tools Page General 3.9 normal normal enhancement new 2014-04-21T18:59:04Z 2019-06-04T19:45:42Z "Core's tools.php page specifically calls attention to the ""Categories and Tags Converter"" plugin. I'd suggest eliminating reference to this completely. It looks to be a relic from years ago that just kind of came along for the ride, and doesn't really have a place in modern Core. I think it's a perfect example of functionality that falls into 'Plugin Territory' - which, luckily, is how it's currently implemented. There are also a large number of similar, more well-maintained plugins that can accomplish this and more for a larger number of taxonomies. If it's decided that the reference should stay, then I believe the logic surrounding the output needs to be modified, more along the lines of this psuedocode: (As currently, if a user can Manage Terms, they're instructed to go install a plugin, even if they may lack that capability.) {{{ if ( current_user_can($cats->cap->manage_terms) || current_user_can($tags->cap->manage_terms) ) { if ( $tag_category_converter_is_installed //TODO: this check ) { // provide link for actually using it. TODO: this link } else { if ( current_user_can( 'install_plugins') ) { ?>

    Categories and Tags Converter available from the Import screen.'), 'import.php' ); ?>

    delete($file, false, 'f');` (setting the f bypases all the tests)?" joostdekeijzer Future Releases 28017 Slug conflict with hierarchical Custom Post Types Posts, Post Types 3.9 normal normal defect (bug) new 2014-04-24T20:32:46Z 2019-06-04T20:46:48Z "To Replicate, create a '''hierarchical ''' custom post type and make sure it has support for page attributes, lets call it ""items"" Publish 3 ""items"" posts with the following slug and content ( IN THIS ORDER! ) Post 1: Slug - samsung , No Parent , content : ""Welcome to Samsung"" Post 2: Slug - cell-phones , No Parent , content : ""Welcome to cell phones"" Post 3: Slug - samsung , Parent: cell-phones , content : ""Welcome to cell phones by Samsung"" Navigate to http://localhost/items/samsung/ , You will see the content for Post 3. The correct content should be from Post 1. http://localhost/items/cell-phones/samsung/ works just fine. To get the correct results: Modify wp-includes/query.php , line 2340: {{{ // ORIGINAL LINE if ( ! $ptype_obj->hierarchical || strpos($q[ $ptype_obj->query_var ], '/') === false ) { // MODIFIED LINE if ( ! $ptype_obj->hierarchical ) { }}} " internetrnd Future Releases 28058 Taxonomies defined with UTF8 encoded names cause notices when adding a new term Taxonomy 3.9 normal normal Future Release defect (bug) new 2014-04-29T12:18:43Z 2017-09-15T13:15:01Z "This one is easy to reproduce as follows: 1. Register a new taxonomy with UTF8 in the name, e.g. pa_資料庫版本. This is in particular possible in WC for its attribute system. 2. Add a term via the admin panel 3. You get notices like: {{{ Notice: Trying to get property of non-object in /Users/patrick/Documents/woothemes/woocommerce/wp-includes/link-template.php on line 685 }}} I traced it back to https://github.com/WordPress/WordPress/blob/master/wp-admin/includes/screen.php#L413 After adding any term, this sanitize key turns pa_資料庫版本 into just 'pa', which results in the taxonomy not being loaded because 'pa' doesn't exist. Removing the sanitize_key fixes the issue so sanitisation could be removed, modified, or moved after the taxonomy checks. This was originally logged at https://github.com/woothemes/woocommerce/issues/5314." mikejolley Future Releases 28118 category sort bug Taxonomy 3.9 normal normal Future Release defect (bug) new 2014-05-04T15:21:11Z 2019-04-22T16:50:29Z I've noticed when creating categories with subcategories in the admin category page, that when you try and sort the Name, Slug or Posts it works great, however any subcategories that had a - next to them are now gone, and they will not come back after page refresh. The subcategories are still attached to the proper main category, it just lacks the visual - or -- before the name. slickremix Future Releases 28139 WP MU legacy problems: missing database tables Database 3.0 normal normal defect (bug) new 2014-05-05T19:15:30Z 2019-06-04T19:25:36Z "Helo there. We have found that WordPress Multisite sites updated from former WordPress MU are not working as expected. There are some missing tables that give problems with some plugins. The lack of tables doesn't allow you to access to the network configuration either. === '''Steps to reproduce''' === 1. Install WP MU 2.9.2 (last WP MU release - works as expected) 2. Update to WP 3.0 or directly to WP 3.9. (tested in 3.0, 3.0 and then 3.9, and 3.9 directly) 3. Try to access /wp-admin/network.php. You will have the message `The Network creation panel is not for WordPress MU networks.`, which is odd in a WP 3.9 Multisite. 4. Look for the source of the message in wp-admin/network.php {{{ if ( ! defined( 'MULTISITE' ) ) wp_die( __( 'The Network creation panel is not for WordPress MU networks.' ) ); }}} 5. Add `define ('MULTISITE', true);` to wp-config.php. You will need to repair the database. 6. Add `define('WP_ALLOW_REPAIR', true);` and proceed to repair the database. Assuming a `testing` database, you will get this message: {{{ wp_posts: Table 'testing.wp_posts' doesn't exist wp_comments: Table 'testing.wp_comments' doesn't exist wp_links: Table 'testing.wp_links' doesn't exist wp_options: Table 'testing.wp_options' doesn't exist wp_postmeta: Table 'testing.wp_postmeta' doesn't exist wp_terms: Table 'testing.wp_terms' doesn't exist wp_term_taxonomy: Table 'testing.wp_term_taxonomy' doesn't exist wp_term_relationships: Table 'testing.wp_term_relationships' doesn't exist wp_commentmeta: Table 'testing.wp_commentmeta' doesn't exist }}} === '''Problems found''' === 1. The lack of the `wp_options` table is especially problematic with plugins (Jetpack is unable to work with its new multisite option - thanks kraftbj for the help) 2. The message assumes `wp_links` as a needed table " bi0xid Future Releases 28156 In date-containing permalink structures, /dddd/dd/comment-page-d/ urls don't work Permalinks 3.9 normal normal defect (bug) new needs-unit-tests 2014-05-06T22:42:17Z 2019-06-04T20:46:56Z "I was in the process of writing a plugin to allow people to test their rewrite rules as they develop a site, and when I setup examples of core rewrite rules, one of them was failing. If you set your permalink structure to one containing dates, e.g. ""Day and Name"", one of the generated rewrite rules for posts is: {{{ '([0-9]{4})/([0-9]{1,2})/([0-9]{1,2})/([^/]+)(/[0-9]+)?/?$' => 'index.php?year=$matches[1]&monthnum=$matches[2]&day=$matches[3]&name=$matches[4]&page=$matches[5]' }}} And later on, another rule is: {{{ '([0-9]{4})/([0-9]{1,2})/([0-9]{1,2})/comment-page-([0-9]{1,})/?$' => 'index.php?year=$matches[1]&monthnum=$matches[2]&day=$matches[3]&cpage=$matches[4]' }}} The URI /2014/5/6/comment-page-2/ would end up matching the earlier rule, looking for a post named ""comment-page-2"" published on 2014-05-06, instead of looking for comment page 2 in the... I actually don't even know what the comment-page URLs do. For me, the ones that work just redirect to the date archive. I'm happy to patch this, but would like to hear from someone else on what exactly should be done done. Do the comment-page-n rules do anything? Can they just be removed?" mboynes Future Releases 28160 Get authors user query in-efficient when dealing with large numbers of users. Users 3.9 normal major Awaiting Review enhancement new 2014-05-07T09:11:21Z 2022-04-08T12:45:56Z "When in WordPress admin the following query is run: {{{ SELECT wp_users.ID, wp_users.user_login, wp_users.display_name FROM wp_users INNER JOIN wp_usermeta ON (wp_users.ID = wp_usermeta.user_id) WHERE 1=1 AND ( ( wp_usermeta.meta_key = 'wp_user_level' AND CAST(wp_usermeta.meta_value AS CHAR) != '0' ) ) ORDER BY display_name ASC; }}} This is getting a list of authors for the current site. Now this query is fine for small sites but is incredibly slow when dealing with large WP installations with thousands of users. For example one of our largest WP installations has over 225K Users with over 7M usermeta records and the above query takes, on our server, over 34 seconds to complete. This is long enough for connections to timeout and the resulting data to not be cached and run over and over until the database queue is so long that PHP starts to crash. Now the above query is generated deep within the WP_User_Query class and understand that the query is generated in such a way that allows a number of queries to be built dynamically, but the above query is very in-efficient. I've re written the query and my new query only takes 700 milliseconds to run. {{{ SELECT wp_users.ID, wp_users.user_login, wp_users.display_name FROM wp_usermeta LEFT JOIN wp_users ON (wp_users.ID = wp_usermeta.user_id) WHERE wp_usermeta.meta_key = 'wp_user_level' AND wp_usermeta.meta_value != '0' HAVING wp_users.ID IS NOT NULL ORDER BY display_name ASC; }}} I'm looking into how I can improve the queries in the WP_User_Query class but thought it would be good to bring this to the attention of some core devs." l3rady Future Releases 28188 Make Natively-Outputted .widget_rss CSS Selector HTML5-Appropriate Widgets 3.9 normal normal enhancement new 2014-05-09T05:57:31Z 2019-06-05T06:40:00Z "In regards to the natively outputted RSS Widget entitled `.widget_rss`, the post Author's name is currently outputted as wrapped in a `` tag. An example of a natively outputted RSS feed block looks something like this for reference: `Example RSSed Post April 14, 2014
    This is the space where the RSSed information appears. […]
    Author` Please note that the author of the RSSed post is being natively outputted as wrapped in the `` tag. As per #27944 (ocean90's comment in particular) which references #24522 (re: proper way to tag comment authors), the natively outputted CSS selectors for the `.widget_rss` widget probably ought to be wrapped in something like: `` as opposed to ``. Reiterating what ocean90 said: The `` tag is supposed to be used for a cited block of text (like a citation) rather than used to tag the/an author. Additionally, changing the `` to `` will provide additional sitewide code uniformity (there's a word or phrase I am looking for and I can't remember it!) for a natively/vanilla outputted WordPress site (and especially if using a default WordPress theme) re: how author names are wrapped in tags. Thanks!" EMG Future Releases 28197 Fallback Languages swissspidy I18N 4.0 normal normal Future Release enhancement assigned 2014-05-09T20:53:44Z 2024-02-28T14:38:59Z "We should do a better job of loading translation files in the user's language if they are available. For instance, if a Spanish speaker has their locale set as es_MX (Spanish Mexico) it would be preferable to load any available Spanish translations files (es_ES, es_CO, etc) before returning the default (generally English). I wrote up a quick patch, tester plugin, and plugin that demonstrate this idea. If a $mofile is not available in the user's current locale, it will search for and return the first available translation that is also in the same language. A better option might be to create a filterable stack rank of locales for WordPress to search for within the language before returning the default. Other suggestions are also welcome. This idea was also discussed in an ""ideas"" thread: http://wordpress.org/ideas/topic/fallback-to-generic-language-file-when-specific-locale-file-absent" downstairsdev Future Releases 28212 determine_current_user filter with priority <10 gets overridden Login and Registration 3.9 normal normal Awaiting Review defect (bug) new has-patch 2014-05-12T01:35:55Z 2020-10-24T03:56:24Z "Introduced in #26706. `wp_validate_auth_cookie` was shoehorned into this filter, and as such, doesn't return what the filter expects. On any error at all, it returns `false`, even if the ""error"" is that the cookie isn't set. If a function hooked into a lower priority (i.e. <10) returns a user ID, this will then be overridden by the built-in auth cookie." rmccue Future Releases 28232 Custom Taxonomy filter on post listing pages Taxonomy normal normal Future Release enhancement new 2014-05-13T00:49:42Z 2018-11-05T23:17:31Z Currently core adds a category dropdown filter to the admin post listing pages. I propose that there ought to be a parameter passed in to `register_taxonomy` similar to the `show_admin_column` (#21240) that would enable a filter dropdown for your custom taxonomy. Maybe `'taxononomy_filter' => true`. I was sure a ticket would probably exist for this feature request, but was unable to find one. jtsternberg Future Releases 28288 New Post overwriting a previously published post Posts, Post Types 2.5 normal normal defect (bug) new 2014-05-17T01:03:45Z 2019-06-04T20:47:04Z "This was seen on wordpress.com, a user had multiple draft windows open. At one point when saving one draft, it wrote over another previously published post. I believe that it was caused by a race condition that has to do with the environment being hosted on multiple servers. '''To reproduce:''' 1. Open in quick succession multiple draft windows. 2. Check in developer tools for post_id duplicate. I believe that a possible solution would be to enhance post-locking to include if a post is open in duplicate windows by the same user." jackreichert Future Releases 28297 Losing custom nav menu data while importing / exporting XML Import 3.9.1 normal normal Awaiting Review defect (bug) new 2014-05-18T03:19:46Z 2018-02-26T15:52:39Z "I have added few fields to the menu for mega menu functionality: https://gist.github.com/mharis/150f43e09adf72d7d0bb This works fine and when I tried to export the site content which did have all the navigation items and the custom fields and its values in the XML file (https://www.dropbox.com/s/7i2l3x2mvpgup58/xml-test.xml) which is perfectly fine. The problem happens when importing, only the keys are imported for the custom navigation menu fields and not its value. The values are stripped even through the data seems correct in the XML file. Any thoughts over it? " isharis Future Releases 28300 Two issues in the code for auto-uploading to subfolders Upgrade/Install 3.9.1 normal normal defect (bug) new 2014-05-18T17:05:26Z 2023-03-15T18:21:55Z "There are two issues in the code for auto-uploading to subfolders within a change rooted FTP (wp-admin/includes/class-wp-filesystem-base.php). First, it adds a ""/"" to the replacement expression when the source replacement already contains a ""/"" (Note that ABSPATH has a trailing slash): {{{ $potential_folder = preg_replace( '#^' . preg_quote( $dir, '#' ) . '/#i', trailingslashit( constant( $constant ) ), $folder ); }}} This should be: {{{ $potential_folder = preg_replace( '#^' . preg_quote( trailingslashit($dir), '#' ) . '#i', trailingslashit( constant( $constant ) ), $folder ); }}} Second, it checks that the directory exists. This is not the case during theme and plugin installs, where the not existing directory is specified. Instead, only the parent should be checked. After: {{{ if ( $this->is_dir( $potential_folder ) ) { $this->cache[ $folder ] = $potential_folder; return $potential_folder; } }}} Adding: {{{ else { $potential_parent_folder = trailingslashit(preg_replace('#[^/]*/$#', '', $potential_folder)); if ( $this->is_dir( $potential_parent_folder ) ) { $this->cache[ $folder ] = $potential_folder; return $potential_folder; } } }}} Would test for a valid parent, instead. (E.g. wp-content/themes instead of wp-content/themes/newtheme)" wiziapp Future Releases 28321 Media uploader confuses user with description, caption, alt and title, without explanation Media 3.5 normal normal enhancement new 2014-05-21T08:07:21Z 2023-10-18T16:08:48Z "After a decade using WordPress, I still scratch my head when confronted by the media uploader, with its offer for me to enter for each of my images a ""Title"", a ""Caption"", some ""Alt Text"" and a ""Description"". As a developer, I can just about figure that out - title and alt text correspond to the HTML attributes. Playing with caption shows that it adds a visual caption. Description? Not sure what that gets used for. Admittedly, I don't work a lot on content creation. I work more on internals. On the other hand, someone who does work on content creation might not have the knowledge of HTML attributes, so they might be worse off. There's no help that appears if you mouse around the labels, that explains what they're for. In summary: the bug is that there are four separate ways to describe your media upload, and no obvious link to any help to explain how these four are distinguished." DavidAnderson Future Releases 28324 Add primary and secondary color definitions to admin color schemes and add function to retrieve color scheme info Administration 3.8 normal normal feature request new reporter-feedback 2014-05-21T14:31:36Z 2019-06-04T19:25:50Z "I'd like to be able to implement a user's selected admin color scheme into my plugin admin UI design but, at this point in time, using wp_admin_css_color() to register a color scheme only asks for an array of colors and then depends on a stylesheet to use said colors so there's no way for me to, at the very least, detect a primary and secondary color to use in my design. From what I can tell, most color schemes have what they consider to be the primary and secondary color, and they use those colors for primary buttons and admin menu links and such, but there's no way for someone else to detect those color values. It would also be nice if there was a function to retrieve the color scheme info. Perhaps something like this: {{{ function get_user_admin_color() { global $_wp_admin_css_colors; if ( ( $user_admin_color = get_user_option( 'admin_color' ) ) && isset( $_wp_admin_css_colors[ $user_admin_color ] ) ) { return $_wp_admin_css_colors[ $user_admin_color ]; } return false; } }}} But the big request is changes to the wp_admin_css_color() function so, at the very least, a primary and secondary color can be defined and stored in $_wp_admin_css_colors. Perhaps something like this? {{{ function wp_admin_css_color( $key, $name, $url, $colors = array(), $icons = array(), $primary_color = NULL, $secondary_color = NULL ) { global $_wp_admin_css_colors; // If a primary color is not defined, use first color from $colors array if ( ! isset( $primary_color ) && count( $colors ) >= 1 ) $primary_color = $colors[0]; // If a secondary color is not defined, use second color from $colors array if ( ! isset( $secondary_color ) && count( $colors ) >= 2 ) $secondary_color = $colors[1]; if ( ! isset( $_wp_admin_css_colors ) ) $_wp_admin_css_colors = array(); $_wp_admin_css_colors[$key] = (object) array( 'name' => $name, 'url' => $url, 'primary_color' => $primary_color, 'secondary_color => $secondary_color, 'colors' => $colors, 'icon_colors' => $icons, ); } }}} " bamadesigner Future Releases 28367 Video upload failure is a dead end Upload 3.9.1 normal normal Awaiting Review enhancement new 2014-05-26T15:41:46Z 2019-05-15T21:15:44Z """VID_1234.mp4 exceeds the maximum upload size for this site."" That's what you see on most hosts when trying to upload a video, even one only a few seconds long. This is a dead end that could be so much more helpful. Just a link to a codex page on how to bump upload_max_filesize and post_max_size or install a video plugin would be welcome, but this seems a place where we should aspire to greater smoothness." ryan Future Releases 28375 export posts/pages query chriscct7 Export 3.1 normal normal enhancement assigned 2014-05-27T14:11:42Z 2019-06-04T19:45:51Z "In wp-admin/includes/export.php on line 75 the following check has been done: {{{ if ( 'post' == $args['content'] || 'page' == $args['content'] ) { } }}} This can be removed so the check can be done foreach post? " alcowink Future Releases 28376 Improve error message seen by user in update.php Upgrade/Install 3.9.1 normal normal Awaiting Review enhancement new 2014-05-27T15:33:57Z 2017-11-02T13:40:23Z "Line 117 of update.php {{{ $response = wp_remote_post( $url, $options ); if ( $ssl && is_wp_error( $response ) ) { trigger_error( __( 'An unexpected error occurred. Something may be wrong with WordPress.org or this server’s configuration. If you continue to have problems, please try the support forums.' ) . ' ' . __( '(WordPress could not establish a secure connection to WordPress.org. Please contact your server administrator.)' ), headers_sent() || WP_DEBUG ? E_USER_WARNING : E_USER_NOTICE ); $response = wp_remote_post( $http_url, $options ); } }}} The message ""Something may be wrong with WordPress.org or this server's configuration. If you continue to have problems, please try the support forums"" could be better. Right now if wordpress.org is up (which code can check?) then the problem is with their host. If they post to the Support forums there is no easy answer there. While there is a solution to this mentioned in #27091 that solution is not suitable for most users. I would suggest a longer timeout and a message that they could copy to their webhost to assist the host if a connection is being blocked." podz Future Releases 28454 Inconsistent front page option behavior Options, Meta APIs 3.4 normal normal defect (bug) new 2014-06-04T16:44:57Z 2019-06-04T20:47:09Z "'''Correct/expected behaviour:''' If you change your settings in ''Settings'' > ''Reading'' > ''Front page displays'' as follows: ''From:'' A static page (select below) -- Front page: home -- Posts page: blog ''To:'' Your latest posts then the `Show_on_front` setting is correctly changed to `posts` and the `Page_on_front` setting correctly gets reset to `0`. '''Incorrect behaviour:''' If instead you change the same settings from ''Appearance'' > ''Customize'', the `Show_on_front` setting is correctly changed to `posts`, but the `Page_on_front` setting is not reset and remains set to the previous setting's page ID. '''Testing done:''' I replicated this behaviour with several themes, including twenty fourteen, with all plugins deactivated. '''Why this is a problem:''' This is inconsistent and may cause errors--e.g. if a theme or plugin author checks the `Page_on_front` setting without also checking the `Show_on_front` setting. This is how I encountered it, in Polylang; plugin author had to work around it; details here: http://wordpress.org/support/topic/wrong-front-page-showing-in-appearance-customize-with-polylang-loaded). '''Solution (indicative; I'm not an expert):''' Re-use the ""Settings > Reading > Front page displays"" code in the ""Appearance > Customize"" functions. " ElectricFeet Future Releases 28461 Add a fallback parameter to get_the_post_thumbnail() to find images Post Thumbnails 3.9 normal normal Awaiting Review enhancement new 2014-06-05T06:55:46Z 2017-02-06T12:42:44Z "In the 3.6 cycle, there was a lot of talk about grabbing various media types from the content for post format handling. #22960 is basically the end of that conversation, and includes a lot more stuff. #23593 is also related, but ended up getting closed in favor of #22960, which died with the post format UI. Within that realm, the `get_the_image()` function from Justin Tadlock's Get The Image (https://github.com/justintadlock/get-the-image) plugin came up a bit. It's a super handy function. Although, it was mostly discussed as a piece of post formats. You can see it's got a whole bunch of functionality, but I'm mostly interested in its ability to find a fallback image in the content. I'd like to see something like `get_the_image()` be able to be called via some kind of parameter within `get_the_post_thumbnail()` and therefore `the_post_thumbnail()`. Justification: There are times in building out a theme where you'd want the **exact** featured image or none at all (like a big wide header banner or something), but other times it's great to have any 'ole fallback, like a more traditional square thumbnail on blog archives. In these situations, often which are theme driven, and not custom site driven, it'd be great for the theme developer to be able to assign fallback rules when they call `the_post_thumbnail` itself. Whether that's through a new parameter, or maybe just an additional key / value for 'fallback' to the `attr` parameter... I don't know. But for a theme (where most image sizes are registered anyway) to be able to define fallback behavior for those same image sizes would be powerful." krogsgard Future Releases 28463 Need core concept of the first publication of a post/comment. Posts, Post Types normal normal Awaiting Review feature request new dev-feedback 2014-06-05T17:21:56Z 2022-07-15T14:35:48Z "Because status transitions are permitted to occur in a cyclic fashion, it is possible to publish a post/comment more than once. The first publication event has unique significance, e.g. to push-based subscription delivery systems, but this concept is not represented anywhere in WordPress. Restricting status transitions to a directed acyclic graph is a non-starter. What I have done in plugins (and Nacin also suggests) is to mark the initial publication in meta: if transitioning to publish/approved, try adding the meta; if the add succeeds, this is the initial publication. I suspect that a significant number of plugins duplicate this. It would be even more useful to keep the history of changes to post_status in revisions rather than put ""inherit"" in that field. This would have repercussions in the already complex system for revisions, which has no facility for dealing with changes to non-content fields. It may also conflict with the existing uses of the ""inherit"" status, such as calling get_post_status() on a revision with the intention of getting the parent's status. Status revisions may have other uses as well (see #23314, #12706) but comment revisions don't exist yet. Ultimately what I want is a hook that fires only on the initial publication of a post or comment. The add_post_meta/add_comment_meta system can accomplish this much more easily." andy Future Releases 28521 FORCE_SSL constant for really forcing SSL adamsilverstein Security normal normal Future Release enhancement assigned 2014-06-12T22:50:16Z 2023-06-08T14:04:15Z "Previously: #27954. As per [https://make.wordpress.org/core/2014/06/11/ssl-taskforce/ this post on make/core and its comments], we should introduce a new constant which becomes the iron-fisted ruler of HTTPS, imposing its might everywhere it can. If this constant is set, we will: * Force `https` connections (pretty much covered by #27954) * Force local URLs within content to `https` * Force local enqueued scripts and styles to `https` * Force non-local enqueued scripts and styles to `https` * Set the `secure` flag on all cookies What we won't do: * Force non-local URLs within content to `https` * Force the `https` version of oEmbeds just yet - see #28507 * Send an HSTS header - see #28520 What I'm not sure on: * Should we force `https` connections for XML-RPC? See #28424." johnbillion Future Releases 28530 WPMU Creating new user does not use welcome notification template Networks and Sites normal normal defect (bug) reopened dev-feedback 2014-06-13T16:36:27Z 2019-06-04T20:08:14Z "In a multisite setting adding a new user to the network should send a welcome notification to the user with a template defined in '''Settings > 'Welcome User Email''''. But the template is not used. When creating a new user via {{{/network/user-new.php}}} the method {{{wp_new_user_notification}}} gets called. Instead {{{wpmu_welcome_user_notification}}} should get called." jokr Future Releases 28568 Can't get private posts/pages via WP_Query when not logged in as administrator Query 3.9 normal normal Awaiting Review defect (bug) reopened 2014-06-17T18:44:59Z 2019-03-22T14:10:01Z "I want to use WP_Query to display content of one private page on some place in a template. {{{ // ... theme template sidebar.php, for example 25, 'post_status' => 'private' )); // page #25 is set to ""private"" if ($the_query->have_posts()) { // ... nope, no posts for you today while ($the_query->have_posts()) { $the_query->the_post(); the_content(); } wp_reset_postdata(); } ?> }}} But it only works when I am logged in as administrator. When I am not logged in, and print_r() the $the_query, there is ""request"" index filled with: {{{SELECT wp_posts.* FROM wp_posts WHERE 1=1 AND wp_posts.ID = 25 AND wp_posts.post_type = 'page' AND ((wp_posts.post_status = 'private')) ORDER BY wp_posts.post_date DESC}}} Querying database with it directly in PHPMyAdmin, it returns one row as expected (page ID 25 row). But template loop does not anything. ""Posts"" index in $the_query is empty. I have expected WP_Query works like ""just give me anything I want (defined by the arguments)"" ... and I want page with ID 25. " mklusak Future Releases 28591 dbDelta Non-literal DEFAULT not working (CURRENT_TIMESTAMP) Database normal normal defect (bug) new 2014-06-19T19:38:03Z 2019-06-04T19:25:59Z "Using dbDelta and any internal SQL values like CURRENT_TIMESTAMP won't work because dbDelta matches based on this regex: {{{ ""| DEFAULT '(.*?)'|i"" }}} The block current looks like this: {{{ if (preg_match(""| DEFAULT '(.*?)'|i"", $cfields[strtolower($tablefield->Field)], $matches)) { $default_value = $matches[1]; if ($tablefield->Default != $default_value) { // Add a query to change the column's default value $cqueries[] = ""ALTER TABLE {$table} ALTER COLUMN {$tablefield->Field} SET DEFAULT '{$default_value}'""; $for_update[$table.'.'.$tablefield->Field] = ""Changed default value of {$table}.{$tablefield->Field} from {$tablefield->Default} to {$default_value}""; } } }}} I'm not sure what the best solution is for this, but perhaps it should be: 1. Check if there is a default to change, if there is -- store default alter query, don't add to $cqueries[] yet 2. Check if there is a field type change OR a default non-literal found, if there is -- use this CHANGE COLUMN query instead of the 'default' changing query in point 1 Does that sound like a good solution here?" sc0ttkclark Future Releases 28619 Add more filters to tune audio and video shortcode library Media 3.9.1 normal normal enhancement new 2014-06-24T08:42:25Z 2019-06-04T20:08:19Z "`wp_video_shortcode_library` and `wp_audio_shortcode_library` allow a plugin author to replace the default mediaelement.js library by another Audio/Video js library. But then, possibilities to modify the html rendering are very limited. I have identified 2 points where a filter/action is needed : 1. L1782 in wp-includes/media.php (https://github.com/WordPress/WordPress/blob/3.9.1/wp-includes/media.php#L1792) {{{ $html = ''; if ( 'mediaelement' === $library && 1 === $instances ) $html .= ""\n""; }}} 2. L1820 in wp-includes/media.php (https://github.com/WordPress/WordPress/blob/3.9.1/wp-includes/media.php#L1820) {{{ if ( 'mediaelement' === $library ) $html .= wp_mediaelement_fallback( $fileurl ); }}} Plugin author should be able to add arbitrary HTML code before and inside the `