﻿ticket,summary,owner,component,_version,priority,severity,milestone,type,_status,workflow,_created,modified,_description,_reporter
9445,All Input Tags are not Section 508 Compliance,,Accessibility,2.7,normal,normal,Future Release,task (blessed),reopened,,2009-04-02T18:58:32Z,2012-10-09T20:14:56Z,"Not all of the input tags within the Wordpress admin console are section 508 compliant (http://www.section508.gov/). We have scanned the application using compliance software and found many instances where input tags (checkbox, text, textarea, file, radio, etc..) are missing the required label or alt text. (There are many instances where it IS compliant.) 

We (developers at a government agency) have the ability to make the changes, but some of the decisions for which exact text to put in the labels and alt text should probably be decided by a more dedicated Wordpress developer. Please contact me if you want our help or input. 

We believe that the software is extremely close to 100% compliance. Bringing it to 100% would be a huge deal for government agencies wh are trying to get approval to install and run Wordpress internally and externally.",dmo7
23891,Post Formats: tab accessibility,,Accessibility,trunk,normal,critical,3.6,task (blessed),new,,2013-03-29T10:32:49Z,2013-05-14T14:21:38Z,Post Format UI should allow for natural tabbing through the editable fields.,markjaquith
9698,WordPress back end is not accessible,,Accessibility,2.8,normal,major,Future Release,task (blessed),new,,2009-05-01T18:15:41Z,2012-02-20T20:50:25Z,"The WordPress back end violates several WCAG accessibility guidelines, so it cannot be considered accessible to people with disabilities.

Guidelines: http://www.w3.org/TR/1999/WAI-WEBCONTENT-19990505/

Not being an accessibility expert, I am not sure of all of the violations. But guideline 6.3 states ""Ensure that pages are usable when scripts, applets, or other programmatic objects are turned off or not supported. If this is not possible, provide equivalent information on an alternative accessible page.""

This means that you should be able to do all functions in the WP back end with JavaScript disabled.

As of 2.8-bleeding [11148], there are several things you cannot do with JavaScript disabled:

1) Upload and attach media to a post. You can upload media in the Media section, but the media upload section of the post edit screen is missing without JS, and I see no way to attach it to a post.

2) Add tags to a post or change which tags are on a post. The tags section is totally blank without JavaScript. (It could at least have the default plain-text field that is there behind the scenes and hidden).


",jhodgdon
16379,"Better UI for doing ""Page on Front""",,Administration,3.1,normal,normal,Future Release,task (blessed),new,,2011-01-26T19:47:25Z,2013-03-14T15:20:33Z,"[[Image(http://grab.by/grabs/132427e6c1166ed3e4d8214959b9568a.png)]]

This is the existing ""Page on Front"" UI. The process is as follows:

 1. Create a ""Front"" Page
 2. Create a ""Blog"" Page
 3. Select the ""Front"" Page in the ""Front Page"" dropdown
 4. Select the ""Blog"" Page in the ""Blog Page"" dropdown.

1 and 3 make sense. If you want a page on front, then you obviously need to create a page to live there, along with its content, and then designate it. But the ""Blog"" page is just a dummy. It's sole purpose is to create and maintain a URL for your blog. So why not just have something like this?

Blog URL: http://example.com/ {input box}

If a page exists in the URL they type, it gets used. If not, we create one on the fly as a dummy. This seems a more natural way of doing it. You don't care about the dummy page — you just want to choose an appropriate URL for your blog.",markjaquith
23697,Check and refresh post locks with heartbeat,,Administration,,normal,normal,3.6,task (blessed),new,has-patch,2013-03-05T18:57:10Z,2013-05-20T19:36:30Z,This will change the frequency we check post locks: 15 sec. when the user is active and 2 min. when inactive and add prominent warnings when somebody else is editing or when another user takes over.,azaozz
23216,"Create ""WP Heartbeat"" API",,Administration,,normal,normal,3.6,task (blessed),new,,2013-01-16T20:41:50Z,2013-05-20T15:00:38Z,"The purpose of this API is to simulate bidirectional connection between the browser and the server. Initially it will be used for autosave, post locking and log-in expiration warning while a user is writing or editing.

The idea is to have a relatively simple API that sends XHR requests to the server every 15 seconds and triggers events (or callbacks) on receiving data. Other components would be able to ""hitch a ride"" or get notified about another user's activities.

In the future this can be used to block simultaneous editing of widgets and menus or any other tasks that require regular updates from the server.",azaozz
18655,Responsive Admin for Small Screen Devices,,Administration,,normal,normal,Future Release,task (blessed),new,,2011-09-13T18:44:16Z,2013-01-03T06:24:12Z,"Working off of #18198  -  Making the admin respond to small devices, phones, etc. ",saracannon
16339,pushState Test Case,,Administration,,normal,normal,Future Release,task (blessed),new,,2011-01-22T06:30:41Z,2011-01-27T09:42:50Z,"This isn't a useful bit of code, just a test case to ground future pushState work for 3.2.  Or be ignored by future pushState work for 3.2 :)

Attached is a test case for determining browser behavior when using pushState.

The numbered links use AJAX and pushState.  The ""Other"" link is a real (non-AJAX) link to an external site.

If the state of the page is refreshed via AJAX, you'll see a var_dump( $_POST ).  If the state of the page is refreshed by a page refresh, you won't.

An example of something this test says is broken in Safari 5.0.3 (6533.19.4):

 1. Load the page (state = 0: pageload)
 2. click ""One"" (state = 1: ajax)
 3. click ""Two"" (state = 2: ajax)
 4. click ""Three"" (state = 3: ajax)
 5. click ""Other"" (state = external site: pageload)
 6. go Back in browser history (state = 3: ajax or just history?)
 7. go Back (state = 2: ajax or just history?)
 8. go Back (state = 1: ajax or just history?)
 9. go Back (state = 0: ajax). Everything is fine up to this point, though it's odd we do an AJAX request to get here.
 10. refresh the page once, either by CTRL-R or by hitting enter in the URL bar (state = 3: ajax). That's wrong.  What happened? Why are we here?
 11. refresh the page a second time (state = 0: pageload). As expected.

An example of something the test says is broken in Chrome10.0.642.2 dev:
 1. Do pretty much anything.  Chrome Dev fires a popState event on the first page load.

It could be a badly written test, or a badly written implementation of push/popState handling, or both.  These are the kinds of scenarios we'll need to test, though.",mdawaffe
21785,Add header image uploads with cropping to the customizer,,Appearance,3.4,normal,normal,Future Release,task (blessed),new,early,2012-09-04T04:56:41Z,2013-04-26T01:08:30Z,"See #21355 for an explanation for why header image uploads (sans cropping) was removed from the 3.4 branch. This ticket is about adding it back, with a crop step, to ensure proper support.",nacin
23220,Extend autosave to use the browser's local storage in addition to saving to the server,,Autosave,,normal,normal,3.6,task (blessed),new,,2013-01-16T22:33:43Z,2013-05-15T23:29:06Z,"There are several types of local (DOM) storage in the modern browsers. Most suitable is the `localStorage` as it's persistent and supported in all browsers back to IE8.

The idea is to save the content in local storage every 10 seconds and push to the server every two minutes. When the server responds and there are no errors, we empty the local storage and start again. The local storage will also be emptied when the user saves the post. Then every time the user visits the admin we can check if the local storage is not empty and offer to recover from there or show a revision diff.
",azaozz
23295,Improved login expiration warning,,Autosave,,normal,normal,3.6,task (blessed),new,has-patch,2013-01-25T22:49:45Z,2013-05-16T03:47:09Z,"The goal here is to improve the user experience when your login has / will expire, as discussed in [http://make.wordpress.org/core/2013/01/07/wordpress-3-6-autosave-and-post-locking/ WordPress 3.6: Autosave and Post Locking] and the [http://make.wordpress.org/core/2013/01/25/agenda-for-todays-autosave-and-post-locking-team/ autosave and post locking team meeting in IRC].

The suggested tactic is to integrate the [https://github.com/Penske-Media-Corp/pmc-post-savior/ PMC Post Savior] plugin into core.  That part should be pretty straightforward.

I think 3 valuable enhancements that are on the plugin's roadmap, but not yet complete would be:
* Alert properly on failed requests and lost connectivity.  If my internet connection has gone down and I'm still working, I should be alerted that I'm ""Working offline"" and my changes aren't being automatically saved.  I don't think this should be a blocking UI, but it should be obvious.
* Block publish/save until login has been verified.  Polling duration can be decreased (or maybe even done away with entirely) if we block the Publish/Save/etc actions until we've verified the user's cookie.
* Pre-emptive notification.  When approaching the user's login cookie expiration time, say 1 hour before, display a message and allow the user to extend their login.  For example, how banking sites notify you when you've been inactive too long and they're about to log you out.",mintindeed
23312,Post Lock Interface for Post List Screen,,Autosave,,normal,normal,3.6,task (blessed),new,has-patch,2013-01-29T03:17:36Z,2013-05-16T15:04:13Z,"For 3.6, we'd like to improve the experience for users with post locks!

For the Post List screen, we'd like to:
- Make it easy for users to tell which posts are locked directly from the post list screen.
- Realtime lock update using Heartbeat API (#23216)

Maybe:
- Make it visible which user holds the lock
- Meta editing allowed while post is locked

",dh-shredder
23504,Twenty Thirteen,,Bundled Theme,trunk,normal,normal,3.6,task (blessed),new,,2013-02-18T23:05:01Z,2013-02-21T19:08:48Z,"The Twenty Thirteen team has handed the theme over, and we're ready to land it in core and start smoothing out the rough edges. Open new tickets with a component of ""Bundled Theme"" to track this, and try to attend the Twenty Thirteen office hours on Tuesdays and Thursdays at 1700 UTC.",markjaquith
23327,Cache incrementors for get_bookmarks(),,Cache,3.5.1,normal,normal,Future Release,task (blessed),new,early,2013-01-30T18:24:08Z,2013-04-16T17:11:33Z,"Make use of a caching incrementor and store queries in individual cache buckets to avoid memory exhaustion.

Pattern this after #23167, which does the same thing for get_pages().

See #23173 for an explanation of the motivation behind this.",ryan
23173,Don't cache arrays of query results in a single cache bucket,,Cache,3.5,normal,normal,Future Release,task (blessed),new,,2013-01-10T19:05:17Z,2013-04-16T17:10:11Z,"We have started using one cache bucket per query with passive invalidation controlled through a last_changed incrementor. See #22024 for an example. We also need to do this with get_pages(), wp_get_archives(), and elsewhere. On wordpress.com we have hacked some of these into separate buckets because saving multiple queries per cache bucket results in huge buckets. We have seen 72MB get_pages caches. Let's finally clean this up for good. Some of the last_changed work done for #22176 can be used here.",ryan
13820,AJAX update the comment bubbles on edit-comments.php,,Comments,3.0,normal,normal,Future Release,task (blessed),assigned,has-patch,2010-06-10T13:45:27Z,2012-03-08T01:58:35Z,"We update the bubble in the Comments admin menu item. We should also update the counts in the ""In Response To"" bubbles, as well as the bubble color.",matt
21663,Use PDO for MySQL queries when PDO is available,,Database,3.5,normal,normal,Future Release,task (blessed),new,dev-feedback,2012-08-22T21:02:28Z,2013-05-20T22:21:49Z,"the mysql_* functions are officially deprecated for PHP 5.4 and will begin throwing E_DEPRECATED errors in the next version of PHP.
http://marc.info/?l=php-internals&m=131031747409271&w=2

Wordpress should use PDO by default, but fall back to mysql_* when PDO is not present.

See also: #11622 for last year's discussion.",scottconnerly
23450,Refactor menu item meta boxes as accordion,markjaquith,Menus,trunk,normal,normal,3.6,task (blessed),reopened,has-patch,2013-02-11T14:27:58Z,2013-05-14T18:56:41Z,"Once #23449 is complete, we are going to refactor the menu items meta boxes on nav-menus.php to reflect the same design as the accordion in the customizer.  We've already [http://core.trac.wordpress.org/ticket/23119#comment:181 prototyped] & [http://make.wordpress.org/ui/2013/02/07/heres-round-7-of-our-menus-usability-tests/ tested] this design on users, and it seems to provide a better UI.",lessbloat
22981,Tweets import plugin tracking ticket,PeteMall*,Plugins,,high,normal,WordPress.org,task (blessed),accepted,,2012-12-17T18:43:42Z,2013-03-29T14:04:16Z,"This ticket is to track the development of a plugin that can import tweets from a downloaded twitter.com archive. Presumably, such a plugin would be added to the importers list on wp-admin/import.php.

Trac is best when it is used to discuss implementation. If you want to discuss the general idea, please do so on [http://make.wordpress.org/core/2012/12/16/antsy-for-3-6-to-start-and-need-a/ make/core].

Some initial thoughts on implementation:
 * It should use the JSON-formatted data that comes with a downloaded tweet archive. The importer should take the entire zip, extract it, and loop through the monthly files. Anything more is an unnecessary burden on the user.
 * The plugin should import the tweet as actual content. A filter is good idea, if someone wishes to toggle this to instead insert links to tweets (and thus rely on oEmbed). It should also store the JSON-serialized array of data (directly from 1.1 of Twitter's API) in postmeta.
 * It should import posts as a post format. Status makes the most sense; 'link' could also work for links, then there's also 'aside'. The post format to use should be filterable on a tweet-by-tweet basis. The post type to use should be filterable, as a 'tweet' type may be desired.
 * It should handle importing an archive over an existing archive, by looking for the existing tweet (probably IDs as a meta key). I don't think deleted tweets should be removed in this process, though.
 * Remember that tweet IDs are going to be bigger than 32-bit integers, so they must be treated as strings, and we should not try to set a post ID as we might with other importers. This importer should be tested on a 32-bit environment.

Beyond that, there are other ""nice to haves"" that would likely be left to plugins of this plugin, given they are beyond the standard role of an importer. Beau Lebens, for example, has done some/all of this already:
 * Tagging based on hashtags, and a separate mentions and/or in-reply-to taxonomy.
 * Filtering over raw (no-HTML) content to add things like links to hashtags, links in tweets, etc., on display, rather than doing all of this on save. (Should a hashtag link go to the internal tag, or to twitter.com? Maybe the internal tag's description links to twitter.com?)
 * A cron to import new tweets using the same importing methods.

One thing I will suggest: decisions, not options. Note I said ""filter"" a bunch of times, but never the word ""option."" Not that there won't be a need for any user decision here, but we should make a plugin that works well for the common use cases, and leave the rest to other enterprising developers.

Side note: I am working on acquiring a namespace for the Twitter importer in the wordpress.org plugin repository.",nacin
24011,"Consider hiding post title for ""Status"" and ""Aside"" formats and autogenerating",,Post Formats,trunk,high,normal,3.6,task (blessed),new,commit,2013-04-09T18:51:36Z,2013-05-20T17:35:16Z,"The status and asides post formats shouldn't have a title. The only reason for having a title is to generate a slug. We should consider hiding the post title for these formats, and auto-generating a title based on the first X chars of the post, P2 style.",markjaquith
24013,"Hide ""Add Media"" for some post formats",markjaquith,Post Formats,trunk,high,normal,3.6,task (blessed),reopened,commit,2013-04-09T18:59:25Z,2013-05-19T02:12:27Z,"""Add Media"" doesn't make sense for some post formats. Notably: aside, and status.

We should consider hiding it to simplify the UI for these formats.",markjaquith
24291,Tweaks to Image post format UI,,Post Formats,trunk,high,major,3.6,task (blessed),new,has-patch,2013-05-08T22:12:31Z,2013-05-13T04:19:11Z,"The image post format UI is not friendly enough. There is too much emphasis on providing a URL or HTML, and not enough emphasis on using the !WordPress media library.

We should hide the HTML behind a click, kind of like !WordPress.com's toolbar-poster does.",markjaquith
12706,Custom post status bugs in the admin,ptahdunbar,Post Types,3.0,normal,normal,Future Release,task (blessed),new,needs-unit-tests,2010-03-25T14:41:39Z,2013-05-10T12:47:01Z,"A developer should be able to register a custom post status using `register_post_status()`. The admin UI (including post submit box and quick edit) should reflect this new custom post status. Furthermore, there are many hard-coded references to 'draft' and 'pending' statuses in core that should properly use the post status API.

All existing arguments to `register_post_status()` should be fully implemented, should also support per-post-type arguments. As things get implemented across core, there will likely be a need for supporting capabilities and bits of API.

Related: #23169 (register_post_status_for_object_type), #23168 (unregister_post_status).",ptahdunbar
9824,make better use of stubs when verbose rules should apply,,Rewrite Rules,,normal,normal,Future Release,task (blessed),reopened,has-patch,2009-05-15T01:03:56Z,2011-11-02T16:08:26Z,"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
18289,Direct link to plugin installation should have admin chrome,nacin,Upgrade/Install,,normal,normal,Future Release,task (blessed),reviewing,has-patch,2011-07-29T06:02:19Z,2011-11-10T19:05:23Z,"We should be able to provide a direct link to the page to install a plugin, based on the plugin's slug. This does it: wp-admin/plugin-install.php?tab=plugin-information&plugin=log-deprecated-notices. However, there's no admin chrome, no real indication which site you're on, and no name of the plugin.

If we're not loading that page inside an iframe request, it needs the admin around it, as well as a heading. Probably new styling too.

This would serve as a replacement for [http://coveredwebservices.com/wp-plugin-install/ Jaquith's bookmarklet], which broke in 3.2 (frame busting), as well as allow us to integrate a link on extend/plugins for plugin installation. Related, #16923, which is now closed.",nacin
10787,Email administrators that an update is available for core|plugins|themes,dd32,Upgrade/Install,2.9,normal,normal,Future Release,task (blessed),reopened,early,2009-09-15T08:44:47Z,2012-12-03T23:50:09Z,"Inspired by the recent 'email notifications for updates' plugins discussion on wp-hackers/other forums, I'd like to propose the functionality actually be included in core.

I'm thinking of a daily email (Or perhaps, even when WordPress does the update checks) that says along the lines of:

{{{
WordPress would like to notify you that you have 3 updates available:
WordPress 2.9.1
Plugin: Super Plugin 4
Theme: My Theme
}}}

Only email when the updates havn't changed since last email.

Core potential? Or leave it for plugin material?",dd32
18200,Language Packs,nacin*,Upgrade/Install,,normal,normal,Future Release,task (blessed),accepted,has-patch,2011-07-21T21:09:28Z,2013-04-04T21:10:54Z,"Implement language packs for core, plugins, and themes.

Inspiration and code can hopefully be derived from the corresponding GSoC project.

This will require quite a bit of work in GlotPress, on api.wordpress.org, and in core. I will take point, but assistance will be needed. A number of decisions will need to be made. I will begin designing a document for what exactly needs to be done over the next week.",nacin
15645,Refactor widgets.dev.css,,Widgets,3.1,normal,normal,Future Release,task (blessed),new,has-patch,2010-12-02T12:21:33Z,2012-12-24T07:05:58Z,Standard refactor of widgets.dev.css to be much more awesome. See #14770,JohnONolan
11303,XMLRPC (and APP) APIs should expose all Post/Page/Comment management functionality,westi,XML-RPC,2.9,normal,normal,Future Release,task (blessed),assigned,close,2009-12-01T22:26:01Z,2010-09-23T20:34:55Z,"In #11243 we hid the trash status from {{{wp.getPages()}}} we also hide it for pages (and comments I guess).

Really these apis should be fully featured to allow clients to support the new things the api does.

We should revert the change made for trash for 2.9 and promote the fact that clients should be graceful when using these apis so as to cope when we introduce new features.

We also need to review the need for extra apis to allow trashing/untrashing of posts/pages/comments etc.",westi
22104,High contrast admin colour scheme,,Accessibility,,normal,normal,Awaiting Review,feature request,new,,2012-10-04T17:35:54Z,2012-11-20T16:57:21Z,"We should consider bundling a high contrast admin colour scheme with WordPress to aid accessibility for the visually impaired.

Some discussion on this has taken place previously on IRC but nothing much beyond that.

Some potential points of discussion:
 * Is anyone in the [http://make.wordpress.org/accessibility/ WordPress accessibility group] an expert on accessibility for the visually impaired? Can we get someone on board for some expert guidance?
 * Is an admin colour scheme sufficient? Would any JavaScript need altering too? If so, would an admin colour scheme suffice as a starting point?

Related:
 * [http://www.timobrienphotos.com/2009/03/hich-contrast-admin-color-scheme-for-wordpress/ A high contrast admin theme plugin]
 * [http://wordpress.org/support/topic/admin-color-scheme Support forum discussing admin theme for visually impaired user]
 * [http://wordpress.org/extend/plugins/easy-admin-color-schemes/ Easy Admin Colour Schemes plugin]",johnbillion
24324,Placeholder support to login form,,Accessibility,,normal,minor,Awaiting Review,feature request,new,has-patch,2013-05-12T09:59:13Z,2013-05-14T14:44:34Z,wp_login_form isn't support placeholder attribute yet. It would be good. Isn't it?,m_uysl
24119,A uniform approach to Plugins / Themes settings,,Administration,3.5.1,normal,normal,Awaiting Review,feature request,new,,2013-04-18T07:28:14Z,2013-04-26T22:16:55Z,"Yesterday [https://irclogs.wordpress.org/chanlog.php?channel=wordpress&day=2013-04-17&sort=asc#m2987650 in IRC] (#!WordPress), we had a conversation about rules that would help make plugins and themes easier to use, which in turn would make !WordPress easier to use.  

There isn't a rule or guideline whether a plugin should make a tab or link under settings or if it even has to do any of the above. We all agreed that all plugins should have a link under settings. If the plugin enhances a different part of the site, the settings page could just tell you where the plugin feature is located. 

We also agreed that themes should put features like a static front page under customize like most already do, though I heard Responsive doesn't. I was told it puts static front page under settings. If it is a theme feature, then logically you should be able to at least find a link to where the features are under themes. 

Implementing general rules for plugins and themes would make !WordPress easier to use. Does anyone else agree?
    ",ryansatterfield
21925,Ability to upload multiple .zip files to install in bulk,,Administration,,normal,normal,Awaiting Review,feature request,new,,2012-09-19T12:40:09Z,2012-09-28T08:03:18Z,"It'd be nice to have a drag-and-drop or similar functionality to the Media Uploader to be able to select 5, 10, 17 plugins/themes to upload several .zip files at a time.

Of course, if a folder already exists or if you upload a theme .zip to the plugins page or something like that, then display the appropriate error(s). Otherwise, display the success notification per install.",cliffpaulick
12801,Add Info link to plugins management screen,,Administration,3.0,normal,normal,Future Release,feature request,new,,2010-04-01T19:08:40Z,2013-01-22T01:40:01Z,"Related to #11050 but instead of the search results, on the regular plugins.php screen. Add ""Info"" link to left of Activate/Deactivate action links, which brings in the tabbed info from the repo. If not from the repo, link does not appear.",jane
21665,"Allow non-editable pages to be classified & organized as ""System Pages""",,Administration,,normal,normal,Awaiting Review,feature request,new,dev-feedback,2012-08-23T01:08:34Z,2013-01-22T03:21:44Z,"We currently have no means of distinguishing regular “content” pages (pages that users can edit) and pages that are used as placeholders for custom templates / dynamic content.

As alexking mentions in #17470, users are often confused when they attempt to edit these ""placeholder"" or ""dummy"" pages only to find that the pages appear empty from within the page editor.

While his ticket concerned the ""page_for_posts"" page specifically, this issue is equally relevant to custom page templates that do not make use of user-generated content via the page editor.

isaackeyet proposed a solution [http://core.trac.wordpress.org/ticket/17470#comment:4 in that ticket] which introduces the idea of classifying such pages as ""System Pages"", which would offer a more limited set of options for how they can be changed:

>Idea to solve this permanently as brought up in the UI chat July 10 2012:
>
>* Pages have a new, hidden meta field to indicate ""System Page"" or >something that better describes it. Pages are marked System Page when >WP is using it as a placeholder for a custom blog set up, or a plugin >can use it to indicate a page is used for a contact form (for >example).
>* Pages are highlighted with a meta description in the pages list, >indicating why it's there (created by? reason?)
>* Most importantly, these System Pages are grouped in the pages >filter to be excluded from the regular list, so the list may read >""All | Published | System Pages"", which should be a better long term >solution for this ticket specifically (user confusion).



",bootsz
12273,Better support for sites with LOTS of pages,,Administration,2.7,normal,normal,Future Release,feature request,new,,2010-02-18T15:10:02Z,2011-04-18T14:41:23Z,"The default page listing is inadequate for sites utilise Pages as their main content type.

An option to collapse the page listing and hide ""all"" sub-pages (only showing top-level) would dramatically improve the UI making it easier to find pages within the WordPress structure.

'''Example:'''

''Current Page View''

{{{
Page 1
-SubPage 1.1
--SubSubPage 1.1.1
--SubSubPage 1.1.2
-SubPage 1.2
-SubPage 1.3
Page 2
-SubPage 2.1
-SubPage 2.2
--SubSubPage 2.2.1
--SubSubPage 2.2.2
}}}

''Proposed Page View''

''Default View''

{{{
Page 1 [+] (< click to expand)
Page 2 [+]
}}}

''Expanded View''

{{{
Page 1 [-] 
-SubPage 1.1 [+] (< click to expand)
-SubPage 1.2
-SubPage 1.3
Page 2 [+]
}}}

''...''

{{{
Page 1 [-]
-SubPage 1.1 [-]
--SubSubPage 1.1.1
--SubSubPage 1.1.2 (> no further levels)
-SubPage 1.2
-SubPage 1.3
Page 2 [+]
}}}
",mkjones
20013,Clean Up Touch UI for Left NavMenu / Flyouts,,Administration,3.3.1,normal,normal,Future Release,feature request,new,reporter-feedback,2012-02-10T16:30:50Z,2013-01-22T15:24:19Z,"While the flyout is mostly usable in it’s current state, it is not as intuitive as it needs to be for the best user experience. They are ineffective at best on the Kindle Fire’s Silk Browser, but work pretty well on the iPad.  We need to examine all target devices to ensure interactivity is supported cross-device.",georgestephanis
19239,Combine WordPress News and Other WordPress News dashboard widgets,,Administration,3.3,normal,normal,Future Release,feature request,new,has-patch,2011-11-12T19:01:42Z,2013-05-14T19:49:51Z,"We could lighten the dashboard by making this one widget with configuration instead of two separate ones. Anything from WordPress.org official blog would get a highlight to designate it as such. Configure would allow to choose display of both feeds or jus one, and how many items to show.",jane
22862,Consider a CSS preprocessor,,Administration,,normal,normal,Awaiting Review,feature request,new,,2012-12-11T22:01:36Z,2013-01-16T10:33:34Z,"The WordPress admin UI CSS is woefully doomed to a life of inadequacy unless we can amenably agree to use technology already available to build a better future for us and our children.

I propose the introduction of SASS for the WordPress admin styling. SASS is a CSS pre-processor that allows us to write DRY, structured, lightweight CSS. In terms of licensing, SASS is GPL-compatible, licensed under the MIT license.

'''Why use SASS over LESS?'''

The answer is simple. SASS is easier to learn and easier to use because it follows the conventions of CSS at its core. In addition, for developers itching to contribute, there are some extremely useful and easy-to-follow reference docs for SASS, making it easy to set up your local development environment and build websites.

'''What are the advantages?'''

The biggest advantage is that we can write less CSS and offer advanced features for theming the WordPress Admin UI. Developers can more easily reskin the WordPress admin.

Another major benefit is that SASS offers the use of variables within our stylesheets. For our purposes, these variables can be used to calculate layout widths, generate color schemes, font sizes, etc.

Another simple advantage is the fact that we can combine all our CSS styles into a single stylesheet, saving precious HTTP requests. In addition, we can easily minify generated CSS files in bundled versions of WordPress, saving file size and killing unnecessary white space, thus decreasing load times of the admin even further.

'''What are the disadvantages?'''

Developers will need to install Ruby and SASS in order to modify styles for the WordPress Admin. For plugin authors, we should write admin UI CSS in such a way that it is easily overridden with a custom CSS file.

In addition, developers would need to learn SASS if they are going to work directly on the styles for the WordPress admin. For the most part, once you've got the idea of variables, mix-ins, and the structure - you're ready to rock.

Last, but not least, when SASS files are modified, they would need to be compiled and committed to Core every time they change. So instead of pushing a single CSS file, you would be pushing potentially many SCSS files and a generated CSS file.

'''In Summary'''

SASS is a great way to reduce code overhead by adhering to DRY principles and will improve performance and modularity in the WordPress admin, which is a top priority.",chriswallace
20301,Enable media library access from blogroll,,Administration,3.3.1,normal,normal,Awaiting Review,feature request,new,,2012-03-25T08:50:37Z,2012-03-25T17:10:03Z,"Currently WordPress doesn't give you the option to easily add images from your WordPress plugin to your blogroll items (links). I just released a plugin to do that (http://wordpress.org/extend/plugins/blogroll-media-library-image/) and was told this would be a good one to add to core.

I would love to add a diff-file, but I have no idea how to do this.",illutic
24313,Filter Columns by View,,Administration,,normal,normal,Awaiting Review,feature request,new,,2013-05-11T01:18:56Z,2013-05-11T14:12:54Z,"After searching extensively for a way to do this, and discussing this with fellow WordPress developers, I believe I have found a feature that should be added to WordPress.

When you make a new custom post type, if you have WordPress register a UI for it, it outputs a screen named ""All XXXX's"". Within these, WordPress automatically adds filters. So let's say I've registered a CPT called Downloads. 

So I can now use the built in UI for Downloads and filter the page to show just pending downloads, or just published downloads, for instance.

However, the issue becomes what if you want to display a column for some views, but not others. For instance, if Downloads has a column called ""Sales"" where the number of sales of that particular download is stored, it makes no sense to show that column on Pending Downloads (since they can't have sales before being published).

Currently, at least after days of trying to find a way of doing this, there is no way to do this for the tables registered by WordPress. If I make my own List_Table, then I can do this.

However, there should be a way of adding columns based on filter, so that a developer who adds a column programmatically can go:
{{{
if($view != pending){
// register sales column
}
}}}

Feel free to correct me if I've overlooked a method of doing this.

-Chris",chriscct7
18848,Filter post listing screen by post parent,johnbillion,Administration,3.3,normal,normal,Awaiting Review,feature request,assigned,,2011-10-03T16:19:10Z,2011-10-03T18:56:58Z,"It's not possible to filter a post listing screen by post_parent. This would be super handy for hierarchical post types (eg. Pages) where you may have several levels of hierarchy and want to view only the descendants of a particular page. I'm not sure that we need a UI (eg. dropdown menu) for it, but a working URL query var would be great.

I made an attempt at patching this a while ago using the child_of parameter but it got complicated quite quickly, so I'm putting it out there as a feature request in case anyone feels like tackling it.",johnbillion
16434,"Give site admin ability to upload favicon in Settings, General",,Administration,3.1,normal,normal,Future Release,feature request,new,has-patch,2011-02-01T16:57:34Z,2013-02-14T18:13:55Z,"WordPress has come a long way in terms of making it possible for someone completely non-technical to create a professional web site for a person or business. One of the little things that is still annoyingly technical is adding a favicon. WordPress.com does this via the Blavatar feature, a name I wouldn't really want us to adopt b/c this is more CMS-oriented, but the ease of uploading an image, scaling and cropping it, then having it become the favicon is something I do want to adopt. Keeping it a theme-based thing means the non-technical can't control it for their sites, which is lame.

",jane
13516,Hide JS-only widgets on dashboard is no JS,,Administration,3.0,normal,normal,Future Release,feature request,new,,2010-05-24T13:16:42Z,2011-12-24T16:16:41Z,"We hide screen options and help; we should also hide these widgets instead of displaying by default with the 'you need JS' message. Affected modules: QuickPress, Incoming Links, Plugins, WordPress Development Blog, Other WordPress News. 

We should display an additional module for no-JS people that lets them know that their WordPress install would be even more awesome with JavaScript, and list out some of the features they would gain access to with JS enabled. ",jane
22056,Integrate a list of notices for newbie users,,Administration,3.4.2,normal,normal,Awaiting Review,feature request,new,dev-feedback,2012-09-30T14:39:40Z,2012-10-02T18:21:13Z,"Integrate a list of possible warnings and notices for the power-user (admin) if some problems or security thread occur, or to check if the site was infected with viruses and malicious .php files...

Example:
- Notice: GD Graphics Library is not installed, install this so the images could be resized
- Notice: Your site is not giving search engines the right to index the site, please consider changing the settings.
- Warning: An unknown file mail.php is in the site main directory, please check if you are not infected.
- Notice: Your site files permissions are set to 777, please change to 644 or 640, your site is in a security thread.
- Notice: Upload folder is not writable, please change permission to 755 for the upload dir.
- Notice: Please use a caching file plugin to make your site load faster than ever.
",alexvorn2
15289,Make it easier for a non-standard URL to be used to access wp-admin,,Administration,3.1,normal,normal,Future Release,feature request,new,dev-feedback,2010-11-02T13:27:05Z,2013-02-07T21:51:15Z,"For some sites it is vital that the admin be accessible via a path other than {{{/wp-admin/}}}. Clients sometimes require this because it is easier for their users. Also, it is useful if replacing another CMS with WordPress for the root of the admin to have the same URL, although this can be partially fixed with a redirect.

Even when not ''required'' per se, some of us prefer to use a different URL to access the admin because it is more intuitive for our users to use something like {{{/admin/}}} instead of {{{/wp-admin/}}}.

To be clear: I am not suggesting renaming the wp-admin directory, nor am I suggesting adding an option in the UI to change the path.

Rather, I am suggesting that small tweaks be ade to make it easier for power-users to enable the use of a different URL to access the admin area.

I suggest making the following changes :

'''1.''' Use relative urls within the admin where possible without affecting standard installations.

'''2.''' Allow power-users to add a constant to wp-config.php to change the path of the admin for those links which have to be absolute.

I don't think there is much work involved and I am happy to do it.

Core devs have in the past stated that the user of alternative urls to access the admin is 'not supported', but it is unclear whether this simply means that it doesn't work at the present time or that the core team is opposed to allowing it to happen.[[BR]]
If the latter is the case, I would appreciate an explanation - I'm sure there is a good reason if that is the case, but I can't for the life of me think what it could be. ;)",caesarsgrunt
14676,"Moderation email option is confusing, limited",,Administration,,normal,normal,Future Release,feature request,reopened,,2010-08-23T17:06:23Z,2012-05-22T00:53:20Z,"The setting is ""E-mail me whenever a comment is held for moderation"" but in that sentence ""me"" is inaccurate; moderation emails are sent to admin_email.

""Email the admin ($admin_email) whenever"" would be accurate.

Here's a related question: Why not send moderation emails to post authors?",andy
9057,"Need ""restore defaults"" buttons on all admin screens",,Administration,2.7,normal,normal,Future Release,feature request,new,,2009-02-06T08:50:30Z,2011-07-08T15:06:31Z,"Need ""restore defaults"" buttons on all admin screen items, else once
you change something, there's no way to get it back to whatever the
default was, or find out even, short of a total reinstall. Includes
""screen options"" items too.
",jidanni
23930,Screen option for post formats UI,,Administration,trunk,normal,normal,3.6,feature request,new,needs-unit-tests,2013-04-03T18:28:10Z,2013-05-14T18:16:58Z,"As discussed in IRC, there should be a screen option for the post format UI on the post editing screen.

Nacin would like the UI to be hidden by default when the current theme does not support post formats and there are no non-standard format posts in the database. In this case, the UI would have to be enabled by the user. The UI would need to be automatically enabled when a theme that supports post formats is activated.

Willing patchers, make yourself known.

See also #23929

IRC logs:

https://irclogs.wordpress.org/chanlog.php?channel=wordpress-dev&day=2013-02-18&sort=asc#m558297

https://irclogs.wordpress.org/chanlog.php?channel=wordpress-dev&day=2013-04-03&sort=asc#m588002",johnbillion
12004,Select Sidebar when adding Posts/Pages,,Administration,3.0,normal,normal,Future Release,feature request,new,,2010-01-25T13:26:16Z,2010-01-25T23:28:01Z,"Hey all,

I think it would be a cool feature to be able to create sidebars in WP, and then when creating a page you can choose that specific sidebar.

I think that this can be accomplished by using the ''Parent'' page technique of selecting if the Page has a Parent and if so which one.

Can we develop an option to choose a Sidebar created in the Widgets panel?

Cheers,
Aron
ps: if my help is needed ( im good at design, not coding ) please contact me: info@zipyourmix.com ;)!",lsddesign
11972,Sort View Post/Pages by Column,,Administration,3.0,normal,normal,Future Release,feature request,new,,2010-01-21T21:46:27Z,2010-03-21T01:51:40Z,"Recently I discovered in WPMU in Site Admin options, you can sort for instance Site Admin->Blogs by last activity date. That is a very handy feature, and certainly would useful for a site with hundreds of nested pages. To be able to sort that list by date, rather than just title would be useful, as it sorts by title of the parent page, and finding a 3rd level child can be difficult to say the least. The search feature is lacking but that is for another ticket.  Likewise, sorting posts by category, author, etc could be useful. Since the functionality seems to already be there for sorting these type columns, and the code's been moved in already, I'd think it'd be a nominal change. I simply don't know what direction these menus are going yet to offer a working suggestion. Just wanted to get my 2¢ in before it's too late.",miklb
23575,Standard UI Classes and Functions,,Administration,3.5,normal,normal,Awaiting Review,feature request,new,,2013-02-21T09:09:27Z,2013-02-22T02:31:55Z,"It would be nice if wordpress allowed you to use the Post UI natively in my plugins, at the moment I've had to write a few classes for my Plugin Framework that mimic the Publish Metabox and Tabbed Metabox. 

As there is simply no easy way to do this at the moment, I think there should also be a better way of registering hidden menus. I have to jump through loads of hoops just to do this.

",jscampbell.05
17460,WP Updates througth SSH Script,bugdev,Administration,3.2,normal,normal,Awaiting Review,feature request,new,dev-feedback,2011-05-16T19:57:14Z,2011-05-16T20:45:56Z,"The current WP Update engine is very unsecure, because if there is a webserver issue or a connection timeout, memory overflow, connection issue than the wordpress update is corruptes.

More secure the update will be if we can do/execute a php script or ssh script througth the terminal, what also gives advanced informations about update errors ect.",bugdev
18179,WP_Meta_Box,,Administration,,normal,normal,Future Release,feature request,new,has-patch,2011-07-20T01:05:50Z,2013-03-08T16:31:47Z,"Ryan, Nacin, and I would like to see a Meta Box class in 3.3. Let's make it happen.

Attached is a first pass (in plugin form, for ease). It provides a basic API and supports multiple instances. Instances are stored in a static meta box registry, which should require minimal interaction.

Keep in mind that meta boxes are not just registered on CPT pages — they are also used on the dashboard, in menus, and in custom UIs. The parent class should be suitable for each of these cases.

I think we should move caps to the main Meta Box class (and allow subclasses/instances to specify/override the cap through $args), and also provide $args to enable/disable any checks we perform before saving (e.g. autosave, etc).

It would also be interesting to integrate this with the proposed metadata API improvements.

See #15066 for prior discussion.",koopersmith
22734,do_action-post_edit_form_tag,,Administration,3.4.2,normal,normal,Awaiting Review,feature request,new,reporter-feedback,2012-12-04T18:01:27Z,2012-12-04T18:21:12Z,"Possible to add an action on the form for adding media.

{{{
File : /wp-admin/media.php
Line : 115
}}}

{{{
<form method=""post"" action="""" class=""media-upload-form"" id=""media-single-form"">
}}}

to

{{{
<form method=""post"" action="""" class=""media-upload-form"" id=""media-single-form""<?php do_action('post_edit_form_tag'); ?>>
}}}",bems78
21455,HiDPI (retina) theme custom backgrounds,Otto42,Appearance,,normal,normal,Future Release,feature request,assigned,,2012-08-02T17:07:06Z,2012-09-15T05:22:40Z,"We should support HiDPI custom backgrounds.

This will be a bit easier than custom headers, #21389, as we can do a media query in _custom_background_cb(). Worth noting that we will still need to solve some aspect of retina uploads, #21038.",nacin
21389,Retina theme custom headers,Otto42,Appearance,,normal,normal,Future Release,feature request,assigned,,2012-07-25T19:40:56Z,2013-04-06T23:33:11Z,We should support retina custom headers. Not sure how — ideas welcome.,nacin
21666,Theme customizer reset,,Appearance,3.4.2,normal,normal,Awaiting Review,feature request,new,,2012-08-23T10:09:49Z,2013-05-18T13:13:22Z,"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
20025,Add a filter for post types when viewing list of comments in the backend,,Comments,3.3.1,normal,normal,Awaiting Review,feature request,new,,2012-02-12T14:03:49Z,2012-02-12T14:38:23Z,Filtering comments based on post type,nprasath002
12223,Adding a titles to comment levels with the walker class,,Comments,,normal,normal,Future Release,feature request,new,,2010-02-14T11:20:07Z,2010-02-14T17:52:36Z,"Hi Everyone! 

This is only my second post here, and my first feature request, so please excuse me if I have duplicated something or my solution is completely unsuitable. 

I am experimenting with the CMS capabilities of Wordpress, especially the enhanced post_type GUI in the new 3.0 alpha release. While building a sort of Yahoo Answers type platform, I wanted to have 1st level comments as answers to a question (a post), and 2nd level comments as comments on the answer (1st level comments). I wanted to label comments on an answer as ""comments"", but this is not really possible to do, to my knowledge, using ""wp_list_comments"".

I created my own function for wp_list_comments so I didn't have to modify Wordpress core, in order to get at the walker class at the bottom of wp_list_comments. I wanted to use start_lvl to add a title for comment level 2. However, start_lvl in ""class Walker_Comment extends Walker"" will only let you change the list type to ""ul"", ""ol"" or ""div"". My idea is to add an argument which would allow you to add a title, along with specifying it's heading (or surrounding tag). As I said, I am not an expert on Wordpress coding standards, so the following code may be completely off. 

{{{
/**
   * @see Walker::start_lvl()
   * @since unknown
   *
   * @param string $output Passed by reference. Used to append additional content.
   * @param int $depth Depth of comment.
   * @param array $args Uses 'style' argument for type of HTML list.
   * @param array $args Uses 'title' argument for title text.
   * @param array $args Uses 'title_heading' argument for title text heading level.
   */
	

function start_lvl(&$output, $depth, $args) {
  $GLOBALS['comment_depth'] = $depth + 1;
  
    switch ( $args['style'] ) {
      case 'div':
        break;
      case 'ol':
        echo ""<ol class='children'>\n"";
        break;
     default:
     case 'ul':
        echo ""<ul class='children'>\n"";
        break;
    }
	
	if (!empty ($args['title'])) {
	  
      if(!empty ($args['title_heading'])) {
	    echo '<'.$args['title_heading'].'>';
	  }
	  
	  echo $args['title'];

	  if(!empty ($args['title_heading'])) {
	    echo '</'.$args['title_heading'].'>';
	  }
	
	}
	
}
}}}",danielpataki
16252,Allow comment reparenting to fix poor threading,,Comments,,normal,normal,Awaiting Review,feature request,new,has-patch,2011-01-15T23:12:25Z,2012-04-29T10:48:16Z,"For the OCD among us, it would be super nice to be able to edit the comment_parent, to properly thread comments made in the wrong place/threading order.

Choose your own UI, but even just a numeric editor in the Quick Edit area would be a huge enhancement.",Otto42
18417,Comment whitelist in discussion settings,,Comments,,normal,normal,Awaiting Review,feature request,new,,2011-08-15T18:48:46Z,2011-08-17T09:49:25Z,"Currently, there are methods for automatically flagging comments for moderation or blacklisting comments, but there's no way to auto-approve comments that meet a certain criteria.

In Discussion Settings, it would be nice to have ""Comment Whitelist"" option to automatically approve comments from a specific IP address, using a specific email address, or matching certain keywords.

One use case: a conference or workshop where lots of people are posting comments from the same IP address often invokes the ""Slow down, you're posting too fast"" message. Instead, we should be able to add the IP address to the whitelist (possibly temporarily) so that everyone can comment without hitting the restriction.

The concern I can think of is that this would add another large paragraph box to the Discussion Settings view.",danielbachhuber
18630,Custom Comment Validation Error,,Comments,3.3,normal,minor,Awaiting Review,feature request,new,,2011-09-09T19:49:33Z,2012-04-04T18:16:21Z,"One of the things that bugs me about WordPress is not being able to customize the wp_die() function that is called on comment form validation. I have seen some people sugget core hacks, eek. I'm hoping that a hook is added to allow overriding of the default wp_die(). Maybe even a new template file wp_error.php that would be called first. 

I haven't found a lot of discussion on this in trac just #11286 and #10551",bandonrandon
12986,Enhancement to comments_popup_link(),,Comments,,normal,normal,Future Release,feature request,new,has-patch,2010-04-13T06:25:13Z,2010-04-18T05:53:20Z,"Currently ""Comments Off"" is wrap with <span> tag, but not ""Enter your password to view comments."" if post requires password. 

The idea is to wrap ""Enter your password to view comments."" with span tag, have its own css class e.g enter-password. Also adds $css_class if set. This way, theme author can easily style it based on post / comment status condition.

And add another paramater $password so that theme author can customize the text to display if post is password protected.

Need 2nd opinion with the attached patch.

",zeo
18997,Adding wp_unschedule_hook function,arena,Cron,3.3,normal,normal,Future Release,feature request,reopened,needs-unit-tests,2011-10-19T07:45:11Z,2012-04-20T00:02:54Z,"
Unschedule all previously scheduled cron job for a hook.

Can be usefull for plugins when deactivating to clean up the cron queue

The $hook parameter is required, so that the events can be identified.

@param string $hook Action hook, the execution of which will be unscheduled.
",arena
21055,Interface for wpdb compatibility,,Database,,normal,normal,Awaiting Review,feature request,new,,2012-06-23T17:30:13Z,2012-08-24T01:40:01Z,"==Summary==

From the wp-includes/wp-db.php file:
{{{
It is possible to replace this class with your own
by setting the $wpdb global variable in wp-content/db.php
file to your class. The wpdb class will still be included,
so you can extend it or simply use your own.
}}}

When one implements a db class that does not extend wpdb, it would be safer that the new class implements an interface. This interface may be called wpdb_compat and would assure that the class has all necessary methods/properties. Of course, wpdb_compat should be supported by wpdb too.

== Design Strategies ==

My patch adds:
* wp-includes/interfaces/wpdb-compat.php

Very small edits to:
* wp-includes/wp-db.php
* wp-includes/load.php
* wp-admin/install.php

At the moment, WordPress does not include any interface; this means that there is not a directory for interfaces.[[BR]]
In my first draft, I put it in wp-includes/interfaces so that - if more interfaces will be added in the future - they will have a logical place.
",santec
10660,Time zone suggester based on nascent WordPress.org API call,rmccue,Date/Time,2.8.4,normal,normal,Future Release,feature request,assigned,has-patch,2009-08-20T05:59:42Z,2013-02-19T19:00:38Z,"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
22180,"Add attachments to ""existing content"" area in link dialog",,Editor,3.4,normal,normal,Awaiting Review,feature request,new,,2012-10-12T20:59:26Z,2012-11-13T01:30:57Z,"At the moment, the process for linking to attachments within the editor is rather cumbersome. Each time someone wants to link to a PDF document or other item they've uploaded through the media interface, they have to take the following steps:

1. Upload the file through the media uploader
2. Press the File URL button in the media modal
3. Copy the URL from the ""Link URL"" box
4. Close the media modal
5. Highlight the text they want to link
6. Press the ""Insert/edit link"" button in the editor toolbar
7. Paste the URL from their clipboard into the URL input

It would be nice if attachments could be included in the ""Link to existing content"" area within the link dialog.

I can see two possible ways of implementing this. Either simply include attachments in line with the pages, posts and custom post types that already display in that area; or, use a tabbed interface to switch back and forth between the normal ""existing content"" list and a list of existing attachments.

When I discussed this with Nacin and a few others at WordCamp Baltimore, we proposed adding a preference (possibly based on the information that's stored when the user uploads the media) determining whether the permalink leads to the attachment page or the actual file.

Based on my preliminary research, it looks like implementing this will essentially take two steps:

1. Add 'attachment' to the `$pts` array at the beginning of the `_WP_Editors::wp_link_query()` method.
2. If the preference has been set to link to the actual file, the code will need to adjust the `permalink` value in the `$results` array for anything that comes up as an attachment.

I'll look at starting a patch for this over the next few days, unless someone else gets to it first. Thanks.",cgrymala
21188,Fullscreen (distraction-free) editor should have a preview button,,Editor,,normal,normal,Awaiting Review,feature request,new,,2012-07-08T08:36:00Z,2013-01-08T14:01:54Z,"Per http://alexking.org/blog/2012/07/06/wordpress-fullscreen-preview-button

I do find it annoying to have to exit fullscreen, preview, then flip back to fullscreen.",markjaquith
19109,Want display fullscreen button only html editor mode.,,Editor,3.2.1,normal,normal,Awaiting Review,feature request,new,,2011-11-02T03:18:48Z,2011-11-02T03:37:55Z,"v3.2.1 writing fullscreen mode is display button both visual mode and html mode or visual mode only.

I want to display html mode only button. Want the following specification.

1. visual mode and html mode
2. visual mode only
3. html mode only <- new

Regards.",tatsuya
11489,iTouch useability in the editor out of the box,,Editor,2.9,low,minor,Future Release,feature request,new,dev-feedback,2009-12-19T03:47:58Z,2013-02-01T11:37:40Z,"I have tried to write a post in 2.9 in iPod Touch and the text zone has some problems:

* When you write the title, if you want to write the post the keyboard doesn't appear. You must move to another text-editable zone and go back to the main text zone to have the keyboard. 

* Once you have the keyboard, you have capslock activated and cannot deactivate it (you can deactivate letter-per-letter). 

I have tried in 2 different iTouchs with the same result. 

I put it as low because WordPress has an iPhone/iTouch app and don't know if happens the same in other mobile platforms. ",bi0xid
22346,Add Videojug.com to internal whitelist,,Embeds,3.4.2,normal,normal,Awaiting Review,feature request,new,has-patch,2012-11-02T15:30:50Z,2012-11-05T10:48:00Z,"Dear Wordpress,

I am writing on behalf of Videojug. We create and distribute hiqh quality ""How-To"" online content, and have been producing professional, instructional, short-form video content since 2006. We receive many requests monthly from our Contributors and Users asking for assistance in embedding our videos in their Wordpress sites. Currently it is a convoluted process involving plugins adding complexities.  

Other video providers in our sector are already whitelisted. We would like to be added please to your internal whitelist, allowing any Wordpress blogger to embed our videos by copying the URL just like they would when embedding a Youtube video. Our own embed code has been stable for a long time.

We have our oembeds working in the following wordpress account:
[http://chloeluper.co.uk/index.php/embed-test-page/]

This is the add oembed provider code:

{{{
wp_oembed_add_provider( '#http://(www\.)?videojug.com/(film|interview)/.*#i', 'http://www.videojug.com/oembed.{format}', true );
}}}

I have attached the modified default theme.

Thank you
Imad Salhi
 ",Videojug
23622,Support Google Maps / Docs / Spreadsheet embeds,,Embeds,,normal,normal,Awaiting Review,feature request,new,,2013-02-26T06:08:17Z,2013-05-20T18:54:44Z,"Google Maps and Drive (docs, spreadhseets, and presentations) all can do embeds, but don't support oEmbed. Still, I think they're big enough for the core to have support for natively. We already have Google Video support, and it's pretty much dead now.

Initial patch attached. 

- To get a Maps URL, view a Google Map, then select the ""Link"" icon in the left menu bar, top-right corner.
- To get a docs/sheet/presentation URL, open the item, select ""File->Publish To Web. Once it's published and visible to the web, the dialog will give a link for you to copy/paste.

This uses the normal embed handler, meaning that either the [embed] shortcode or just pasting the URL on a line by itself will trigger the embed. Width and height parameters are supported, and Presentations has special parameters to allow full-screen viewing.
",Otto42
23431,[embed] shortcode doesn't work with do_shortcode(),,Embeds,3.5,normal,normal,Awaiting Review,feature request,new,has-patch,2013-02-09T15:05:02Z,2013-02-10T15:35:37Z,"It would be preferable to use the [embed] shortcode through do_shortcode rather than apply_filters( 'the_content',... in order to avoid sharing plugins, related posts plugins etc appending content to something that could simple be post meta, i.e. looking to convert a youtube url to a video.",jtsternberg
17379,Filtered exports drop attachments and featured images,,Export,3.0,normal,normal,Awaiting Review,feature request,new,has-patch,2011-05-11T18:37:31Z,2013-01-29T06:46:59Z,"When using Tools>Export, targeting a specific author, the resulting XML file does not contain a reference/link to any Featured Image (thumbnail) associated with these posts.

On the other hand, Tools>Export ""all content"" (including all authors) produces an XML file that does contain reference/link to Featured Image.

Request: Have Tools>Export ""specific author"" generate the same metadata as the ""all content"" export, so that Export ""specific author"" will also include metadata reference to the Featured Image.

Many people (including myself) use ""specific author"" as a way to export some, but not all, posts. Full metadata would really help. Thanks.",billseymour
8994,Incorporate MediaRSS Plugin into core,technosailor,Feeds,,normal,normal,Future Release,feature request,new,,2009-01-29T18:00:20Z,2013-01-05T09:05:59Z,"Per conversation on the hackers list, this ticket is a working area for incorporation of the MediaRSS plugin (http://wordpress.org/extend/plugins/mrss) into core for WP 2.8.",technosailor
24368,Renaming feature for wp-includes,,Filesystem,3.5.1,normal,normal,Awaiting Review,feature request,new,dev-feedback,2013-05-19T18:24:16Z,2013-05-20T06:37:10Z,"Currently it is possible to rename wp-content to anything you want. WordPress has a definition built in for wp-includes, that is WPINC, however, this definition isn't used in about 15 - 16 core files preventing it from being changed (For example, some CSS doesn't load for the admin bar). I have added the files that I have changed to allow this to work, to work add a definition for WPINC to wp-config with the name of your wp-includes folder without and slashes. Without the definition it just uses the standard wp-includes.",JoeIzzard
21610,ssh2/sftp doesn't work with chrooted/openssh sftp-internal user accounts (no shell),albert@…,Filesystem,3.4.1,normal,normal,Awaiting Review,feature request,new,,2012-08-16T16:06:35Z,2012-09-10T18:20:52Z,"The current wordpress 3.4.1 wp-admin/includes/class-wp-filesystem-ssh2.php  code will crash php or spin in an endless loop when someone supplies ssh/sftp credentials (username/password) to an (open)ssh server where users don't have a shell and are chrooted to their home directory e.g. by using openssh's sftp-internal server and ChrootDirectory functionality.
There is no neat fix for the code in the WP_Filesystem_SSH2 class. I've implemented a new WP_Filesystem_SFTP class making use of the portable phpseclib library.

At this moment it is necessary to change a line in wp-admin/includes/file.php to be able to use WP_Filesystem_SFTP.
Attached is the code for this new class up for review or for anyone with the same problem.",albert@…
23236,Add functions to format attributes,,Formatting,,normal,normal,Awaiting Review,feature request,new,,2013-01-19T06:32:57Z,2013-05-16T04:15:04Z,"I'd like to see WP add functions for attributes. These would be extremely useful and resuable for theme devs and internally. I've developed very solid generic functions for this in [http://phat.airve.com phat] and would be happy to make WP versions to the effect of:

{{{
wp_attrs( $array ) // converts array to attributes string
wp_attrs( $name, $value ) // formats attribute string
wp_attrs( $string ) // reformats attribute string
wp_parse_attrs( $string ) parses attributes into assoc array
}}}",ryanve
9437,Allow the use of inline SVG in posts,,Formatting,2.5,normal,normal,Future Release,feature request,reopened,,2009-04-01T13:39:25Z,2011-03-31T07:18:17Z,"My WordPress 2.5 install serves the application/xhtml+xml MIME type (true XHTML) for the purposes of inlining SVG which I've done on my 'blog chrome'.  However, if I try to inline SVG in the contents of a post as follows:

<svg xmlns=""http://www.w3.org/2000/svg"">
  <circle cx=""50"" cy=""50"" r=""30"" fill=""blue"">
    <animateTransform attributeName=""transform"" type=""scale"" to=""1.5"" dur=""2s"" fill=""freeze""/>
  </circle>
</svg>

WordPress mangles it into:

<svg xmlns=""http://www.w3.org/2000/svg""><br />
  <circle cx=""50"" cy=""50"" r=""30"" fill=""blue""><br />
    <animatetransform attributeName=""transform"" type=""scale"" to=""1.5"" dur=""2s"" fill=""freeze""/><br />
  </circle><br />
</svg>

There are two problems with this:

1) WordPress converts the <animateTransform> element into a <animatetransform> element.  WordPress should at least preserve the case of the element (whether this is on a whitelist of SVG elements or all elements I don't care).  List of SVG elements are here: http://www.w3.org/TR/SVG11/eltindex.html

2) The extra <br /> elements.  These are forgivable since the elements are simply ignored by the browser's SVG parser.

Can someone confirm the behavior in WordPress 2.7.x?",codedread
17993,the_content vs get_the_content,,Formatting,3.2,normal,normal,Awaiting Review,feature request,new,close,2011-07-05T14:00:01Z,2012-09-14T17:28:19Z,"Wordpress lacks of a main function: obtain full formatted ""content"" without echo! Maybe good to add a param to the_content() like echo(bool)?

I wrote it:

{{{
function the_content_noecho($more_link_text = null, $stripteaser = 0) {
       $content = get_the_content($more_link_text, $stripteaser);
       $content = apply_filters('the_content', $content);
       $content = str_replace(']]>', ']]&gt;', $content);
       return $content;
   }
}}}
",merlinox
11725,Add start and count attributes to gallery shortcode,,Gallery,2.9.1,normal,normal,Future Release,feature request,new,has-patch,2010-01-05T15:00:27Z,2012-08-05T22:58:23Z,"Add shotcodes COUNT for views full gallery after click on MORE. Home

Modify files ./wp-includes/media.php
Lines 699 (add COUNT => '-1')
Lines 767-798 (add ForEach ... )

Use in WP:

[gallery] ... show standard gallery

OR

[gallery count=3] ... show images 1-3
- more -
[gallery count=3+] ... show images 4-n",frymi
12799,Allow gallery shortcode to accept a maximum number of items,,Gallery,2.9.2,normal,normal,Future Release,feature request,new,has-patch,2010-04-01T17:55:55Z,2012-08-27T21:59:51Z,"A ""would be nice"" feature of the gallery would be to allow for a maximum number of items to be displayed.

The main use of this feature would be to allow a page to show a ""preview"" of some of the images contained within one or more subpages, eg:

* Some event
[gallery link=""file"" columns=""4"" orderby=""rand"" maximum=""4"" id=""164""]
* Some other event
[gallery link=""file"" columns=""4"" orderby=""rand"" maximum=""4"" id=""200""]

",dtorbert
17142,Prettier gallery display and navigation through core,,Gallery,3.3,normal,normal,Awaiting Review,feature request,reopened,,2011-04-15T16:14:13Z,2012-07-13T22:44:10Z,"WordPress gallery display and navigation typically feels rather crude from the user point of view. With digital cameras dumping images as IMG_XXXX or long numeric strings, the default image titles are usually prominent and ugly in most of the themes I've tested (see attachments for examples). Some themes use thumbnail navigation instead, but those implementations also feel dated in many (most?) cases.

I realize that the theory is display/navigation is determined by the themes, and that display/navigation can be greatly altered via various plugins...  but the reality of how this plays out results in a default user experience that simply feels outdated. 

Many (most?) themes seem pretty unimaginative in their gallery output and IMHO a more elegant out-of-the-box display and navigation experience seems like it would really be useful for all WordPress users. I would think most users expect something like a Lightbox experience at minimum, but I am not ideologically tied to any particular solution. 

Is there something we could do on the core side to strongly encourage (or even gently enforce) a prettier default construct? 
",hew
20461,View All Gallerys,Jesse Techno,Gallery,3.4,normal,normal,Awaiting Review,feature request,new,close,2012-04-16T22:55:56Z,2012-12-17T15:39:20Z,If you could it would be SO nice to have it so you can see every gallery you have ever posted on your site and then add one gallery to to more then one page/post.,jessetechno
14364,"""Now"" button for current date in update post published date and time",,General,3.0,normal,normal,Future Release,feature request,new,,2010-07-20T15:16:00Z,2010-10-28T10:05:40Z,"It would be very convenient to have a button called ""Now"" in ""Edit post"" window in ""Published on: date @ time"" section. 

Google likes to know when old posts gets updated. So it is recommended to update post ""published on:"" date when post content is updated. When a user wants to update publishing time and date of a post, he must click ""Edit"", then manually enter year, month, day, hour and minute of current date and time and then click ""Update post"". It is quite slow and dull process but it could be automated easily with a new button.

It would be very nice to have a button called ""Now"" which should automatically fill in year, month, day, hour and minute fields with values of current date and time. 

Whenever a user updates post publishing date and time, the date and time that he/she usually enters is current date and time. The ""Now"" button would be a big time saver for users who update their posts.",dovydas
23912,Add Composer package description,,General,3.5,normal,trivial,Awaiting Review,feature request,new,has-patch,2013-03-30T20:44:16Z,2013-05-18T18:51:47Z,"WordPress, as software download, lacks machine-readable source of meta information about it. For PHP projects de-facto standard for such is Composer via `composer.json` file in project root.

While WP currently doesn't use or need Composer dependency functionality, it will help provide information to developers and improve WP usage ''as'' dependency in projects that make use of Composer.

Suggested `composer.json` draft:
{{{
{
	""name""        : ""wordpress/wordpress"",
	""description"" : ""WordPress is web software you can use to create a beautiful website or blog."",
	""keywords""    : [""blog"", ""cms""],
	""homepage""    : ""http://wordpress.org/"",
	""license""     : ""GPL-2.0+"",
	""authors""     : [
		{
			""name""    : ""WordPress Community"",
			""homepage"": ""http://wordpress.org/about/""
		}
	],
	""support""     : {
		""issues"": ""http://core.trac.wordpress.org/"",
		""forum"" : ""http://wordpress.org/support/"",
		""wiki""  : ""http://codex.wordpress.org/"",
		""irc""   : ""irc://irc.freenode.net/wordpress"",
		""source"": ""http://core.trac.wordpress.org/browser""
	},
	""require""     : {
		""php"": "">=5.2.4""
	}
}
}}}
",Rarst
20194,Add Description meta to General Settings,,General,3.3,normal,minor,Awaiting Review,feature request,new,,2012-03-07T20:59:05Z,2012-03-17T13:50:40Z,"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
21375,Add Filter for next_posts_link/prev_posts_link label,,General,,normal,minor,Awaiting Review,feature request,new,,2012-07-25T14:56:47Z,2012-07-26T17:06:56Z,"There is currently a filter 'next_posts_link_attributes' that allows plugins to add/modify classes/rel/etc to the links.  However, the actual label that is displayed for the link is not accessible through this.

I think that the $label variable in function get_next_posts_link should be run through a filter to allow it to be modified by plugins.

For example, a plugin that adds a custom post type of Apple might want these links to say Next Apples or Previous Apples, or if a plugin changes the ordering of posts, it might want to change 'Earlier' type labels that many themes use to better reflect the new ordering system",MadtownLems
12400,"Add a wp_loaded hook, an ob_start hook, and an front end ajax hook",,General,3.0,normal,normal,Future Release,feature request,reopened,dev-feedback,2010-02-27T01:08:08Z,2013-01-22T09:36:26Z,"Requests for some kind of wp_loaded hook have crept up here and there in trac over the years.

Typically, the requester is looking into doing front-end ajax requests and the like. There are other use cases, such as wanting to catch specific URIs -- e.g. a trailing /print/ to the url, which the permalink API is incapable of catching.

They all got rejected on grounds that there is the init hook that can be used just as well for ajax. Or the template_redirect hook in place of an ob_start hook. The list goes on.

When you want WP and plugins to be loaded '''and''' fully initialized, instantiated and ready to go, setting a priority to obscene levels on the init hook works (I typically use 1000000)... but it always feels like you're working around a crippled API.

Starting output buffers on template_redirect with a priority -1000000 feels equally clunky.

Then, there is the front-end ajax. Yes, admin-ajax.php can be used unauthenticated... But the fact of the matter is, you can end up with SSL turned on when it's not useful, and the lack of an wp-ajax.php file makes many a plugin dev wonder where in the bloody hell he should catch his own requests.

It would be sweet if this all got fixed in WP 3.0.

The argument that goes ""a hook already exists"" seems extremely invalid to me. There are many places in WP where two hooks (and oftentimes many more) can be used to achieve the same result. Think wp_headers and send_headers, for instance. What they have in common is some kind of before/after flow, which init and template_redirect are currently lacking.

One could argue that parse_request is nearby init, and that wp is nearby template_redirect, so they'd be good enough. But the first of these parses expensive regular expressions before firing, and both are only known to WP junkies.

Suggested hooks for WP 3.0:

 - a wp-ajax.php file built similarly to admin-ajax.php.
 - an wp_loaded hook at the very end of wp-settings.php, with a commentary that tells plugin authors that init should be used to instantiate, wp_loaded should be used to act once everything is instantiated, and that wp-ajax.php has hooks that are specific to ajax requests.
 - an ob_start (or pre_load_template, or whatever...) hook at the very beginning of template-loader.php, with a commentary that tells plugin authors that the new hook should be used to instantiate such as output buffering once WP is fully loaded, while the second is traditionally used to pick an arbitrary template.",Denis-de-Bernardy
22249,Add ability to set or remove attributes on enqueued scripts and styles.,,General,,normal,normal,Awaiting Review,feature request,new,dev-feedback,2012-10-21T23:29:13Z,2013-03-26T22:18:25Z,"I think it should be easier to customize the loading of scripts and styles (easier to customize the markup generated by the script/style system). Proposed solutions:

'''Solution 1:''' Allow `wp_enqueue_script`, `wp_enqueue_style`, `wp_register_script`, `wp_register_style` to accept an array of attributes as the `$src` parameter. For example:

{{{
wp_enqueue_script( 'my-plugin', array(
    'src' => 'http://example.com/js/app.js'
    'defer' => ''
    'data-my-plugin' => 'custom data attr value'
), array('jquery'), null, true );
}}}

'''Solution 2:''' Add a filter before the markup is generated that allows devs to filter the attributes while they are in array format. For example:

{{{
add_filter('script_loader_attrs', function ($attrs, $handle) {
    unset ( $attrs['type'] );
    'my-plugin' === $handle and $attrs['data-my-plugin'] = 'plugin data';
    $attrs['src'] = remove_query_arg( $attrs['src'] );
    return $attrs;
}, 12, 2);
}}}
In class.wp-scripts.php it might look something like:

{{{
$attrs = (array) apply_filters('script_loader_attrs', $attrs, $handle);
}}}

and/or:

{{{
$attrs = (array) apply_filters(""{$handle}_script_loader_attrs"", $attrs );
}}}

----

I imagine that solution '''2''' would be easier to implement than '''1''', and '''2''' allows for themes/plugins to modify scripts/styles w/o re-registering resources.

The key feature of both solutions is the ability to modify the attrs while in array format. There are other ways that one could achieve the same results, but the array is '''by far the cleanest'''. Dirty alternatives include: 
* Use `preg_replace()` on the markup after it is generated (see #22245)
* Use output buffers and PHP's DOMElement interface
* Filter away the ""print_scripts_array"" and regenerate the markupmanually.)",ryanve
12955,Add get_post filter,,General,,normal,normal,Future Release,feature request,new,has-patch,2010-04-10T13:50:07Z,2011-12-01T19:18:07Z,This patch filters the return value of the get_post() function. I would find this very helpful for a plugin I'm developing.,JohnLamansky
20958,Add to the Template Hierarchy the 410 error page,byteee,General,,normal,normal,Awaiting Review,feature request,new,,2012-06-14T16:32:57Z,2012-06-14T16:32:57Z,"In my last project where I migrate a web from asp to wordpress, I have some pages that not longer exists. Normally, we do a 301 redirection to the home page or some other place. But digging a little in google, if we get a page that not longer exists, its better to return a 410 response code instead of 301 code (talking about SEO aspects).

I did it manually following this post: [http://otroblogmas.com/retornar-410-wordpress/]

I think that we can include in the Template Hierarchy the 410.php file to show it when we are getting a page that not longer exists. ",byteee
17298,"Adding optional ""fieldname_base"" parameter to touch_time() function would allow plugin authors to reuse this code",,General,,normal,trivial,Awaiting Review,feature request,new,,2011-05-01T20:50:42Z,2012-02-03T15:56:52Z,"I didn't see any discussion of this over the years, and wondered if this was a feature that other people would like to see added:

In a couple projects, I've had to recreate a date entry form very similar to the one generated by the `touch_time()` function in wp-admin/includes/template.php. This function could be modified very easily to be reusable in plugins.

The simplest way of doing this, in my opinion, is to accept an optional fifth parameter for a fieldname base string.

Current output of the function:

{{{

<select id=""mm"" name=""mm"" tabindex=""4"">
// options
</select>
// etc
}}}

If this could be modified by a plugin to output something like this:

{{{

<select id=""eventstartdate_mm"" name=""eventstartdate[mm]"" tabindex=""4"">
// options
</select>
// etc
}}}

...it would be very useful. Would improve standardization of UI elements between core and plugins.

Of course, the entire template.php file is A Big Mess. Not sure if we should be messing around in there too much.

 ",goldenapples
10846,"Automatically add XFN and rel=""external"" to post/page/comment links",,General,2.8.4,normal,minor,Future Release,feature request,new,,2009-09-24T20:07:11Z,2010-01-04T13:02:11Z,"Links created in ""Links"" in the admin should have their XFN data appended in a rel attribute. Kinda like the [http://wordpress.org/extend/plugins/auto-xfn-ify/ Auto XFN-ify] plugin.

But more importantly (and simpler), if a link goes out to a domain different from the one hosting wordpress, rel=""external"" should be added.",prometh
12865,Better support for beta/staging,,General,,normal,normal,Future Release,feature request,reopened,,2010-04-06T06:40:40Z,2011-08-07T21:17:00Z,"Currently it is very difficult to maintain a beta / staging version of your wordpress site. As wordpress grows in popularity and is used on websites that would like to minimize downtime a beta/staging setup in addition to a production or main setup would be ideal. If one tries to do this now, you can attempt to copy the whole database over to the beta or staging setup which will result in links on the beta/staging version going to the production/main url's. This makes it relatively unusable. Ideally there would be some solution where developers can decide for their beta/staging site to download data from their production/main server every day or at will which will allow them to keep things updated and allow for them to test with their most recent content which can be useful. If this synchronization can occur without the previous problems and other problems that occur with simply copying the entire production database that would be wonderful!",mnolin
17478,Disable Comments for Pages / Disable Comments for Pages Site-Wide,,General,3.1.2,normal,normal,Awaiting Review,feature request,new,,2011-05-17T19:04:25Z,2011-11-08T16:23:44Z,"Ladies and gentlemen, 

it's been suggested on the Forum that I start a new ticket here. I think it's a good idea. 

Here's a couple of suggestions that I believe if implemented would greatly improve WordPress functionality and popularity:

1) Make the Display Widget  for pages visible by default, the way it was before the WordPress 3.0. Many non-blog WordPress website owners, and many bloggers, want the comments for pages disabled, but have no idea how to do that, because the Discussion checkbox in the Screen Options panel for Pages  is deselected by default. As a result, most people new to WP 3 have no idea that Discussion Widget even exists, and have trouble disabling comments on pages. 

Disabling such comments is very necessary in many situations. For example, a page that includes only a contact form, shouldn't have comments. Most WordPress users do not need their portfolios, or their ""About"" pages commented – and so on. 

2) Create the checkbox that would allow to toggle all comments (old and new) comments for all pages with one click – and a separate checkbox that would allow to toggle all comments (old and new) for all posts – site-wide. 

Many WordPress based business websites have hundreds of pages, and it would save a lot of time if the owner or designer could just disable the comments by deselecting one checkbox. I do realize it can be easily done by commenting out the comments in the code, but wouldn't it be nicer to have it as a checkbox option? 

Some of the owners of such sites want to have a blog on their site, too - and want to have comments as a traditional part of blog functionality. That's what comments for pages and posts should be toggle-able site-wide independently from each other. 

For best experience, the post comments should also have a toggle checkbox. Some owners may want to disable comments for all posts site-wide, too. 

To see where this request is coming from, please Google ""disable comments for pages wordpress"" and you will see that the issue does cause quite a bit of confusion. 

Also please see this thread of the WordPress support forum about: http://wordpress.org/support/topic/disable-comments-for-page-option/

I hope this suggestion helps to improve WordPress – already the greatest open source CMS platform.

Best regards, 

Dimitri Vorontzov
 ",Dimitri Vorontzov
20523,Disable autoloader when using class_exists(),,General,3.3.1,normal,normal,Awaiting Review,feature request,new,,2012-04-23T10:08:32Z,2012-05-16T01:07:04Z,"A couple of files inside the /wp-includes/pomo directory use class_exists() the wrong way, for example in /wp-includes/pomo/entry.php :
{{{
if ( !class_exists( 'Translation_Entry') ):
}}}

It should be:
{{{
if ( !class_exists( 'Translation_Entry', false) ):
}}}

The second parameter 'false' disables autoloading. This is important because I'm integrating some WP functions into another existing website which already comes with an Autoloader for some classes = confusion.

This should be easy to fix. Thanks :)
",michael.heuberger
11549,Enable loading of the WordPress environment from external php script,,General,,normal,minor,Future Release,feature request,new,close,2009-12-21T19:54:33Z,2009-12-28T12:26:44Z,"For some integration projects, it is useful to load the WordPress environment from an external php script. This can be done by including wp-load.php
Afterwards all the WordPress functions can be used.

This is only possible if wp-load.php is included from the global scope. If it is included from inside a function, it will fail. This limitation makes it difficult to integrate WordPress with other projects.

wp-load.php fails because of the use of global objects and assign by reference. A simple solution would be to declare $wpdb, $wp_widget_factory, $_wp_deprecated_widgets_callbacks for global in wp-settings.php
The creation of WP_Widget_Factory in wp-settings.php needs to be changed from
$wp_widget_factory =& new WP_Widget_Factory();
to
$wp_widget_factory = new WP_Widget_Factory();

The syntax for creation of WP_Widget_Factory should be conditioned by the PHP version, to maintain backwards compatibility with PHP 4.
",mp2300
19628,FEATURE REQUEST: std deviation option for wp_tag_cloud,,General,3.3,normal,minor,Awaiting Review,feature request,new,dev-feedback,2011-12-21T04:16:22Z,2012-01-21T10:55:36Z,"Feature Request

Add a std deviation, logarithmic, or other non-linear algorithm for generating tag cloud sizes...  I have a sample set containing approximately 500 tags, with two tags which fall in the 100 posts range, whereas most tags end up with less than 20.  I would still like the two tags to show up, and to show up the largest, and a simple std deviation (66% show up in 1 std dev, 96% or so in the 2nd, etc) or logarithmic algorigm for calculating tag element sizes, based on the sample set.",bhoogterp
21002,Feature request: wp_link_pages() needs support for formatting the current page,,General,,normal,normal,Awaiting Review,feature request,reopened,,2012-06-17T19:09:51Z,2013-01-18T02:27:18Z,"To follow up my previous feature request #21001, it would be super to see a way to style/format the current page, because it could look different compared to links to other pages (for example "">> Page % <<""). An option called currentpagelink seems fitting.",archon810
23285,Implement an AMD JavaScript loader in WordPress,,General,,normal,normal,Awaiting Review,feature request,new,,2013-01-24T14:28:47Z,2013-01-25T07:04:55Z,"AMD = Asynchronous Module Definition

See comment: http://core.trac.wordpress.org/ticket/22896#comment:29

I think this is a must for the future viability of WordPress and plugins written for it.

Multiple versions of JavaScript libraries are a fact of life and we have to deal with it somehow.

If WordPress provides the framework for the use of multiple versions of JavaScript libraries then a lot of the problems we see with WordPress now will be a thing of the past.

This represents a major re-think of the current WordPress JavaScript loading paradigm, but I think it is necessary and would be well worth it.

I'm not a terribly advanced developer, and there might be better solutions out there or others to come, but for now, I think this is the way to go.

Example:

http://requirejs.org/docs/why.html

http://requirejs.org/docs/whyamd.html

https://github.com/amdjs/amdjs-api/wiki/AMD

It does not have to be RequireJS, but it seems the most mature and popular of the implementations.

From the unminified jQuery source:
{{{
// Expose jQuery as an AMD module, but only for AMD loaders that
// understand the issues with loading multiple versions of jQuery
// in a page that all might call define(). The loader will indicate
// they have special allowances for multiple jQuery versions by
// specifying define.amd.jQuery = true. Register as a named module,
// since jQuery can be concatenated with other files that may use define,
// but not use a proper concatenation script that understands anonymous
// AMD modules. A named AMD is safest and most robust way to register.
// Lowercase jquery is used because AMD module names are derived from
// file names, and jQuery is normally delivered in a lowercase file name.
// Do this after creating the global so that if an AMD module wants to call
// noConflict to hide this version of jQuery, it will work.
if ( typeof define === ""function"" && define.amd && define.amd.jQuery ) {
	define( ""jquery"", [], function () { return jQuery; } );
}
}}}

Note: '''multiple versions of jQuery'''",auniquename
21300,Implement autoloader compatible with PSR-0 for plugins and themes,,General,,normal,normal,Awaiting Review,feature request,new,,2012-07-17T21:15:45Z,2012-09-11T02:20:09Z,"To provide more compatibility with other frameworks, it would be great if WordPress implemented an autoloader compatible with PSR-0. Plugins and themes could then register namespaces or prefixes with the autoloader.

I believe this could be implemented without any BC breaks.

Details of the PSR-0 standard:
https://github.com/php-fig/fig-standards/blob/master/accepted/PSR-0.md",dave1010
20492,Improve submit_button(),,General,3.4,low,normal,Awaiting Review,feature request,new,,2012-04-19T20:40:10Z,2012-04-19T21:39:51Z,"The `submit_button()` function takes five arguments and calling it ends up being very messy.

Example [comment:ticket:20490:3 given by Scribu]:
> It makes for very unreadable code. For example, when I see this:
> 
> {{{
> submit_button( $args['label_submit'], 'button', 'submit', false, array( 'id' => $args['id_submit'] ) )
> }}}
> 
> I have no idea what that `false` parameter is for, without looking up the defition for submit_button().
> 
> Plus, it's not that much shorter than writing the HTML by hand, which is clear as day:
> 
> {{{
> <input name=""submit"" type=""submit"" id=""<?php echo esc_attr( $args['id_submit'] ); ?>"" value=""<?php echo esc_attr( $args['label_submit'] ); ?>"" />
> }}}

Let's change this so it accepts a `$text` parameter for the button text and an `$attributes` parameter for everything else.

Patch coming up.",johnbillion
14373,In-editor image downsizing uses HTML resizing instead of actual resize,,General,,normal,normal,Future Release,feature request,new,,2010-07-21T05:30:44Z,2010-10-28T10:06:47Z,"This comes as a suggestion from Google, who wants to help publishing platforms deliver content faster.

When you use the in-editor image downsizing functionality (the percentage slider), it does an HTML downsize. This can lead to bigger image requests than are necessary. An actual resize for local images would result in a more efficient load.",markjaquith
21170,JavaScript actions and filters,koopersmith,General,3.4,normal,normal,Future Release,feature request,new,dev-feedback,2012-07-05T21:34:03Z,2013-05-13T23:16:51Z,"The concept of adding JavaScript actions and filters has been tossed around for some time. We've experimented with various configurations of actions in both the fullscreen and customizer APIs, and they've proven their utility enough to graduate them to a core feature in their own right.

----

I think that a good events API should satisfy these parameters:

1. '''Support jQuery-style dot namespacing''' to allow functions to be easily removed.

2. '''Should (likely) support priorities.''' While seemingly random numbers aren't fun to use, it allows plugins to cooperate without having to know of each other's existence. We can't expect plugin authors to rearrange the array of callbacks.

3. '''Should ''not'' force functions to have unique IDs.''' Anonymous functions are extremely common in JavaScript — forcing them to be named is contrary to the nature of the language.

4. '''Should be structured as a mixin.''' The global event loop should be an instance of the core Events object. Using a mixin will allow developers to easily create event loops for their own plugins (to prevent  polluting the global namespace — think about large plugins, like bbPress). An events mixin will also enable developers to create more powerful abstractions, such as observable values, collections, and pretty much any structural JS object you can dream up.

5. '''Should allow the looping process to be overwritten.''' This will result in less code and added flexibility. The only difference between actions and filters is how they handle the callbacks object. There are other types of looping processes that could be beneficial in JS. One example would be returning false if any callback returns false, which could be used to stop a process, much like the native event.stopPropagation method.

----

'''Why not use custom jQuery events?'''

Custom jQuery events are great when we need to trigger actions on a DOM element. Triggering plain events on the body element (or any other hidden element) is not performant — every jQuery event normalizes an DOM Event object, which we then completely ignore.

'''Should we require jQuery to use the API?'''

I'm not sure. jQuery.Callbacks may be a helpful solution here, provided we can properly integrate priorities and namespacing. jQuery.Callbacks also only requires jQuery.each and jQuery.extend, so writing a shim that doesn't use the rest of jQuery would not be exceptionally difficult. Either way, switching between one and the other as we develop should not be exceptionally difficult.",koopersmith
14653,Log IP address un UserMeta when account is created,,General,,normal,normal,Future Release,feature request,new,dev-feedback,2010-08-20T01:41:24Z,2010-10-28T10:18:48Z,"As WordPress becomes more and more a CMS for everything, not just blogs, managing users becoms more important.  With MultiSite and user registration more open, WordPress should have a built in way to record the IP address of a user.

So at registration, log the IP in usermeta. Done, easy.  List it on the user page.

At comments, obviously, it's already logged, so nothing needs be done there.  Also, since you can already click on an IP and list all comments made from that address, there wouldn't be much else that needs to be done.",Ipstenu
17398,Logout with ays should still respect redirect_to,mitchoyoshitaka,General,2.8.4,normal,minor,Awaiting Review,feature request,new,has-patch,2011-05-12T14:46:24Z,2011-11-18T17:19:57Z,"When logging out with a bad nonce, you're taken to the ""Are you sure?"" page, but even if you were sent there with a redirect_to parameter, this parameter is later ignored when you do choose to log out.",mitchoyoshitaka
18729,No HTML Classes/IDs Associated With get_the_password_form() Output,,General,3.2.1,normal,normal,Awaiting Review,feature request,new,has-patch,2011-09-21T10:11:35Z,2011-09-28T06:08:31Z,"Currently get_the_password_form() outputs a password form that offers no HTML classes or IDs for proper styling:

{{{
/**
 * Retrieve protected post password form content.
 *
 * @since 1.0.0
 * @uses apply_filters() Calls 'the_password_form' filter on output.
 *
 * @return string HTML content for password form for password protected post.
 */
function get_the_password_form() {
	global $post;
	$label = 'pwbox-'.(empty($post->ID) ? rand() : $post->ID);
	$output = '<form action=""' . get_option('siteurl') . '/wp-pass.php"" method=""post"">
	<p>' . __(""This post is password protected. To view it please enter your password below:"") . '</p>
	<p><label for=""' . $label . '"">' . __(""Password:"") . ' <input name=""post_password"" id=""' . $label . '"" type=""password"" size=""20"" /></label> <input type=""submit"" name=""Submit"" value=""' . esc_attr__(""Submit"") . '"" /></p>
	</form>
	';
	return apply_filters('the_password_form', $output);
}
}}}

It would be quite useful to add classes to the form and input elements in this output so that we can properly style the password form without having to filter the output in, for example, a theme's functions.php file.
",philiparthurmoore
16509,Offer remote install-script as installer option,,General,,normal,normal,Awaiting Review,feature request,new,,2011-02-09T22:01:35Z,2011-10-03T23:03:55Z,"I've just tried this script

http://instantinstall.org/

and I wondered if it weren't a useful addition to have an officially supported remote install script for WP. So people could download the script instead of the entire package, upload it to their servers and let them do the heavy lifting. This would be particularly useful for people who regularly set up WP for clients.

Having a wp.org supported script would be great for people who are weary of using third party code.",youngmicroserf
17834,Quick Edit of Hierarchal Terms,,General,,normal,normal,Awaiting Review,feature request,new,,2011-06-18T12:47:23Z,2011-09-10T01:41:21Z,"Would be nice if the Quick Edit function for hierarchal terms included the ability to change the parent. In fact, you could pretty much eliminate the Edit function altogether by doing this.",DragonFlyEye
14966,QuickPress should be a function with alot of hooks,jorbin*,General,,normal,normal,Future Release,feature request,accepted,early,2010-09-26T18:12:17Z,2013-02-09T04:20:38Z,"As discussed in IRC, quickpress should be a function that is usable by:

1) Custom Post Types
2) Themes for front end posting ala p2
",jorbin
21644,Should contributors be allowed to edit their posts once scheduled?,,General,3.4.1,normal,normal,Awaiting Review,feature request,new,,2012-08-20T21:36:55Z,2013-01-29T19:42:14Z,"
This may not be a ""bug"" per-se,but seems to have a lot of negative consequences so I'll give it a shot.

According to the rules:  A contributor can edit their own Posts - irrespective of who scheduled it.
http://codex.wordpress.org/Roles_and_Capabilities#Contributor

This creates problems for large publications where there is an editor who makes changes to posts and then schedules them, sometimes a couple days in advance.

As it stands now, a contributor can still log in after that process is done which means unexpected changes and shenanigans might take place.

Wouldn't it make more sense for a contributor to lose editing privileges as soon as something is no longer in draft modea?

Just my two cents.


",nickaster
20844,Specify titles using <!-- nextpage -->,,General,,normal,normal,Awaiting Review,feature request,new,,2012-06-05T09:49:51Z,2012-06-19T23:05:04Z,"Hi,

I'm planning to code a plugin but maybe you're going to code it into WP core, so I prefer to ask before.

The idea is to modify <!-- nextpage --> code in order to give a title to every page, also better in SEO to have an url like www.wordpress.org/2012/my-article and www.wordpress.org/2012/my-article/conclusion/ instead of www.wordpress.org/2012/my-article/2/.

Maybe is possible to modify it this way: <!-- nextpage['Conclusion'] -->

It's different from subpages because it will be usable on every post type, not even on pages, and you will create just one post, not more.

Last but not least you could have a page selector with titles not page numbers.

Thanks :)",sgr33n
11229,Theme & Plugin Search Box,,General,,normal,normal,Future Release,feature request,new,,2009-11-22T19:59:40Z,2010-01-14T00:36:07Z,"One thing I think would reduce mouse clicks is the ability to search for a new theme from the ""Manage Themes"" page. It could be a quick search, as the ""Add new themes"" page gives you better control and various parameters to search.

This is also relevant in the plugins area, you can search for existing plugins from the ""Manage Plugins"" page but you cannot do a quick search for ""NEW"" plugins. Again, useful and minimizes a mouse click.",dremeda
17525,There should be a datetime_format option to specify whether the date or the time comes first,,General,,normal,normal,Awaiting Review,feature request,new,,2011-05-20T20:09:11Z,2011-05-20T20:09:11Z,"As a theme author it would be very useful to have a global option for formatting a full datetime (and a the_datetime() function too).

Sometimes datetimes are formatted ""$date $time"", sometimes it's ""$time $date"", sometimes it's even ""$date at $time"".

I think there should be an option for this in the general settings alongside the date and time format options.",holizz
19904,Trim Leading and Trailing White Space in a Post Title,,General,3.3.1,normal,normal,Awaiting Review,feature request,new,,2012-01-26T23:37:15Z,2012-01-27T00:55:01Z,"In working with clients today I realized that they were copying and pasting post titles but including a leading space in it by accident.  Because of this the orderby feature of the query wasn't appearing to work.  Turns out it was but the spaces where all correct so it was messing with the query.  

I think it would make sense that on a title field of a post/ page that any leading whitespaces and any trailing white spaces should be trimmed off.

something like 


{{{
trim($post_title);
}}}


",greenspeakmedia
20531,Version No. removed from theme name in themes,,General,3.4,normal,minor,Awaiting Review,feature request,new,,2012-04-24T11:12:54Z,2012-04-25T09:06:55Z,"The version no. of themes is removed in 3.4 from the themes page. There was a direct display of theme version no. in 3.3 and was a great help for developers with lots of theme with different versions. But now we have to click on Details to see the version number, which is just a bit time consuming. Hope you would consider my request. 

Thanks
Sanam",kcssm
13040,author.php doesn't recognize custom_post_type posts written by user,,General,,normal,normal,Future Release,feature request,new,,2010-04-18T04:01:46Z,2010-04-24T00:22:30Z,"Working on nightly WP3.0. - custom theme, but, tested with TwentyTen as well and got same result. Not entirely sure if this is a bug or if it is intended behavior, but, the author template does not recognize posts of a custom post type. It will return a 404 if there are no ""post"" post_types and only ""custom"" post_types available to load. I thought it might be worth mentioning as well that I feel really strongly that there should be an archivalish-""post_type"" template along with the single-""post_type"" template. I have been struggling with the lack of one and have had to fall back on creating a page template that pulls in an archival type list via custom post type query, but, we all know how the paging issue is with that, and it seems like it would just plug right in to the logic of archive.php, or even index.php pulling in all ""post"" type posts by default. Why not let custom post types have their own ""index.php""? that pulls in all of it's post types by default by simply making a file called ""post_type"".php. I made that sound way easier than it probably would be, but, you get the point. Just a thought.",10sexyapples
10676,current-cat-ancestor in wp_list_categories,,General,2.8.5,normal,normal,Future Release,feature request,new,,2009-08-24T14:37:40Z,2009-11-20T06:36:49Z,The wp_list_categories should apply current-cat-ancestor like wp_list_pages not just current-cat-parent to the closest parent,spathon
21195,get_avatar_url,,General,2.5,normal,normal,Awaiting Review,feature request,new,has-patch,2012-07-08T18:51:40Z,2013-03-13T00:01:16Z,"There should be a separate function to just get an avatar URL, versus getting the image wrapped in an <img> tag. This function should pass the avatar URL through a filter before returning it.
'''get_avatar''' would then call this function, rather than generating a Gravatar URL on its own.


This way, a plugin can grab a user's avatar image without relying on regex to extract the image from the <img> tag, and in a way that is compatible with plugins that replace Gravatar.",pathawks
21171,jQuery Events for Metaboxes,,General,,normal,minor,Awaiting Review,feature request,new,,2012-07-05T21:35:47Z,2012-07-06T01:14:52Z,"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
20241,make it possible for plugins to activate other plugins,,General,,normal,normal,Awaiting Review,feature request,new,has-patch,2012-03-15T12:48:59Z,2012-06-30T11:36:05Z,"When creating a plugin that depends on other plugins, i would like to enable those plugins during activation of the main plugin.

This is currently not possible, as updates to active_plugins done by the other plugins get overwritten.

Please apply the attached patch to fix this.",magnus78
20660,wp_get_attachment_url() ignores filter for unrecognized IDs,,General,3.3.2,normal,minor,Awaiting Review,feature request,new,,2012-05-11T16:49:29Z,2012-05-11T20:54:53Z,"wp_get_attachment_url() fails to invoke its filters when it encounters an unrecognized post ID.  It would be helpful to allow a filter to deal with the situation.

The plugin NextGEN Gallery uses image IDs like ""ngg-1"", while WP's image IDs are integers.  A filter could deal with the situation.

wp_get_attachment_url() begins like this:


{{{
$post_id = (int) $post_id;
if ( !$post =& get_post( $post_id ) )
  return false;
}}}


Obviously, a nonstandard post ID will ignore the filters.  If the filters were invoked, nonstandard IDs can be dealt with as desired by themes or plugins.

The filter should be given a ""false"" value instead of $url, and the original $post_id value (before forcing to (int)).  If existing filters are already dealing with null or empty URLs, they can handle this situation.

Suggestion:

{{{
$post_id_original = $post_id;
$post_id = (int) $post_id;
if ( !$post =& get_post( $post_id ) )
  $url = apply_filters( 'wp_get_attachment_url', false, $post_id_original );

  if ( empty( $url ) )
     return false;

  return $url;
}}}
",RoamFree
21107,wp_register_resource,,General,,normal,normal,Awaiting Review,feature request,new,,2012-06-28T20:38:31Z,2012-06-29T09:15:34Z,"

Building on the concept of wp_register_script and wp_register_style I would love to see something more general for requiring resources with dependencies.  Many times certain scripts require certain styles to be included and vice versa.  This could also extend to other resource types as well.  


Let's use a basic example of some certain script creatively called Script-1.  That Script-1 may have certain scripts and styles or other item on which it is dependent, let’s call them Script-1-A,Script-1-B and Style-1-A, Style-1-B.  When you register the script you can of course specify other dependent scripts, but not the dependent styles, or other resource.  Of course you can register the styles separately.  It may seem trivial that you can then just register Script-1-A, Script-1-B and register Style-1-A, Style-1-B and then wp_enqueue_script (Script-1,array(Script-1-A, Script-1-B)) and wp_enqueue_style(Style-1-A), wp_enqueue_style(Style-1-A)  separately.  Now let's say you have Script-2 that depends on Script-1.  When you call wp_enqueue_script(Script-2) you also have to remember to call wp_enqueue_style(Style-1-A) and wp_enqueue_style(Style-1-B).  As the levels of dependency increase or if something changes it gets a lot more difficult to maintain.  


My example above only focused on styles and scripts but could apply to other resources such as fonts and/or images that you would like to manage using the flexibility of the WordPress queueing and  actions/hooks systems. Sure you could have scripts call the styles themselves but then those styles would not be processed through wordpress and therefore might not take advantage of combining, compressing, caching systems you might have in place in addition to the ability to deregister and change certain items in child themes/skins as easily.

I have a system setup to run hundreds of sites with a core theme that provides common structure, style, scripts and a host of other functionality.  Then I have an array of child themes geared towards certain types of sites.  Those child themes each can have an unlimited number of skins.  The skins can all introduce new functionality and build on the functionalities, styles, scripts, etc of the child theme which builds upon the core theme.  This is one of the many cases where being able to just call the single wp_enqueue_resource would greatly help, especially when things change. 

Implementation: To implement for just scripts and styles to get started you could make a new “Resources” queue in which each resource could have a list of resources and type.  When you enqueue a resource it could call wp_enqueue_script and wp_enqueue_style.  Now we would have to add the ability to add a placeholder or null type of item in wp_register_script and wp_register_queue. Because looking at the example I laid out above you would do something like this:



Class Resource might either contain and array of generic resources or could have separate styles/scripts.  There are obviously flexibility and performance implications of both methods.

Here is some very rough pseudocode:

{{{
wp_register_resource(‘Resource-1’,
  array(
    ‘script’=>array(
      ‘handle’=>‘Script-1’,
      ‘src’=>‘Script-1-URL’,
      ‘deps’=>array(’Script-1-A’,’Script-1-B’),
      ‘ver’=>’’)
    ‘style=>array(
      ‘handle’=>‘Style-1’,
      ‘src’=>‘ Style-1-URL’,
      ‘deps’=> array(Style-1-A’, Style -1-B’),
      ‘ver’=>’’,
      ‘media’=>’’)
  )
)
}}}

do not call wp_register_style/ wp_register_script upon registering of the resource and wait until this resources or resource requiring this resource is enqueued.  This way the style and script are not enqueued separate from the resource and therefore each other since they are dependent on each other.  It would however register the resource in the resource queue.

{{{
wp_enqueue_resource(‘Resource-1’) would:
wp_enqueue _script(‘Resource-1’, ‘Script-1-URL’, array(’Script-1-A’,’Script-1-B’));
wp_enqueue _style(‘Resource-1’, ‘Style-1-URL’, array(Style-1-A’, Style-1-B’));
}}}

2a
//wp_register_resource($handle, $resources=array(),$deps=array())

{{{
wp_register_resource(‘Resource-2’,
  array(
    ‘script’=>array(
      ‘handle’=>‘Script-2’,
      ‘src’=>‘Script-2-URL’,
      ‘deps’=>array(’Script-2-deps’)
      ‘ver’=>’’)
    ‘style=>array(
      ‘handle’=>‘Style-1’,
      ‘src’=>’’,
      ‘deps’=>array(’’)’,
      ‘ver’=>’’,
      ‘media’=>’’)
  ),
  array(‘Resource-1’)
);
}}}

{{{
wp_enqueue_resource(‘Resource-2’) would:
wp_register_script(‘Resource-1’,’Scipt-1-URL’……)
wp_register_style(‘Resource-1’,’Style-1-URL’……)
wp_enqueue_script(‘Resource-2’, ‘Script-1-URL’, array(‘Resource-1’,’Script-1-A’,’Script-1-B’))
wp_enqueue_style(‘Resource-2’, ‘’, array(‘Resource-1’))
}}}


`wp_deenqueue_resource(‘Resource-2’)` would take dequeue it’s scripts and dependent scripts/styles (assuming those dependent scripts and styles were not enqueued elsewhere)


There are the issues to work out on whether a resource could specify multiple scripts/styles or whether it should just be zero/one of each that listed others as dependencies.  Either way can work, just depends on what community thinks.",gruvii
12477,Search with special characters and similar terms,nbachiyski,I18N,,normal,normal,Future Release,feature request,new,,2010-03-02T17:42:46Z,2010-03-24T10:25:15Z,"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
7695,Blogger Importer Should Allow User Creation on the fly,,Import,,normal,normal,WordPress.org,feature request,new,,2008-09-05T19:30:47Z,2012-07-13T07:01:14Z,"See MT importer as an example. Otherwise, users need to be created prior to the import to map to other users other than admin.",technosailor
16460,Category/tag converter should support all public taxonomies,,Import,3.0,normal,normal,WordPress.org,feature request,new,has-patch,2011-02-05T04:56:39Z,2013-01-17T17:09:40Z,"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
16148,MT Importer should match usernames,,Import,,normal,normal,WordPress.org,feature request,reopened,,2011-01-07T22:27:29Z,2012-09-10T10:21:14Z,"If I have a blog that already has a user with ID '''XYZ''', and my Movable Type import has a blog post with author with ID '''XYZ''', then the '''Assign Authors''' page in the import wizard should automatically match them by default.",novasource
3372,Consolidated JavaScript/CSS Plugin API,,JavaScript,2.1,lowest,normal,Future Release,feature request,reopened,dev-feedback,2006-11-19T04:39:22Z,2013-02-07T21:56:46Z,"WordPress plugins are great, they really are.  One problem with them is they often include their own styles and scripts.  The problem here is that several plugins with useful features mean a browser needs to download 10+ javascripts and stylesheets.  This isn't good for page load.  It's awful.  See:
http://www.die.net/musings/page_load_time/

My suggestion would be an API that allows all plugin/css to be included in 1 PHP generated CSS and Javascript.  This would drastically consolidate requests.  For performance reasons it should ideally be cached so that it's only regenerated when a plugin is loaded/reloaded.

This is becoming a bigger issue as plugins become more common and useful.  I hope a solution is found that gives plugin authors the freedom they need, and blog owners the performance they want, without having to sacrifice features.  I think channeling all the requests into 1 JS and 1 CSS file would achieve that.  They could use a numerical ranking system to calculate position in the file (to avoid conflicts) similar to how (iirc) filter work.",robertaccettura
11376,wp_mail should run MsgHTML for HTML emails,,Mail,,normal,normal,Future Release,feature request,new,dev-feedback,2009-12-09T22:47:15Z,2010-03-31T03:47:02Z,"PHPMailer has a function called [http://core.trac.wordpress.org/browser/trunk/wp-includes/class-phpmailer.php#L1720 MsgHTML] that sets the email as isHTML and automatically adds HTML and plain text versions of the message to the email.

wp_mail should run this function if $content_type is set to text/html to allow for max compatibility with email clients. 

Should note: WordPress doesn't currently send HTML emails so this is more of a benefit for plugins. But if we go down the road for HTML emails with core, this will be useful...

This is a quick fix, so I can patch it up.",batmoo
21811,Add image editing UI to the media modal,,Media,3.5,normal,normal,Future Release,feature request,new,,2012-09-05T20:33:10Z,2013-04-08T14:00:02Z,"The media modal should contain a way to edit a given image size. This should include the capability to crop, resize, rotate, and flip (as all are currently possible).

The core of this UI should be capable to serve as both the crop step in a workflow like choosing a custom header, or in editing a given image size to include within a post.

This UI will benefit greatly from (and heavily relies upon) improvements on #21810, and should probably wait until work on that ticket is underway.",koopersmith
11895,Allow more specific image size editing,,Media,,normal,normal,Future Release,feature request,new,has-patch,2010-01-14T15:12:28Z,2013-05-07T11:54:00Z,"Instead of allowing only some combinations of 'thumbnail', 'medium', 'large', 'full' I would like to have the ability to select which of these I would like to crop. So for example, only 'thumbnail' and 'medium'. With the current trunk this is not possible. I created a patch that adds this ability by changing the radio boxes of ""apply changes to"" in the image-edit page to checkboxes for each of the 4 possible sizes.",frankgroeneveld
22937,Bulk Actions > Edit could allow batch-assignment of taxonomies to Media following the WP 3.5 media changes,,Media,,normal,normal,Awaiting Review,feature request,new,,2012-12-14T13:59:37Z,2012-12-14T13:59:37Z,"[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
10950,Download external files to Media Library,,Media,,normal,normal,Future Release,feature request,new,,2009-10-13T15:48:43Z,2011-08-04T19:11:02Z,"The media uploader currently allows you to upload a file from your local computer or link to an external URL. 

However, when linking to an external URL (in particular for an image), you don't get the same options as you would have when actually adding a resource to your site's media library.

It would be nice to be able to fetch a file from an external source, and add it to the library, just as with a regular file upload. Then the file could be included in a gallery, you could use the image editor to crop/resize, etc.

Primary use-case would be to fetch an external image into the library without having the extra steps of saving to your local computer, then re-uploading it to your WP site. However, it should work with any allowed content-type (audio, video, pdf, etc).

It may also be useful to save the original URL as attachment metadata.
",dougal
19845,Drag and drop files into the Visual Editor,,Media,,normal,normal,Future Release,feature request,new,,2012-01-16T17:05:26Z,2013-02-13T19:59:13Z,"Hi there!

I recently thought that it would be nice if we could insert images into posts and pages, simply by dragging and dropping them into the editor. This could be a real time saver when composing. I made a really simple video to demonstrate how this might work, of course really really draft. I hope that we can consider this as proof of concept. I think that with this little upgrade we might fill in a hole in UX as when people are used to drag and drop in their text and document editors, like Google Docs, Microsoft Word and so on.

There are quite a lot of decisions to be made though, like what would be the size of the dropped image, how will the UI look to show upload progress, are multiple files allowed, how error messages are shown and so on.

I'll attach a little (very poorly written) plugin that does this together with a small patch to plupload, if you'd like to give it a spin. Please let me know your thoughts!

Thanks,
Konstantin

Idea: http://wordpress.org/extend/ideas/topic/drag-and-drop-files-into-the-visual-editor
Video: http://www.youtube.com/watch?v=Mqs4_g-7SCU
Ref: http://kovshenin.com/2012/01/dear-wordpress-i-want-to-drop-files-here-in-the-visual-editor-3790/",kovshenin
20115,Filter For media_upload_gallery_form,,Media,3.3.1,normal,normal,Awaiting Review,feature request,new,,2012-02-24T21:37:53Z,2012-02-24T21:37:53Z,"I recently ran into a project where we wanted to modify a gallery and interject some new gallery options.  As such the most simple user interface was to add a new setting to the gallery form  on the media upload page under galleris.  We would modify the shortcode creation and then override the gallery shortcode function with our own code.  The only problem is you can't overload the media_upload_gallery_form function in /wp-admin/includes/media.php

Not sure if a filter option or action is the right one here but I think that would give this area that overriding ability as well.

Having the ability to do this would be not only beneficial for my specific problem but woud give people the ability to really take the gallery to another level without messing up a familiar interface that people are using.",greenspeakmedia
24370,"Get the ""Set Featured Image"" Back",,Media,,normal,normal,Awaiting Review,feature request,new,,2013-05-20T00:06:16Z,2013-05-21T06:12:03Z,"Since 3.4, the workflow of ""Set Featured Image"" has been significantly slower and less efficient. Up to 3.3, one could do:

1/ upload/find image
2/ click on set featured image
3/ click on insert image in post
dialog closes. done.

Now, the same thing requires

1/ upload/find image
2/ insert in post. dialog closes
3/ click on set featured image. dialog open
4/ potentially search again
5/ click on set featured image
dialog closes. done.

Since most blog posts only feature one image, it would make sense that we could do both ""set featured"" and ""insert in post"" while being in the insert media dialog. 

My writers have been pointing this out since we switch to 3.4, so we hope that this feedback will receive a positive attention.

Thank you!
A recently uploaded image would appear at the top when we open the Insert media dialog, but if we need to search the image again, it does hamper the workflow quite a bit.

",hubertnguyen
18171,Media library - Sort on extensions,,Media,3.2.1,normal,normal,Awaiting Review,feature request,new,,2011-07-19T11:19:48Z,2011-08-06T07:51:46Z,Why is there only an option/function to view the images only? If you are looking for a word document it can be easy when you can see the documents only. This is also for PDF files and such. Maybe a function to sort on file types would be handy.,JonezJeA
24380,Missing Compression Parameter in WP_Image_Editor_GD,,Media,3.5.1,normal,normal,Awaiting Review,feature request,new,,2013-05-21T02:37:06Z,2013-05-21T12:07:00Z,"Setting the image quality parameter has no effect on png files.

Going through the wp-includes/class-wp-image-editor-gd.php

I noticed that the compression parameter for the imagepng function call is missing.

the current quality parameter only affects jpeg files. 

for jpeg, quality goes from 0->100 from bad to good

for png, from 0->9 from good to bad.

in the elseif  block starting at line 337 i have added a variable called compression and changed the code as follow:
{{{
elseif ( 'image/png' == $mime_type ) {
			// convert from full colors to index colors, like original PNG.
			if ( function_exists('imageistruecolor') && ! imageistruecolor( $image ) )
				imagetruecolortopalette( $image, false, imagecolorstotal( $image ) );

			$compression = -((9/100*$this->quality)-9);
			
			if ( ! $this->make_image( $filename, 'imagepng', array( $image, $filename, $compression ) ) )
				return new WP_Error( 'image_save_error', __('Image Editor Save Failed') );
		}
}}}
This convert the scale 0->100 into a 0->9 scale that matches the parameters from imaging.

This gives back control to the user on image quality for png files...",MuViMoTV
19834,More Robust Capabilities for Attachments,,Media,,normal,normal,Awaiting Review,feature request,new,,2012-01-15T00:43:40Z,2012-11-24T15:08:50Z,"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
8599,Multiple custom image sizes with retroactive image reprocessing,leogermani,Media,2.8.4,normal,normal,Future Release,feature request,reviewing,dev-feedback,2008-12-13T09:16:39Z,2013-03-28T11:17:45Z,"You should be able to add multiple custom image sizes. And whenever you change or add a size, WordPress should offer to retroactively create images of that size for all your old uploads.",markjaquith
21038,Provide an option for creating 2x images of user content (for Retina Displays),Otto42,Media,3.4,normal,normal,Future Release,feature request,assigned,,2012-06-21T13:13:13Z,2012-09-06T17:02:33Z,"Providing high-res images for Retina enabled devices like iPad, iPhone or Macbook Pro is rather easy with retina.js (http://retinajs.com/).

The only thing needed is a @2x version of all images. It would be nice to have an option on the image uploader to enable generation of this images.

This should be rather easy to implement, it would make life much easier.",twam
21295,Retrospectively generate new images sizes if requested,,Media,,normal,normal,Awaiting Review,feature request,new,,2012-07-17T10:12:01Z,2012-12-03T17:45:36Z,"At present the image variations are created at the moment the image is uploaded to the server. If a new image size is later added, or the default ones changed after an image is uploaded then the existing images are not adjusted. 

Whilst there are plugins that provide - regenerate thumbnail functionality it might be neater if an image size is requested that doesn't exist that the system generates it at the time it is requested. This only need happen once per image as once it is created it doesn't need to be created again.",TwoThirdsWater
15860,White Icon visibility in Media Library,,Media,3.0.3,normal,normal,Future Release,feature request,new,,2010-12-17T09:38:34Z,2011-01-06T13:48:12Z,"'''Problem''': If a graphic file is white in color AND has transparent background, as often a case with PNG and GIF files, there is no chance for it to be visible as icon in Media Library. It will always be white on white (like a polar bear in Arctica)

'''Possible solution''': assign off-white color to td.media-icon like this
{{{
.media-icon {background-color: #ccc;}
}}}
or introduce
{{{
.media-icon:hover{background-color:#ccc;}
}}}
so that icons are visible at least on mouseover.",ABTOP
24051,a way of turning on upload space quota on single-site WordPress install,,Media,3.5.1,normal,normal,Awaiting Review,feature request,new,,2013-04-11T19:12:19Z,2013-04-12T16:11:20Z,"I was searching for a way to turn on upload space quota for single-site WordPress (not multisite) install. There does not seem to be one. I can't even emulate one with hooks, because in media.php 'upload_ui_over_quota' hook is multisite-specific and 'pre-upload-ui' does not allow me to emulate the same behavior.

I understand that need for upload space quota for single-site is not a very common scenario, but the relevant code is already there, only an alternative method of enabling it (e.g. a constant in wp-config.php) is needed.",ideag
23987,add_image_size() shouldn't crop 0 values,,Media,3.5.1,normal,normal,Awaiting Review,feature request,new,,2013-04-08T08:35:10Z,2013-04-08T08:35:10Z,"When using add_image_size() the image should only be cropped by values that are entered, the following example should only crop the height, and leave the width as the upload original;

{{{
add_image_size( 'wide-image', 0, 400, true );
}}}

If one uploads a 1600x1600 image, the above should then crop this to 1600x400.",Clorith
14687,"Add ""collapsible"" class to menu items that have children",,Menus,3.0.1,normal,normal,Future Release,feature request,new,has-patch,2010-08-24T21:50:25Z,2012-03-07T15:49:30Z,"Items from custom menus in WP 3 have classes like:

{{{
menu-item
menu-item-type-TYPE
menu-item-ID
}}}


and if the current menu item is active, also:

{{{
current-menu-item
}}}

or

{{{
current-menu-ancestor
}}}

It would useful for theme developers if you also added another class on menu items that have children, like ""collapsible"", or ""menu-with-children"" :)

this will allow designers to add things like arrows in menus easier, without having to resort to javascript hacks to check if the list element has children...",digitalnature
14414,Add an action hook to add fields to nav_menu items form,Gecka*,Menus,3.1,normal,normal,Future Release,feature request,accepted,has-patch,2010-07-25T07:25:37Z,2012-03-28T20:45:05Z,"Hello,

In order to add a custom field to a nav menu item form, I have to setup a custom walker whereas a simple action hook could do the trick. Everything else is ok to handle and save the custom field. (http://loxdev.knc.nc/blog/wordpress/auto-populate-nav-menu-with-sub-pages/)

Here is how the asked action hook could be added:
http://github.com/loxK/Wordpress_Gecka_Submenu/blob/master/models/NavMenuHacks.php#L310-312",DreadLox
16691,Add do_action or menu description in nav-menus.php,,Menus,3.1,normal,normal,Awaiting Review,feature request,new,,2011-02-27T17:54:14Z,2011-07-27T20:08:16Z,"The nav menu feature uses the taxonomy structure but does not use i.e. the term description.
This field could be used by adding an action in wp-admin/nav-menus.php, for example in line 538 or 552.

{{{

<label class=""menu-name-label howto open-label"" for=""menu-name"">
	<span><?php _e('Menu Name'); ?></span>
	<input name=""menu-name"" id=""menu-name"" type=""text"" class=""menu-name regular-text menu-item-textbox input-with-default-title"" title=""<?php esc_attr_e('Enter menu name here'); ?>"" value=""<?php echo esc_attr( $nav_menu_selected_title  ); ?>"" />
</label>
<?php if ( !empty( $nav_menu_selected_id ) ) :
	if ( ! isset( $auto_add ) ) {
		$auto_add = get_option( 'nav_menu_options' );
		if ( ! isset( $auto_add['auto_add'] ) )
			$auto_add = false;
		elseif ( false !== array_search( $nav_menu_selected_id, $auto_add['auto_add'] ) )
			$auto_add = true;
		else
			$auto_add = false;
		}
?>
<div class=""auto-add-pages"">
	<label class=""howto""><input type=""checkbox""<?php checked( $auto_add ); ?> name=""auto-add-pages"" value=""1"" /> <?php printf( __('Automatically add new top-level pages' ), esc_url( admin_url( 'edit.php?post_type=page' ) ) ); ?></label>
</div>
<?php endif; ?>
}}}

This would allow plugin developers to add additional fields or settings for nav menus and save them on updating or saving the menu.


",linguasite
13728,Custom menus - adding links to pages needs checkbox for 'show subpages',,Menus,3.0,normal,normal,Future Release,feature request,new,,2010-06-04T14:29:13Z,2010-06-04T14:34:33Z,A simple checkbox under the configuration for each link that is a page to 'show subpages' located under that page would make custom menus much more useful.,adambundy
13910,Get Menu name with wp_nav_menu(),,Menus,3.0,normal,normal,Future Release,feature request,new,dev-feedback,2010-06-15T19:17:20Z,2012-04-18T17:11:08Z,"There is no way to get the actual ""Menu name"" in wp_nav_menu()

For example if you want to create a left sidebar menu you want a header to go with it. In previous versions you could do use wp_list_pages() with ""title_li"".

With wp_nav_menu() you have to hard code <h3>Static menu name</h3> into the template before calling the function.

If you could get the ""Menu name"" as defined in backend interface from the wp_nav_menu() it would create the menu title automatically.
",jowo
20286,Allow direct use of top level domains in multisites,,Multisite,3.3.1,normal,normal,Awaiting Review,feature request,new,,2012-03-23T05:46:00Z,2012-11-20T12:00:28Z,"Most people installing the multisite would need top level domains and not the subdomains. The domain mapping plugin doesn't really fit in cause it depends on creating aliases and mappings and works on redirects. Separation is important which i guess is the main purpose of multisiting.

I see default WP setup allows you to rename the site URL once its created. So I did, renamed the subdomain into main domain and got into redirect loop problem. After some searching, it turned out the problem was caused by DOMAIN_CURRENT_SITE in wp-config being static. So I changed it to $_SERVER['SERVER_NAME']. This though solved the looping problem but got one more issue. Now going into child site's dashboard requires you to re-login cause of cookie not being set for all child top level domains.

Let's be it - not all people need the subodmain mutisites as you may notice on the forums. Meanwhile, if there's a workaround for setting up cookies for all of the top level sites when logging into network, please advise!

The multisite codex wiki itself tells the same - as a matter of fact it shows a screenshot having a top level domain as a wp site and that was the main reason why I went on choosing mutisite.",mickylmartin
21584,Allow to create more networks,,Multisite,3.4.1,normal,normal,Awaiting Review,feature request,new,dev-feedback,2012-08-15T00:34:24Z,2013-01-17T23:38:47Z,"After creating a multisite installation allow users to create their own network of blogs.

",alexvorn2
14569,Assign plugins on a per-site-basis,,Multisite,3.0.1,normal,normal,Future Release,feature request,new,,2010-08-09T09:35:55Z,2012-05-31T19:44:33Z,It's possible to assign themes per site with WordPress Multisite. However it isn't possible to assign plugins per site. Some plugins are only used for the mainsite and I don't want them to be visible in subsites.,ChantalC
14215,MultiSite: Add new > different username from blog title,,Multisite,3.0,normal,normal,Future Release,feature request,new,,2010-07-06T18:09:37Z,2010-10-28T06:38:44Z,"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
22816,Multisite WP_Query,,Multisite,,normal,major,Awaiting Review,feature request,reopened,,2012-12-07T18:25:10Z,2012-12-08T18:28:12Z,"Multisite has no global search functionality, and suppose I want to show on the home page of my main site posts from all the other sites in my network... I don't have a multisite wp_query functionality. Sure, I can use switch_to_blog, but that only works for results from each blog, one by one, suppose I want navigation on my results, suppose I want to make a most recent posts widget, or any type of functionality where I want to query posts from the entire multisite, custom post types, pages, all the wp_query class has to offer only works for each individual site so far, It would really help as a huge feature for WordPress multisite",ciapci
21674,"Please add ""plugins"" link under ""my sites > network admin"" in toolbar",,Multisite,3.4.1,normal,normal,Awaiting Review,feature request,new,has-patch,2012-08-23T19:13:46Z,2012-08-24T15:43:16Z,This would remove a click and I think a lot of people would enjoy the addition. I know I go to the plugins page more than users or sites combined.,archonic
12017,Press This multiple blog support,,Multisite,,normal,normal,Future Release,feature request,new,,2010-01-25T17:57:19Z,2010-01-27T03:26:26Z,"MU Trac Ticket: http://trac.mu.wordpress.org/ticket/1092

A WordPress MU user may wish to pass external content into the MU authoring interface. Authoring interfaces such as  Press This currently do not support the selection of a target blog for which the currently logged in user has  edit_posts capability.

 Internet Explorer 8,  Google Reader, and bookmarklet functions currently help pass new post information into an authoring tool such as Press This, but requires a pre-determined URL template to pass along new actions.

Good: http://wordpress.org/wp-admin/press-this.php

Bad: http://*.wordpress.org/wp-admin/press-this.php

Currently a user can add a bookmarklet or IE Accelerator on a per-blog basis. It would be a much better user experience if he or she could target a predictable URL endpoint on the MU install.
New URL ¶

adminurl/press-this.php

Point to the MU install's main admin handlers and let it handle user state.
Possible handling ¶

    * Redirect user to Press This interface of their primary blog with query params intact.
    * Add a new stuffbox to the post interface sidebar with a <select> drop-down if currently logged on user has edit_posts capability on more than 1 blog. Default blog selected.
    * Select box value is passed in at post. No URL redirects on new option selection. 

Possible downsides ¶

Writing a new post from somewhere outside direct blog context could have consequences.

    * Plugins attached to target blog not loaded. 

Next Steps ¶

Once there is agreement on the best approach I can submit the appropriate patch.
",wpmuguru
20377,Show notice that site Network Admin is viewing is disabled,,Multisite,3.0,normal,minor,Awaiting Review,feature request,new,,2012-04-06T14:47:29Z,2012-11-17T16:15:48Z,"In Multisite, site admins can click ""delete site"" from their Tools menu, but this actually just sets it to disabled.  If a Network Admin tries to view the site, they can still view it just fine.  This can be pretty confusing/misleading.  I think it would be an improvement if while a Network Admin is viewing a Disabled site, that a message is displayed along the lines of:

This site is currently Disabled. [re-enable link]",MadtownLems
18079,WP has dropped support of the path field in the site table,,Multisite,3.0,normal,normal,Awaiting Review,feature request,new,has-patch,2011-07-12T05:06:31Z,2012-11-03T14:25:50Z,"I've had inquiries about sites that used to work in WordPress Mu that no longer work in WordPress 3.1.  

The idea is to have a path based network for each state/province and sites for each city under that, all networks hosted under the same domain. 

Like so
{{{
Network 1:
Network domain: example.com Network path: /ohio/
    site domain: example.com path: /ohio/akron
    site domain: example.com path: /ohio/canton
    site domain: example.com path: /ohio/uniontown

Network 2:
Network domain: example.com Network path: /pa/
    site domain: example.com path: /pa/pittsburgh
    site domain: example.com path: /pa/greensburg
    site domain: example.com path: /pa/erie

Network 3:
Network domain: example.com Network path: /indiana/
    site domain: example.com path: /indiana/indianapolis
}}}
There are two things that are preventing this. First, in new_site, instead of including the path from the sites table for the current network, it uses the global $base variable which is always / in this scenario. Using $current_site->path resolves that. 

The second issue is that the .htaccess code is too restrictive. It will the paths on two levels. /network/site/wp-admin/ doesn't work but /site/wp-admin/ does.

Adjusting lines similar to 
{{{
RewriteRule  ^[_0-9a-zA-Z-]+/(wp-(content|admin|includes).*) $1
}}}
over to 
{{{
RewriteRule  ^[_0-9a-zA-Z/-]+/(wp-(content|admin|includes).*) $1
}}}
resolves that.

The attached patch addresses both of these requirements.
",brianlayman
18025,WPMU New Blog Default User Role,,Multisite,3.2,normal,normal,Awaiting Review,feature request,new,,2011-07-07T12:26:50Z,2012-11-17T15:53:53Z,"When I using WP Multisite as Network Admin and creating a new blog, The new user to the blog will get role: Administator for the new blog.

I want to add in wp-admin/network/settings.php a setting for ""New Blog Default User Role"". Where the Network Admin can set the default role for users to new blogs.

So you can set that if you creating a new blog and enter one e-mail address the user will get the role you have in your settings, so you can set users to new blogs to be example subscribers instead of Administrators like today.

Exactly as the plugin http://wordpress.org/extend/plugins/new-blog-default-user-role/ but this one is not so good.",jontelm
14941,dynamic unloading and loading of plugins,,Multisite,3.0,normal,normal,Future Release,feature request,reopened,,2010-09-22T20:13:37Z,2010-10-06T20:18:33Z,"The short:
If I'm blog 1 and I switch_to_blog(2), I'm still running in the environment of blog 1.  All blog 1's activated plugins are active, and not all of blog 2's plugins necessarily are.

The long:
I first ran into the problem trying to get Subscribe2 (S2) to work well with Site Wide Tags (SWT).

SWT basically works like this:
When someone makes a post on their blog: switch_to_blog(aggregrate_blog_id); 
wp_insert_post(...); 
restore_current_blog();

S2 says that whenever someone inserts a post, to send an email alert out.

With both of these plugins enabled, a post always generates TWO emails, regardless of whether S2 is active on the aggregate blog.  The same is true for any behavior that triggers on a new post being created (such as automated tweeting, etc).

I feel that, if I'm really switching to that blog, I should be running more comprehensively as it.  That is, with its plugins active, and none of its un-activated plugins active.

The examples of conflicts I gave are blog behavior, and are more or less just annoying, but I could easily see this causing unforeseen security flaws as well.",madtownlems
18162,Bulk action: Add multiple users to a site,,Network Admin,3.2,normal,normal,Future Release,feature request,new,,2011-07-18T19:09:31Z,2011-09-10T07:37:22Z,"Currently, to add a multiple users to a single site, the super admin has to edit each site, look up each username, and add new users to the site one by one.

To improve this workflow, it would be useful to be able to select which users to add from a table of users and add those users in bulk.

This ticket could have scaling problems to solve.",danielbachhuber
18161,Bulk action: Add user to multiple sites,,Network Admin,3.2,normal,normal,Future Release,feature request,new,,2011-07-18T19:07:04Z,2011-09-10T05:44:38Z,"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
20946,Improve 'Right Now' in Network Admin,,Network Admin,3.4,normal,normal,Awaiting Review,feature request,new,,2012-06-13T21:02:14Z,2012-07-11T21:50:34Z,"It seems like there are a few things that could be done to make 'Right Now' in the Network Admin a little more informative and functional:

1. Add the current !WordPress version and applicable 'Update to X' and/or 'Update Network' buttons. Currently in NetAdmin the version is only displayed in the footer and (sort of) in /network/update-core.

2. List and link the site and user counts in similar fashion as the single-site 'Right Now' box

3. List and link theme and plugin counts",DrewAPicture
15942,"In a network, super administrator can choose a specific user for admin of new blog instead of guessing his email.",,Network Admin,3.0.3,normal,normal,Future Release,feature request,new,,2010-12-21T23:05:35Z,2012-01-12T03:03:37Z,"When I create a new blog in a network, I am asked to enter the '''Admin Email'''. This is rather useless to me because all our accounts come from an LDAP directory. So I have to remember the site admin's email address, which is not always consistent across my organization. It would be nicer if I had an autocomplete-style field where I could enter the user's ID.",novasource
18163,"Include more usermeta fields in the Network Admin's ""Add User"" view",,Network Admin,,normal,normal,Future Release,feature request,new,,2011-07-18T19:17:51Z,2011-12-30T19:31:31Z,"The view for adding a new user in single site instances includes many useful fields (e.g. first name, last name, a checkbox for whether the user should be emailed the password, etc.)

We should replicate this in the network admin to keep the super admin from having to edit each individual profile.

Relevant views:
* /wp-admin/network/user-new.php",danielbachhuber
15691,Network admin should have its own settings API,,Network Admin,,normal,normal,Future Release,feature request,new,has-patch,2010-12-05T19:31:17Z,2013-01-21T04:47:16Z,"preferably using options.php and the same API as normal admin, this way making a plugin multisite compatible (ie. adding a Network admin screen to it) would be much easier.",joostdevalk
20225,"Self-contain wp-includes/load.php, wp-includes/plugin.php",,Performance,3.3.1,normal,normal,Awaiting Review,feature request,new,,2012-03-13T10:50:01Z,2012-04-01T09:44:46Z,"I'm trying to write a high-performance plugin.

I still want the whole of WP to be used by the admins, and the main part of WP to still be used by most user workflows, but I want certain end users to instead be using an alternate controller, instead of /index.php, when they're doing certain things. 

This new controller I'll write will use a couple of the core files, but skips most for the goal of increased performance. The proposed core files to re-use are:
* wp-includes/version.php
* wp-includes/load.php
* wp-includes/plugin.php
* wp-includes/wp-db.php
* wp-includes/class-wp-error.php

However, wp-includes/functions.php is a can of worms, that if I included, would require me to include many other files, and it spiders out from there.

What would be better is if the following functions that wp-includes/load.php and wp-includes/plugin.php require be moved into those files from the functions file. Specifically:
* wp_die()
* validate_file()
* stripslashes_deep()
* add_magic_quotes()
* _doing_it_wrong()
* trailingslashit()

If they aren't, I'll have to copy-paste them into my custom controller, maintaining separate versions of them (less than optimal).

Of course, this process still requires me to write my own simpler versions of many more complex functions:
* wp_cache_init()
* wp_cache_close()
* wp_get_active_network_plugins()
* is_blog_installed()
* get_option()
* update_option()

but that's completely acceptable.

Moving those first 6 functions from the functions file to the load and plugin files would not negatively affect core, but would positively affect plugin authors' abilities to write high-performance plugins.",scottconnerly
15953,"when category slug is changed, old uri also should redirect to new, as post uris do",,Permalinks,3.0.1,normal,normal,Future Release,feature request,new,,2010-12-22T18:51:10Z,2011-01-15T08:41:14Z,"when category slug is changed, old uri also should redirect to new, as post uris do",qdinar
14769,"API for ""Settings"" action link on plugins.php",,Plugins,3.0,normal,normal,Future Release,feature request,new,,2010-09-02T22:10:35Z,2010-12-07T23:12:33Z,"Plugins should be able to register a ""Settings"" actions link that will then take them to their plugin settings page.

We should try to hook into add_options_page() as well, just by taking the first one that the plugin registers. Probably not really doable to ascertain which plugin calls that function however, without running a backtrace. Maybe try matching the slug with the plugin basename.

Someone is encouraged to run with this before I get to it.",nacin
21763,Add Support To Pass An Array Of Plugins To The Plugin Info API,,Plugins,3.4.1,normal,normal,WordPress.org,feature request,new,,2012-09-01T03:14:42Z,2012-09-01T11:13:54Z,"https://api.wordpress.org/plugins/info/1.0/
Currently only allows one plugin to be passed in a request to get the relevant information back.

However, the update check API allows an array of plugins to be passed. I'm requesting the same functionality be added to the info API and not just for developer use, but for consistancy.",crypticmauler
18821,Add a Last Updated Date Field for Plugins to the WP Backend,,Plugins,3.3,normal,normal,Awaiting Review,feature request,new,,2011-09-30T03:40:22Z,2013-04-17T13:57:36Z,"As a matter of security and possible incompatibility with future WordPress versions I always make sure the plugins I'm using are being actively developed and haven't been abandoned.

It would be a great asset if a ""Last Updated Date"" field was added to the Plugins Page of the WordPress backend so I can quickly gauge the age of my various plugins and start looking for an alternatives more efficiently.
",chrisls
15971,Add abilty 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,2012-09-15T04:59:48Z,"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
21044,Add action hook to end of resetpassform reset_pass_form,romaimperator,Plugins,3.4,normal,normal,Awaiting Review,feature request,new,has-patch,2012-06-21T20:59:55Z,2012-06-21T20:59:55Z,"'''Description'''

This hook will allow plugin developers to add content to the form users see when they are setting a new password for their account.

'''Why do I want this feature?'''

My plugin found [http://wordpress.org/extend/plugins/trustauth/ Here] replaces the need for passwords. I added a feature to allow users to completely disable password logins for their account to prevent bruteforcing. This hook will allow me to add a feature which will let them assign a new TrustAuth key (just a public key) to their account rather than forcing them to reenable password logins and set a new password.

'''Current Behavior'''

Currently plugins cannot add anything to the form.

'''Implementation Strategy'''

I have created a patch which simply runs the action hooks before outputting the submit tag.

'''Work Estimate'''

However long it takes to review this ticket and apply my patch.

'''Commitments'''

me, romaimperator, implementing the one line of code",romaimperator
14209,"Authentication data check button for ""Post via e-mail""",,Plugins,,normal,normal,WordPress.org,feature request,new,,2010-07-06T13:05:00Z,2010-10-28T06:36:59Z,"Allowing the user to check the ""Post via e-mail"" POP3 data in Settings->Writing ""on the fly"" seems like a nice enhancement. A simple AJAX button would be a significant improvement compared to the current solution. ",wojtek.szkutnik
21284,Better New Plugin Filtering,,Plugins,,normal,normal,WordPress.org,feature request,new,,2012-07-15T17:24:24Z,2012-07-18T15:04:03Z,"Currently trying to sort through available plugins by searching is quite laborious since there is no way to filter out things you don't want - such as plugins that haven't been tested with your version, haven't been updated in 100+ days, have a really low rating, etc.  I'm constantly surprised at how many plugins i have to go through before i can even find one that is compatible with at least WP two versions ago much less the current one.

You should be able to filter on:  Tested with current version, Rating of X+, Download at least XX, and so on to make it easier to find something you want.

And then column sorting after then by date added, date updated, rating, etc.",cbesett
15514,Category/Tag Converter should include Post Format conversions,,Plugins,,normal,normal,WordPress.org,feature request,new,,2010-11-20T03:13:53Z,2013-01-17T17:10:01Z,"The category/tag converter should include the ability to convert categories or tags to post formats.

The converter in general needs a pretty serious UI or code cleanup, so if anyone wants to own this, that would be awesome, and I will assist.",nacin
23616,General Handler for Whitelisted Options' Submissions,,Plugins,,normal,normal,Awaiting Review,feature request,new,,2013-02-26T03:06:55Z,2013-02-26T03:09:09Z,"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
22029,Install multiple plugins,,Plugins,3.5,normal,normal,Awaiting Review,feature request,new,,2012-09-28T00:44:34Z,2013-04-09T08:51:32Z,"The new favourite plugins list is very welcome. On this list, or in general, I would like to be able to install several selected plugins.

The use case is for site admins, pretty much the same use case as for the new favourites list. That featured would be really useful if one could install many plugins at a time, as one can upgrade many selected plugins at a time.

The use case when searching in other categories of plugins is not so obvious. It could be a special feature for the favourites list, or it could be available on all kinds of plugin search results.",knutsp
14096,More protection against fatal errors from plugins,,Plugins,,normal,major,Future Release,feature request,new,dev-feedback,2010-06-26T05:36:27Z,2010-10-28T05:26:52Z,"Willing to split this into more tickets if these ideas gain traction.

'''More realistic sandboxing.''' It would be interesting to perhaps kill most of the WP environment while trying to sandbox a plugin on activation, to catch more fatal errors. For example, unset $wp_rewrite, which would prevent add_rewrite_tag() issues (on activation) for plugins incorrectly trying to register rewriting for taxonomies or post types. Of course, most of these plugins are already running on a blog when the auto-upgrade happens. Hence the second item:

'''Check plugins before an auto-upgrade.''' We can do plugin update checks to verify their compatibility (as reported by the author?) with the version they are about to upgrade to. If the plugin is in the repo and is not identified as compatible with that version, then very strongly advise they deactivate it (and consider doing it for them).

'''Check a site after an auto-upgrade.''' Since we only recommend deactivating plugins on auto-upgrade, and I'm not sure we should forcibly do that as part of an auto-upgrade, then let's check the site after an upgrade. Hit wp-load with an HTTP request and look for a header we spit out on the wp_loaded hook. If we don't get a header, then deactivate all plugins and tell the user ""told you so"". We could consider trying to reactivate plugins until one fails as well (also a valid option for the previous suggestion).",nacin
18285,New Settings API and workflow,,Plugins,,normal,normal,Future Release,feature request,new,,2011-07-28T20:39:29Z,2013-05-21T12:38:44Z,"A new Settings API should ideally be less painful.

That includes registration of options, creating fields and forms, and handling errors.

Quick suggestions, which Ryan and others can elaborate on, as well as offer justification for:
 - Stop using options.php as a POST handler.
 - Object-oriented approach, rather than passing handles around everywhere.
 - Should be flexible enough to leverage the new Settings API in the Network and User admins.
 - Form/field construction should be easy, and core should use it.
 - Core should also show/hide relevant fields based on the UI, perhaps with some sort of caps integration. Likewise, authorization for saving options should be incorporated beyond the sanitization callback.

Table markup should also be moved to CSS, which requires #16413 and core leveraging the fields API.

Anything that is not done, can be moved to 3.4. We should not rush this API, and we should be absolutely satisfied with it.",nacin
12738,Notice Helper,john316media*,Plugins,,lowest,minor,Future Release,feature request,accepted,has-patch,2010-03-28T00:07:58Z,2011-09-09T16:40:52Z,"It would be useful if the next WP release will contain notice helper function in plugins API or somewhere in WP utils.

All plugin developers are often using standard WP admin notices which is simply a line of HTML: 


{{{
<div class=""updated fade""><p>Some message.</p></div>
}}}


I didn't find any function to produce this HTML code so I'm using my own but it's boring to move same function from one plugin to another.

My notice helper code:

{{{
    function html_notice_helper($message, $type = 'updated', $echo = true) {

        $text = '<div class=""' . $type . ' fade""><p>' . $message . '</p></div>';

        if($echo) echo $text;

        return $text;
    }
}}}

",andddd
10441,Show warning when deprecated hook is registered,nacin*,Plugins,,normal,normal,Future Release,feature request,accepted,dev-feedback,2009-07-18T14:48:47Z,2013-05-07T14:27:17Z,At this moment WP shows warning when someone tries to use deprecated function or file. It will be good to do the same for deprecated hooks. My suggestion is to do this check in add_action()/add_filter() functions. They should compare hook name against list of deprecated ones and show warning if necessary.,sirzooro
10141,"URL Functions for: login, logout, lostpasword and the new register",ramiy,Plugins,2.8,normal,normal,Future Release,feature request,reviewing,has-patch,2009-06-13T16:41:28Z,2010-10-10T00:01:18Z,"I want to finish the work i started on #9932.

First i complited the set of ""wp_*_url()"" functions:

'''wp_login_url($redirect)''' - exists

'''wp_logout_url($redirect)''' - exists

'''wp_lostpassword_url($redirect)''' - exists

'''wp_registration_url($redirect)''' - NEW !!!

Then i examind the '''wp_loginout($redirect)''' function and the '''wp_register( $before = '<li>', $after = '</li>' )''' function.

The old '''wp_register( $before = '<li>', $after = '</li>' )''' was depricated in favor of the new '''wp_registration($redirect)''', and moved to <wp-includes/deprecated.php>.

The new '''wp_registration()''' function uses '''wp_registration_url()''', and like all the functions in this set it accepts only the $redirect parameter.

At the end i fixed <wp-includes/default-widgets.php> and <wp-content/themes/default/sidebar.php> to use the new '''wp_registration()''' function.

(Sorry for the bad english)",ramiy
19721,WordPress should support multiple or nested plugin directories,scottnath,Plugins,3.3,normal,normal,Awaiting Review,feature request,new,,2012-01-03T16:33:34Z,2012-10-22T11:12:11Z,"WordPress currently only looks one directory deep for the plugin files. This is a limitation in get_plugins. It should look at least two (or more).

Our setup: We have many sites on WordPress and would like to share a set of plugins across them. However, we also have a requirement where each site should have its own unique set of plugins as well. (I realize this seems like an easy job for Multisite or mu=plugins, but they're not something we can adopt currently for various reasons).

Ideally, we can create a symlink (or external/submodule) to our shared plugins folder from inside the core plugins folder and have WordPress recognize plugins within that folder:

* plugins Folder
	* hello-dolly.php
	* akismet
		* akismet.php
	* shared-plugins (symlink)

* shared-plugins folder
	* hello-dolly-enhanced
		* hello-dolly-enhanced.php
	* akismet-enhanced
		* akismet-enhanced.php

Currently, WordPress will ignore both hello-dolly-enhanced and akismet-enhanced.

Themes already support nested folder; plugins should too please!

Thanks,
Scott Nath",scottnath
19790,function request : is_plugin_latest($plugin);,,Plugins,3.3.1,normal,minor,Awaiting Review,feature request,new,dev-feedback,2012-01-09T20:23:12Z,2012-01-17T15:14:49Z,"i am working on a plugin right now an i am at the stage of adding help content to it.

i want to be able to display a contact form for support, but only want this to show if the user makes sure they are using the latest plugin version.

ive searched the core and the codex and i cant find any function that ""just"" checks if a plugins up to date (i know wordpress does check, but it wrapped up in bigger proccesses).


this would also be usefull to check themes as well, but for now maybe just a plugin version check.


it seems simple enough by just checking the site transient for plugins and checking the response array. if theres a better solution please let me know, because the code below is what i use currently in every plugin of mine:


{{{
function _is_latest($plugin){
		
		$info = get_site_transient( 'update_plugins' );
		
		if(isset($info->response[$plugin]['new_version'])){
			return false;
		}else{
			return true;
		}//if
		
		
}//function
}}}




this is really simple, could we get it added to the core?

for themes we could just add a context arg to the funtion like
{{{
_is_latest($context, $file);
}}}

and call either the theme or plugin transient based on value of $context",nohalfpixels
11418,Allow adding post thumb via url,,Post Thumbnails,2.9,normal,normal,Future Release,feature request,new,,2009-12-13T11:05:05Z,2010-01-05T20:57:07Z,currently it is only possible to add post thumbs from blog's gallery,pascal.herbert
12235,Display caption with the_post_thumbnail,,Post Thumbnails,2.9,normal,normal,Future Release,feature request,new,,2010-02-15T10:01:13Z,2012-01-16T23:39:44Z,"It seems to me that there could be room for improvement with the_post_thumbnail function. So far, I did not find any way to display the caption below the thumbnail, like we do today with ""normal"" images.

What do you think of the idea of adding an argument for displaying caption text with the thumbnail?

",hd-J
16264,Add function get_pages_by_template(),,Post Types,3.1,normal,normal,Awaiting Review,feature request,new,has-patch,2011-01-16T19:38:15Z,2011-10-22T03:14:18Z,"This patch adds a function `get_pages_by_template()` to `/wp-includes/post.php`. It accepts a page template string and returns an array of post objects keyed by the pages that use the template:

{{{
$pages = get_pages_by_template( 'page-about.php' );
}}}

Using WordPress for CMS I've been finding a need to provide links to specific pages in a more robust way than hardcoding their `post_id` or even referencing their `post_name`/`URL slug` and the way I've identified that works well is to locate a page by it's page template. Here a function that a theme might write that would use the function I'm proposing be added:

{{{
function get_about_page_link() {
  $pages = get_pages_by_template( 'page-about.php' );
  if ( count( $pages ) )
    return get_page_link( get_post( $pages[0] )->ID);
  return false;
}  
}}}

Unfortunately WordPress does not have efficient functionality  in core that would allow a themer to lookup a page or a list of pages by their templates thus requiring the theme developer to resort to SQL which is ideally avoided. 

Thus I'm providing this patch to enable a themer to do this lookup without having to resort to SQL.
The patch also fixes a typo that affects phpdoc in the same file: @parem => @param.
",mikeschinkel
12510,There should be an API to register post_types and post_status,,Post Types,3.0,normal,normal,Future Release,feature request,new,reporter-feedback,2010-03-04T06:58:56Z,2011-08-07T21:20:31Z,"Presently the available (default) post_types and post_statuses are stored in wp-includes/post.php and called on init.
Shouldn't they be stored in the DB (perhaps in the options table). This would make it much easier / cleaner to add / manage custom post_types.
Essentially as the post_type array contains meta-data about that posts of that type I don't believe that it is good practice to store that statically.

This could be very easily implemented for 3.0 release and clean up a whole lot of hacking / issues and make a uniform way of storing custom post_types.",ceenz
16935,Wrap selected text in <blockquote> in press-this.php,,Press This,3.1,normal,normal,Awaiting Review,feature request,new,dev-feedback,2011-03-22T16:27:37Z,2011-12-19T00:50:04Z,"When using the ""Press This"" bookmarklet, any text selected on the current page is inserted into the post body textarea.  This should be wrapped in a <blockquote> tag with some appropriate class name.",topdownjimmy
16910,Lazy evaluation for WP_Query,,Query,,normal,normal,Future Release,feature request,new,,2011-03-21T01:04:39Z,2012-02-25T15:18:54Z,"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
12684,Add Edit to Bulk Actions menu on Categories screen,,Quick/Bulk Edit,3.0,normal,normal,Future Release,feature request,assigned,,2010-03-23T17:04:15Z,2013-01-22T01:46:29Z,"On edit-tags.php?taxonomy=category the only bulk action is Delete, because we never got around to adding Edit. We should add Edit to the bulk actions menu so people can change category parents easily. Has been requested on the Ideas forum a number of times, so am starting a ticket. If there's a technical reason not to add Edit to the bulk actions on this screen, then we should get rid of the menu and just have a Delete button. Adding Edit would be preferable, though, for consistency and usefulness. ",jane
12208,Add Quick Edit To Media Library,,Quick/Bulk Edit,,normal,normal,Future Release,feature request,new,,2010-02-12T01:45:12Z,2013-04-12T16:28:27Z,"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
19343,Allow Quick Edit to be Disabled for Custom Post Types,,Quick/Bulk Edit,3.3,normal,trivial,Awaiting Review,feature request,new,,2011-11-23T19:41:02Z,2012-11-22T03:17:16Z,"For some custom post types, quick edit doesn't make sense, and it's not easy to disable the quick edit code. You can use CSS to hide it but that still requires the code to be sent to the browser when it's not even needed.

The only other solution is to extend the ''WP_Posts_List_Table'' class and set the ''inline_edit()'' function to return nothing. Something like this: 
{{{
if(!class_exists('WP_List_Table')) {
	require_once(ABSPATH . 'wp-admin/includes/class-wp-list-table.php');
}

if(!class_exists('WP_Posts_List_Table')) {
	require_once(ABSPATH . 'wp-admin/includes/class-wp-posts-list-table.php');
}

class My_Posts_List_Table extends WP_Posts_List_Table {
	function inline_edit(){}
}

function my_admin_head() {
	$wp_list_table = new My_Posts_List_Table();
	$wp_list_table->prepare_items();
}

add_action('admin_head-edit.php', 'my_admin_head');
}}}
Clearly, that is a lot of code to accomplish something so simple.

So, it would be nice if there was some way to disable quick edit. Maybe it could be a feature you could disable via the ""''supports''"" option when you register the custom post type?",Jick
18496,Quick edit loses custom colums and custom order - looks bad,,Quick/Bulk Edit,3.2.1,normal,minor,Awaiting Review,feature request,reopened,reporter-feedback,2011-08-23T01:56:37Z,2012-06-18T22:31:42Z,"Using manage_posts_custom_column, 'manage_posts_columns', 'manage_edit-'.$post_type.'_columns'  etc

to add custom columns to the manage edit lists and to change the order of the fields.

If Quick edit is used on a post, the custom columns disappear (visually - a refresh displays them again) and the custom column order is reset just for that post.

This results in a rather buggy looking display. (See attached screenshots).  All is okay on a refresh of the page.

I think this is related to http://core.trac.wordpress.org/ticket/17935. (explained differently, but possibly similar cause?)


",anmari
9681,Add hooks to allow a plugin to support the deletion of unneeded revisions,,Revisions,2.8,low,minor,Future Release,feature request,new,,2009-04-29T15:50:32Z,2013-01-21T14:59:10Z,"There currently is a means to restore a revision, but no means to delete one.",Denis-de-Bernardy
23314,Allow published posts to be revised without being updated immediately,,Revisions,,normal,normal,Future Release,feature request,new,early,2013-01-29T19:39:01Z,2013-04-10T09:08:15Z,"Two things. Let's allow contributors to submit changes for review to their published posts. Let's also allow users to make changes to their posts and pages and save those changes, without updating the published post or page.",kovshenin
10834,schedule a revision to publish without unpublishing existing content,,Revisions,,normal,normal,Future Release,feature request,new,,2009-09-23T20:49:27Z,2010-03-25T04:28:23Z,"Boy, it sure would be swell if I could take an existing post/page, edit the content or add tags/custom terms, and then schedule that revision to be published later, without unpublishing the previous revision.

Other people think it would be cool too... [[BR]]
http://wordpress.org/support/topic/216545 [[BR]]
http://wordpress.org/support/topic/226600 [[BR]]
http://wordpress.org/support/topic/273701 [[BR]]
http://wordpress.org/support/topic/273730 [[BR]]
http://wordpress.org/support/topic/275932 [[BR]]
",alxndr
13269,Ability to list by user role in wp_dropdown_users,,Role/Capability,,normal,normal,Future Release,feature request,new,,2010-05-05T22:05:20Z,2010-10-27T11:52:42Z,"Hi Everyone!

I am using custom post types and during my experimentation I found it the best to create a new role as well. In short, a website will be hosting seminars, and we have seminars as a custom post type, and seminar speakers as a role (we want to be able to manage them as users, but restrict blog access). 

Since they are not authors, they will not show up in the author box on the new post page, so I added a new meta box, which contains a select box to select the speakers we need. 

For this I need to create a custom query, but it would be great if a simple attribute were added to the function wp_dropdown_users(). The argument could be ""role"" and you would need to add the name of the role, like ""speaker"". 

I hope this is something  useful to others too! While I have a pretty good understanding of the WP core now, I am not really comfortable checking out files yet, so sorry for not actually writing the code. ",danielpataki
5942,Add Owner role,,Role/Capability,3.1,normal,normal,Future Release,feature request,reopened,,2008-02-21T10:13:08Z,2011-04-10T04:17:35Z,"This patch adds a new 'owner' role.  The owner is an administrator who cannot be demoted, deleted or edited by other administrators.  Owner is a secondary role - the user is both an administrator and an owner.

In the current implementation there is only one owner at a time.  The current owner can transfer ownership of the blog to another administrator on the Transfer Ownership tab (under Users).  I implemented this as a plugin because some site owners won't want the feature there at all.

This is of most interest for MU, but it's also probably useful for some regular WordPress blogs with multiple users.

This would be particularly useful in conjunction with the user_role table from #5541, but it works fine with or without it.",tellyworth
17253,Author role should be able to make/edit pages (a.k.a. let's get with the times),,Role/Capability,3.1,normal,normal,Future Release,feature request,new,,2011-04-27T11:29:52Z,2012-08-23T00:47:00Z,"More and more sites are using WordPress to run the whole site, not just a blog. Pages are quickly eclipsing blog posts as the default content type, and we should start moving to address this. Currently authors have no rights to pages. Someone with higher rights can set the author as someone with the author role, but the author can't actually get to it. This is super lame, because the ""just create and manage your own stuff"" role doesn't apply to a major form of content. 

I understand this will have implications re backwards compatibility, but we've talked about revisiting the roles system at some point, so I wanted this ticket to be on record. We have to make roles more reasonable for CMS use. ",jane
17254,Contributors should be able to upload,,Role/Capability,3.1,normal,normal,Awaiting Review,feature request,new,,2011-04-27T11:42:24Z,2011-09-10T03:10:26Z,"Workflows and typical post content have evolved since the roles were defined. Posts frequently contain images, video, etc. As it is now, for someone to be able to put an uploaded image or video in a post, they have to be an Author, because contributors have no upload rights. This means that if a post contains any media, the person writing it has the ability to publish. There's a big gap now for use cases where a site owner wants to curate/edit contributor submissions before publication but wants those contributor posts to not be limited to text-only creations. 

Proposal: allow contributors to upload media files (kept as draft, not published until approved by higher role). ",jane
20140,Ask old password to change user password,tman4506*,Security,,normal,normal,Awaiting Review,feature request,accepted,dev-feedback,2012-02-29T12:55:38Z,2012-08-26T16:14:53Z,"I have experienced this in various sites and i think
it adds extra security.
We must ask for the old password when the user tries to change the password",nprasath002
10237,Implement Content Security Policy to prevent XSS,ryan,Security,2.8,normal,normal,Future Release,feature request,new,,2009-06-22T20:50:37Z,2012-06-20T16:12:36Z,"http://blogs.zdnet.com/security/?p=3654

 1. Here’s how Content Security Policy can provide a way for server administrators to reduce or eliminate their XSS attack surface. Website administrators specify which domains the browser should treat as valid sources of script.

 2. The browser will only execute script in source files from the white-listed domains and will disregard everything else, including inline scripts and event-handling HTML attributes. 
   - Note: event-handling is still enabled in CSP without using HTML attributes.

 3. Sites that never want to have JavaScript included in their pages can choose to globally disallow script.",Denis-de-Bernardy
10850,Make register_setting available on the front-end,ryan,Security,2.8.4,normal,normal,Future Release,feature request,new,,2009-09-25T09:47:09Z,2009-09-25T09:47:09Z,"hi,

since 2.7.0 we have the function {{{ register_setting($option_group, $option_name, $sanitize_callback = '') }}} in ''/wp-admin/plugin.php'' to securely handle handed over $_POST variables in the admin menu.

afaik, besides of the usage of query_vars (which only work for $_GET variables) we have no counterpart to ''register_setting'' on the front-end. imho, we could increase the security and usability of forms and their variables if we would provide a similar functionality in ''wp-includes''.

what do you think?

greetz,
berny",neoxx
21737,"Users should have to jump through hoops to set passwords of their choosing, and we should guard better against weak passwords",westi*,Security,,normal,normal,Awaiting Review,feature request,accepted,,2012-08-30T04:07:17Z,2013-04-18T02:44:43Z,"People are terrible at choosing secure, unique, complex, unguessable passwords. Unless someone is using a password storage system, the chances are good that the passwords they're choosing are really weak.

We can mitigate this problem.

1. Let's make the default to always be that WordPress picks a password for you. When installing WordPress, or when creating a new user account, or when changing your password on your profile. The default should be that we generate a secure password for the user. They can remember it, write it down (not ideal, but generally more secure than choosing a weak password), or copy and use it once, check the ""remember me"" box, and not worry about it until their cookie expires on that computer.

2. If they do opt to manually create a password, we need to do better than our current password strength meter. And the lowest level should actually nag them with an AYS before they proceed. I suggest the following, to start, which would trigger the lowest level, and cause them to have to dismiss a warning (or check a checkbox... UI TBD) before continuing:

* compare the strtolower'd version of their password to strtolower'd versions of all their info (username, first/last name, part of e-mail address before the @, etc).
* any password that is shorter than 8 characters
* a blacklist of popular passwords (these lists are available... even grabbing the top 100 would give use good coverage)
* 3 or more consecutive digits (""123456"" and company are very popular)
* anything that looks like a date",markjaquith
21924,add action / filter to wp-login.php so we can replace WordPress login and force using 3rd party login,,Security,,normal,normal,Awaiting Review,feature request,new,,2012-09-19T11:59:58Z,2012-09-19T11:59:58Z,"I want to turn off WordPress login because I don't have an SSL certificate. I want to replace (not just hide with CSS or something) the WordPress wp-login.php login form so that a plugin can hook into that and be called within themes that use the hook to display the WordPress login form. Then, if the plugin is disabled, the generic WordPress login will display by default/fallback.

Worst concern about this is the plugin failing, especially upon an update or theme change or something and this can be fixed by logging in and disabling the plugin via FTP or via database or something.

(Of course, applies to both ""login"" and ""register"", not just ""login"".)

What I tried before posting here:
http://premium.wpmudev.org/forums/topic/is-there-a-plugin-to-disable-wordpress-default-login?replies=9#post-276574
and
http://www.wpquestions.com/question/show/id/7065


Might be related to:
http://core.trac.wordpress.org/ticket/19097


Thank you very much.",cliffpaulick
17227,wp should work around bug in move_uploaded_file for tighter security,,Security,3.2.1,normal,normal,Awaiting Review,feature request,new,,2011-04-24T00:28:50Z,2011-11-17T18:52:45Z,"Andrew Nacin said I should put this in a new ticket so others can weigh in.  Here's the email with the description:

Hey guys, so I'm trying to harden up (!) my wordpress installation, and the whole world-writable wp-content/uploads thing is avoidable by creating a group that includes me and apache (call it ""checkersites""), and making wp-content/uploads et al group writable, group checkersites, and the directories group sticky.  So, any new directories and files created are group checkersites so I can toast them, even though apache is the owner.

However, there's a bug in php's move_uploaded_file that it doesn't obey the directory group sticky bit, so any files uploaded and run through move_uploaded_file are apache:apache, which then breaks everything with this scheme (meaning, the files still work, but now I can't modify the them without su'ing, etc.).  This has been recorded on the php docs for move_uploaded_files since 2008  ([http://www.php.net/manual/en/function.move-uploaded-file.php#85149 note here]), so it looks like they just don't care. I was thinking about patching wordpress to work around this by checking if the destination directory's group sticky bit is set and changing the group to that if so.  Would you guys be interested in the patch?

As far as I can tell, this is the only thing that forces non-root users to make directories world writable (or even readable, assuming the admin will set up the shared group for them).  Seems like it's worth fixing.",chrishecker
20659,Document available shortcodes in eg. new post page,,Shortcodes,,normal,normal,Awaiting Review,feature request,new,,2012-05-11T14:40:28Z,2012-05-22T12:40:35Z,"It would be useful if a plugin defining shortcodes also could describe the usecase for the shortcode and the available attributes and the usecases for those attributes in a way that could be exposed in the interface on eg. the new post page.

One could take inspiration from eg. the Drupal Token module which has a token_list() hook that a Drupal module uses to describe every token it describes so that they can be presented to the user in the interface.

Something like:

{{{
add_shortcode_description('shortcodename')
}}}

That returns something like this would be nice:

{{{
array(
  'description' => 'This is used to do foo',
  'attr' => array(
    'bar' => 'A text that will be presented as bar'
  ),
);
}}}",voxpelli
12982,Shortcodes don't allow shortcodes in attributes,,Shortcodes,3.0,normal,normal,Future Release,feature request,new,needs-unit-tests,2010-04-12T22:31:17Z,2010-04-15T22:16:02Z,"I think that shortcodes should work when used inside attributes of other shortcodes, just like they can work inside the ""$content"" of a shortcode.

Some people says that that isn't supposed to work, but theoretically it is supposed to work when using the ""do_shortcode"" function. It don't work because:

1) ""do_shortcode"" is context free, which it's actually fine by its fastness, although it don't allow stuff like inserting a shortcode inside the content of itself

2) The shortcode regex stops with the first occurrence of a ] in a shortcode, so in this:

{{{[foo bar=""[baz /]""]content[/foo]}}}


it ""outputs"":


{{{[foo bar=""[baz /]}}}


and {{{""]content[/foo]}}} is ignored.

I'm not programmer but I tried to fix it by changing the shortcode regex so it allow anything between quotes or brackets inside the first group of brackets. It sort of works, but also mess the handling of quotes in the rest of the shortcode, so I think something more advanced have to be done to make it work. 

This is somewhat related to another shortcode tickets, but none of them addresses nor solves this specifically.",Atoon
14877,Ability to create exclusive custom taxonomies,nacin,Taxonomy,,normal,minor,Future Release,feature request,reviewing,dev-feedback,2010-09-15T14:08:25Z,2012-11-24T20:00:54Z,"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
14717,Add option to wp_list_categories (and underlying get_terms or whatever) to restrict by post_type.,,Taxonomy,3.0.1,normal,normal,Future Release,feature request,new,,2010-08-27T22:16:56Z,2010-10-28T10:27:53Z,"This is so that when someone uses wp_list_categories they can stop categories from showing up that only have elements from custom post types, and thereby creates links to a category archive that contains no posts because everything in the category has a post_type other than post.",Finster
20735,Adding tags to form element of categories.,,Taxonomy,3.3.2,normal,normal,Awaiting Review,feature request,new,,2012-05-23T13:15:59Z,2012-05-23T13:15:59Z,"Just like the post form in posts you can use the hook of ""post_edit_form_tag"" to add new tags to the form element of creating or editing new post.

but there is no hook for categories form to do that I think adding new element will be helpful feature.

Note: after some debugging I found that the hook can be add in:

#File: your wordpress directory/wp-admin/edit-tag-form.php

#Line: 33

# Find : <form name=""edittag"" id=""edittag"" method=""post"" action=""edit-tags.php"" class=""validate"">

# Relpace: <form name=""edittag"" id=""edittag"" method=""post"" action=""edit-tags.php"" class=""validate""<?php do_action('categoery_edit_form_tag'); ?>>

Thanks",m.ibrahim
16718,Deprecate in_category in favor of has_category,,Taxonomy,,normal,normal,Awaiting Review,feature request,new,dev-feedback,2011-03-01T17:22:14Z,2011-04-14T02:32:57Z,"#12526 introduced has_category. There was some patches there which did and did not deprecate in_category.

End result is that they're now both in category-template.php, doing the exact same thing (serving as a wrapper to has_term).

I think we need some naming consistency here. Deprecate one or the other of them in 3.2, perhaps.
",Otto42
5034,Impossible to have duplicate category slugs with different parents,ryan,Taxonomy,2.3,high,normal,Future Release,feature request,new,dev-feedback,2007-09-21T19:29:20Z,2013-02-05T04:23:01Z,"I'm using Wordpress as a CMS tool where categories are used as macro level grouping.

Windows XP -> Utilities
Windows Vista -> Utilities

This is no longer possible with WP 2.3, which ignores parent category when testing whether a slug is unique.",snakefoot
24305,Link of  Posts count column in Term List Table (single taxonomy for more custom post types),,Taxonomy,3.5.1,normal,normal,Awaiting Review,feature request,new,,2013-05-10T15:58:09Z,2013-05-10T17:10:31Z,"Recently the link of the Posts column in the Term List Table is a number which contains the number of the posts of a certain category, and links to the Posts List Table (edit page).

When the taxonomy is attached to more than one custom post types, the Posts List Table cannot work. I would like to ask for a (core) list table based on taxonomy instead of post type.",namarpi
14901,"Make ""Uncategorized"" transparent",,Taxonomy,,normal,trivial,Future Release,feature request,new,,2010-09-19T23:22:39Z,2011-09-28T21:16:33Z,"When posts are created, they are placed into the Uncategorized category by default if no other category is specified.  This causes problems when re-categorizing later on because you have to both add the new category and remove the ""uncategorized"" category at the same time.

""Uncategorized"" should be automatically removed when marking categories on a post.  

""Uncategorized"" should not appear in the list of categories on the ""Categories"" page but in a separate section below reading ""You currently have XX uncategorized posts.""

Listing Uncategorized in the categories table presents the illusion that it is a separate category by itself that can be modified and removed - it can't, so it shouldn't be listed there.",ericmann
7740,Merge Tags,,Taxonomy,2.7,normal,normal,Future Release,feature request,new,dev-feedback,2008-09-14T16:56:07Z,2011-10-18T23:46:10Z,"As mentioned in [http://wordpress.org/support/topic/163558 a support thread], tags can get cluttered over time with many different tags meaning basically the same thing. To clean up tagging the ability to merge tags would be a life saver.

The functionality I had in mind was being able to select two or more tags in edit-tags.php and select 'Merge' from the 'Actions' dropdown. When you click 'Apply' a lightbox would open with the following:

  '''What should become the primary tag?'''[[BR]]
  [Textfield][[BR]]
  ''The name is how the tag appears on your site.''
  
  '''What should become the primary tag slug?'''[[BR]]
  [Textfield][[BR]]
  ''The “slug” is the URL-friendly version of the name. It is usually all lowercase and contains only letters, numbers, and hyphens.''
  
  '''Which slugs should continue to point to the new primary tag?'''[[BR]]
  [Textarea automatically filled with the old slugs][[BR]]
  ''One slug per line.''
  
  '''Save''' | '''Cancel'''

The last textarea allows old slugs to still point to the new primary tag - meaning any old URL's will still work.

=== -~- Example -~-~-~-~-~-~-~-~ ===

I've got the following tags which all mean the same thing:

  TV, the box, telly

I select them all in edit-tags.php, select 'Merge' and 'Apply'. In the popup box I choose 'television' as the primary tag, 'television' as the slug, and list the old tags in the textarea.

I now have a tag called 'television' which has ""television, TV, the box, telly"" all pointing to it, so my old URL's still work. All of my posts which use the old tags have now magically swapped to using 'television'.",hempsworth
23747,Ordering Categories,,Taxonomy,,normal,normal,Awaiting Review,feature request,new,dev-feedback,2013-03-12T10:14:05Z,2013-03-12T11:17:06Z,There should be provision to order categories. This will open up many possibilities to use with CustomPost types.,valllabh
9547,Taxonomy - interesting 'unused' term_order column in table term_relationships.,ryan,Taxonomy,2.8,high,normal,Future Release,feature request,reopened,needs-unit-tests,2009-04-16T15:19:42Z,2013-05-14T14:06:03Z,"During development of plugin [http://wordpress.org/extend/plugins/xili-language/ xili-language], and to sort term by term list of languages in a taxonomy, I discover unused column '''term_order''' in ''term_relationships'' table and lack of functions in core about this column. Like medias in post, here the user can define languages list with first, second, third,... languages for his website (and xml header). Taxonomy tools are here very powerful without adding tables or annoying coding.

([http://plugins.trac.wordpress.org/browser/xili-language/tags/0.9.8.2/xili-language.php  see code here line 1309-1370]). 

Before to complete these very basic functions,…

Is it forecast to have more basic / generic functions using '''term_order''' in taxonomy.php ?

[http://core.trac.wordpress.org/ticket/9546 Related ticket]",michelwppi
13816,There should be built-in index pages for taxonomies,,Taxonomy,,normal,normal,Future Release,feature request,new,,2010-06-10T12:20:29Z,2013-01-11T07:45:26Z,"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
12629,function to remove custom taxonomies and all their terms,,Taxonomy,,normal,normal,Future Release,feature request,assigned,,2010-03-17T22:02:58Z,2012-09-11T10:52:31Z,"I think there should be an easy way for plugins that create custom taxonomies to clean up after themselves on deactivation. I went over taxonomy.php pretty thoroughly and didn't find anything that does this directly.

The function below removes the custom taxonomies and terms from the various tables while leaving the built-in taxonomies alone.

{{{
<php
/*
assuming taxonomies for actor, director, and genre have been created on plugin activation...
*/

function remove_taxonomy($taxonomy) {
	if (!$taxonomy->_builtin) {
		global $wp_taxonomies;
		$terms = get_terms($taxonomy); 
		foreach ($terms as $term) {
			wp_delete_term( $term->term_id, $taxonomy );
		}
		unset($wp_taxonomies[$taxonomy]);
	}
}

function deactivate_custom_taxes() {
	remove_taxonomy('genre');
	remove_taxonomy('actor');
	remove_taxonomy('director');
	remove_taxonomy('post_tag');  // this will fail silently
	// do we need to flush the rewrite rules? 
	$GLOBALS['wp_rewrite']->flush_rules();
}

register_deactivation_hook( __FILE__, 'deactivate_custom_taxes' );
?>
}}}

If you like the idea, the remove_taxonomy() function could go into taxonomy.php, and then we'd document the deactivation procedure.",sillybean
18106,get_terms of posts in a specific post_type,,Taxonomy,,normal,normal,Awaiting Review,feature request,new,,2011-07-14T05:25:49Z,2012-07-04T18:39:45Z,"I have searched most everywhere to find how to use get_terms for a specific post type, and have only found this article: http://wordpress.stackexchange.com/questions/14331/get-terms-by-taxonomy-and-post-type However this is doing a query for posts and getting the terms for those posts rather than doing a straight SQL statement, so it's not as efficient or ideal.

Adding an additional argument for additional where statements or a argument to specific a post_type, are two solutions I can imagine.

",braydonf
21995,(get/the)_archive_title and (get/the)_archive_description functions,,Template,,normal,normal,3.6,feature request,new,dev-feedback,2012-09-25T23:44:53Z,2013-03-06T21:46:58Z,"Current theme archive got problem with complexity - archive template is used for taxonomy, category, tag, author, date and custom post types archives and every type of archive got special function for showing title and special function for showing description.

So now theme developers fight with two evils - one very big archive.php file with a lot of conditions, or tons of separate simple .php files for each archive type. See #21951 for example.

Other problem of current solution is that templates are not future-proof - when new archive types are added, archive.php must be rewritten.

My idea is to create 2 simple functions (+ 2 echoing)
get_archive_title + the_archive_title
get_archive_description + the_archive_description

in those function would be all the complexity, which is now in the template, plus the filter, so something like


{{{
function get_archive_title() {
if ( is_day() ) {
	$title = sprintf( __( 'Daily Archives: %s' ), '<span>' . get_the_date() . '</span>' );
} elseif ( is_month() ) {
	$title = sprintf( __( 'Monthly Archives: %s' ), '<span>' . get_the_date( _x( 'F Y', 'monthly archives date format' ) ) . '</span>' );
} elseif ( is_year() ) {
	$title = sprintf( __( 'Yearly Archives: %s' ), '<span>' . get_the_date( _x( 'Y', 'yearly archives date format' ) ) . '</span>' );
} elseif ( is_tag() ) {
	$title = sprintf( __( 'Tag Archives: %s' ), '<span>' . single_tag_title( '', false ) . '</span>' );
} elseif ( is_category() ) {
	$title = sprintf( __( 'Category Archives: %s' ), '<span>' . single_cat_title( '', false ) . '</span>' );
} elseif ( is_post_type_archive() ) {
	$title =  sprintf( __( 'Archives: %s' ), '<span>' . post_type_archive_title( '', false ) . '</span>' );
} else {
	$title = _e( 'Blog Archives' );
}
return ( add_filter ( 'get_archive_title', $title ) );
}
}}}

(imo it could be a bit more complex, so that we could add a param to this function for simple rewritting the title for some particular type without filtering whole output)

Finally the archive template would be as simple as


{{{
<header class=""archive-header"">
<h1 class=""archive-title""><?php the_archive_title() ?></h1>

<div class=""archive-meta""><?php the_archive_description ?></div>

</header><!-- .archive-header -->
}}}

this way we will get all we need
1. one archive file
2. very short file without any conditions
3. easy to filter the output
4. future-proof as when adding new wp archive type, the function would be updated

Of course, for backwards compatibility of current themes, this function can be copied to the theme functions.php as well with !if (function_exist(
'get_archive_title'))",thomask
18803,Core hooks for fragment caching,sivel,Template,3.3,normal,normal,Future Release,feature request,new,dev-feedback,2011-09-28T15:47:29Z,2012-07-24T00:38:42Z,"I have been running fragment caching for some time, but have seen a few negatives with the way it needs to be implemented currently.  With fragment caching potentially becoming even more popular after talks given at WordCamps, core hooks to assist in this are going to become more necessary, for several reasons, such as creating some standardization about how it is integrated into the theme.

Since there are no hooks in something like get_sidebar() -> get_template_part() -> locate_template() -> load_template() you have to create your own function calls to use in a theme to render the sidebar.  

In my specific case I was using a child theme, and ended up having to copy over a lot of the parent theme files to make the modification.

My goal is to provide some hooks that would allow use of the standard theme functions such as get_sidebar() but give a plugin or similar access to interrupt the process, generate the cache and output the cache.

My first pass is attached as well as a sample mu-plugin that I have wrote to show how you can use the new hooks to perform fragment caching.",sivel
11095,Format wp_list_pages and wp_page_menu without <li> tags,,Template,,normal,normal,Future Release,feature request,new,,2009-11-07T18:00:44Z,2010-03-25T11:49:07Z,"Would that be possible to have the functions wp_list_pages and wp_page_menu with an option to display pages in a ""flat"" format like the functions wp_list_bookmarks or wp_tag_cloud or wp_get_archives?",zialingua
23142,"Make it possible to ""stem"" an arbitrary prefix with the Template Hierarchy's ""stemming"" logic.",,Template,3.5,normal,normal,Awaiting Review,feature request,new,,2013-01-08T13:04:03Z,2013-01-09T00:23:21Z,"Please expose the template hierarchy ""stemming"" logic for theme developers. By ""stemming"" I mean the process by which the list of candidate template filenames  (e.g. page-meaningoflife.php, page-42.php, page.php) is generated.

I '''know''' that the way template-loader.php is currently written, such list is never explicitly assembled. I consider this a deficiency. The ""stemming"" logic should be available as an API:


{{{
function wp_template_candidates($prefix="""") {

    $filenames = array();

    // Extensively refactored code from template-loader.php and template.php

    return $filenames;
}
}}}

The new template-loader.php could then probably be just reduced almost to this:

{{{
locate_template(wp_template_candidates(),true);
}}}

But the real motivation is to be able to use a single layout template that includes different versions of ""parts"" like menu or sidebars depending on the query type and queried object, exactly as the template hierarchy does. This can of course be done with ad-hoc checks:

{{{

if (is_home()) { locate_template(""home/sidebar.php"", true); }

}}}

but making this consistent with how template hierarchy works would involve basically reimplementing much of it. The proposed API would make it possible to override parts of a template for specific query types or queried objects just by creating an appropriately located and named file, and without modifying the main layout file:

{{{

/*
 *   File: MyTheme/includes/body-layout.php
 */

<div id=""main-menu"">
<?php locate_template(wp_template_candidates(""main-menu/""),true); ?>
</div>

<?php

//On a ""video"" category page, this will pick MyTheme/social_slider/category-video.php

@include_once locate_template(wp_template_candidates(""social_slider/""));

?>

}}}",rulatir
13493,Make the_date() and is_new_day work properly,Otto,Template,,normal,normal,Future Release,feature request,new,reporter-feedback,2010-05-22T09:14:46Z,2011-10-10T14:16:57Z,"Make the_date() always echo the date, in preference the the historic behavior of only echo'ing once per ""day""


----


Otto's recommendations.

a) fix is_new_day() to actually work.
b) change the_date and such to always display the date.

With that patch, somebody could do this for the ""only on new days"" logic:

if (is_new_day()) the_date();

Anybody who actually needed that new day functionality (rare) could then fix their theme up quite simply with only a minor adjustment.

",banago
9719,Please : a filter for $category object in get_the_category_list(),,Template,2.8,normal,minor,Future Release,feature request,reopened,,2009-05-04T09:09:10Z,2009-06-13T02:57:15Z,"To offer for one post more flexibility in how to display the names of categories in the_category() or in get_the_category_list() -file category-template line 166 - , is it possible to add a filter as the filter existing in wp_list_categories() .  Useful to replace cat name by instance by image ''(iphone compatible theme)'' or to add translation in bilingual or multilingual theme ''(by instance with xili-language plugin)'' without re-creating specific function.

As in classes.php (line 1328), I suggest this modif with a filter named post_list_cats for the start of two loops present in get_the_category_list() (line 187 et 209)


{{{
foreach ( $categories as $category ) {
$cat_name = attr( $category->name);
$cat_name = apply_filters( 'post_list_cats', $cat_name, $category );
}}}


and inside the two loops, $category->cat_name replaced by $cat_name


with this filter it will be more coherent to treate cat list in one post or in sidebar for all posts

Many thanks

",michelwppi
14375,Post pagination should have a show all option,,Template,3.0,normal,normal,Future Release,feature request,new,,2010-07-21T07:03:29Z,2010-10-28T10:08:00Z,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
23537,"Require attributes, not classes",,Template,,normal,normal,Awaiting Review,feature request,reopened,,2013-02-19T18:20:03Z,2013-02-28T19:40:43Z,"Currently themes[http://codex.wordpress.org/Theme_Review#Template_Tags_and_Hooks must] use [http://codex.wordpress.org/Function_Reference/language_attributes language_attributes], [http://codex.wordpress.org/Function_Reference/body_class body_class], [http://codex.wordpress.org/Function_Reference/post_class post_class] [http://codex.wordpress.org/Function_Reference/comment_class comment_class]. Rather then requiring direct usage of those, it'd be far more useful to have (and instead require) functions for the entire attributes output, with corresponding filter hooks. The current `_class` functions/hooks would still run, albeit internally via these new functions. This approach is scalable to future attribute needs.

{{{
<html <?php html_attrs(); ?>>
<body <?php body_attrs(); ?>>
<article <?php post_attrs(); ?>>
<li <?php comment_attrs(); ?>>
}}}

There also should be `get_` versions. Using the `get_` version in the theme (or manually applying the hook) should suffice to meet requirements. The hooks are the underlying reason for requiring these functions. Hooks would run in the `get_` versions. #23236 can ensure safe output and DRY code.",ryanve
12370,We need a smarter version of wp_title() and a few other template tags,hallsofmontezuma*,Template,3.0,normal,major,Future Release,feature request,accepted,,2010-02-25T08:47:06Z,2011-09-06T16:22:50Z,"Look at Twenty Ten's `header.php` and the code that is needed to output the `<title>`. That's a bit silly.

I suggest we should have a helper function of some type to replace all of that. A smarter and more sophisticated version of `wp_title()`.",Viper007Bond
9818,add a wp_notification functionality to output notices and errors on the front end,,Template,2.8,normal,normal,Future Release,feature request,assigned,,2009-05-14T09:28:25Z,2010-07-06T22:43:20Z,"On occasion, a plugin needs to return some kind of feedback. It would be nice if a standard hook existed for this.

It could go something like this:

add_filter(wp_notification, foobar)

foobar() appends to an array of notification messages that get displayed to the user on the front end.

then, on page load:

 - in wp_head if notifications is not empty, we add a style, wp_notification, that makes elements of this class invisible, and we load jQuery

 - if do_action(wp_notification) is explicitly called on the page, we display the messages in there, without the class, and disable the notification on the wp_footer hook

 - an action gets fired on wp_footer if do_action(wp_notification) is not called, and we use ajax to place the needed messages in a absolutely positioned div element, with a close button.

we could also add some kind of do_action(wp_commentform_notification), nearby the comments form, to output comment-related errors in their ""correct"" location as well.",Denis-de-Bernardy
9860,additional query filters for postbypost archive type,,Template,2.9,normal,normal,Future Release,feature request,new,has-patch,2009-05-18T15:26:31Z,2009-11-20T20:23:29Z,"Add getarchives_distinct, getarchives_fields filters for postbypost archive type in function wp_get_archives.

These are a necessary supplement to the existing getarchives_join and getarchives_where filters because joining on categories (a likely usage) causes duplicate post names if a post is in more than one joined category.

For more explanation, see #8022",kevinb
19902,blog_url() and get_blog_url() template tags,,Template,3.3.1,normal,normal,Awaiting Review,feature request,new,dev-feedback,2012-01-26T21:44:13Z,2012-02-23T22:00:03Z,"With usage of WordPress as a CMS increasing, the blog is not always the focal point. It would be great if there were template tags available to get the blog url, basically a wrapper for getting the options if it's set to a WordPress page, and defaulting to home_url( '/' ) if not.

Patched against r19759 (trunk)",johnjamesjacoby
13100,"category template matches ancestor category, single post matches category filename",,Template,,normal,normal,Future Release,feature request,new,,2010-04-24T11:52:56Z,2010-04-24T12:19:11Z,"Dear wordpress developers,

There's two features which I think would be very useful in the wordpress template selection process. The first relates to categories - currently a category template file will be selected when the category of the selected post matches the filename of the template (category-catfoo.php). Because categories are hierarchichal (can be sub-categories) I suggest that if it can't find a template for the current category it should also also try to match ancestor template files.

The other feature which I suggest would be useful, is single post template matching using category names. For example, single-catfoo.php. This could also match on ancestor categories if none is found immediately (single-catrootfoo.php).

Best wishes,
Jim Redfern",jredfern
20730,make function wp_list_categories rewritable for templates (File: category-template.php),,Template,,normal,normal,Awaiting Review,feature request,new,,2012-05-22T17:34:02Z,2012-05-22T17:36:35Z,"Inserting

{{{
$list_categories_template = locate_template(array('listcategories.php'));
        if ( '' != $list_categories_template ) {
                require($list_categories_template);
                return;
        }
}}}

under

{{{
function wp_list_categories( $args = '' ) {
}}}
",wpuser12584
21766,modify body_class function to allow non-class items,,Template,,normal,normal,Awaiting Review,feature request,new,dev-feedback,2012-09-01T18:11:43Z,2013-02-19T21:26:12Z,"Currently, the `body_class` only allows for filtering with additional classes. For users that want to add other items, they have to manually edit the theme files. The best example of this is schema.org body elements (itemtype and itemprop).

The diff file shows two things:

1. the new `body_items` function that grabs any items added via filter, if they exist.

2. the modified `body_class` function, which appends the output with the items if they exist.

The patch, as I've written it, allows for this additional filter to be included without interfering with how themes / plugins interact with the current `body_class` filter, and doesn't require theme authors to include an additional tag in their themes.

Below is an example function that could be placed in a theme or plugin to add other items to the body tag element.


{{{
function schema_bodyitems($item) {

	if (is_page() ) :
		$item[] = 'item-foo=""item-bar""';
	endif;

	$item[] = 'itemtype=""http://schema.org/Blog""';
	$item[] = 'itemscope=""""';

return $item;
}

add_filter('body_items','schema_bodyitems');
}}}
",norcross
18951,A function to add default images for themes,,Themes,3.2.1,normal,normal,Future Release,feature request,new,has-patch,2011-10-14T17:19:27Z,2011-10-18T17:44:36Z,"Adding default images to themes is not an easy task. They have to play nicely with different image sizes that are built-in and/or added via {{{add_image_size();}}}. If they don't, then they will simply break the layout or won't change with user changes. Sadly we can't simply use most of the core media/image functions as those functions check if the image is an attachment image and - if not - abort.

So I want to introduce {{{wp_default_img();}}}. It works with an input array of attributes and offers two filters (wp_default_img_attr & wp_default_img). So setting up default images is as easy as using a filter (if the theme developer isn't satisfied with the functions default args) and finally just adding

{{{
// functions.php during init:
add_image_size( 'default_img', 80, 80, true );

// Inside some template
$placeholder = get_site_url( null, 'your_path' ).'/some_img.jpg';
echo wp_default_img( array( 'url' => $placeholder, 'size' => 'default_img' ) );
}}}

The function also cares about cropping images if 4th argument set to {{{true}}} when registering the size using {{{add_image_size();}}}.

Related ticket that pops the whole image size data into [http://core.trac.wordpress.org/browser/branches/3.2/wp-includes/media.php#L580 get_intermediate_image_sizes();], can be found here #18947.",F J Kaiser
12717,Ability to create new theme files.,nacin,Themes,,normal,normal,Future Release,feature request,reviewing,,2010-03-26T00:30:26Z,2010-06-21T06:18:43Z,"It would be really nice to be able to create a new file with the theme editor (e.g. loop-category.php) or a new page template for example, when you realise that you need one.

This is related to the last comment in #12716 as creating new versions of parent theme files in your child theme also would be very useful.

Yes.... I know you can use FTP to do this, but when you want to create a new page template quickly and you are in the wrong place it would be a very useful feature.
By the same argument we have the theme editor in the first place, let make it even more useful.",Dickie
19561,Allow a background colour to be set for custom headers,,Themes,3.3,normal,normal,Awaiting Review,feature request,new,,2011-12-15T09:11:04Z,2011-12-15T09:11:04Z,"Currently WordPress allows you to set a custom image background for the header and a custom text color but doesn't give the users a way to set a custom ''background color'' for the header. 

Adding a simple color picker for the header background would give users a lot more flexibility in what they can do with the header without using external software to create graphics etc. Perhaps needs a way to activate it from the themes functions.php (suggest ''add_custom_header_color''?)",hellweaver666
18623,Allow themes to pre-register multiple custom backgrounds,,Themes,3.3,normal,minor,Awaiting Review,feature request,new,dev-feedback,2011-09-08T21:53:35Z,2012-07-07T18:16:49Z,We currently have the ability to register multiple header images and to randomly cycle through them or allow users to select one and stick with it. Is there anything that would prevent a similar implementation for custom backgrounds?,zamoose
18118,Append page slug to body_class function,,Themes,,normal,normal,Awaiting Review,feature request,new,has-patch,2011-07-14T21:52:03Z,2011-07-26T20:26:54Z,"I actually do this already on all of my sites, and thought this would be an obvious, amazing thing to add to the body_class function. Pretty much what you'd expect; the page-slug gets appended to the body_class, allowing for page-specific styling.

'''<?php body_class($post->post_name . ' '); ?>'''",andrewsvg
17236,Make it easier to subclass custom header and background,,Themes,,normal,normal,Awaiting Review,feature request,new,,2011-04-25T20:50:13Z,2012-08-10T12:55:06Z,"The functions that add the custom header and background contain code like this:

{{{
require_once( ABSPATH . 'wp-admin/custom-header.php' );
$custom_image_header = new Custom_Image_Header( $admin_header_callback, $admin_image_div_callback );
add_action( 'admin_menu', array( &$custom_image_header, 'init' ) );
}}}

This makes it difficult to extend those classes, since they're referenced here directly. Replacing them with subclasses involves not only modifying the global after the fact, but removing and re-adding the action hook to the newly created sub-class item. 

The fact that this base class is only included at this point also makes it difficult to load your own subclass at the right time, since you have to add the custom image header first, then load, then remove the action hook, then replace the class, then do the action hook yourself...

It would be nice if it was possible to more easily replace these globals (both header and background) with a different class at the time of definition here. I'm not sure of the best way to do this. Perhaps with a hook allowing the user to replace the class before the add_action? Or by having the new itself use a class of the users own defining.
",Otto42
12877,Modular themes: Apply template hierarchy to folders within a theme,,Themes,,normal,normal,Future Release,feature request,new,has-patch,2010-04-06T16:26:15Z,2013-04-11T03:34:53Z,"Applying template heirarchy to folders within a theme will allow themes to be broken into modules, allowing theme developers to substantially reduce repeated code. This is an automated, complete version of the use of get_template_part() in Twenty Ten.

I've written posts on the [http://wp.me/pS0xt-1f justification for modular themes] and [http://wp.me/pS0xt-30 their potential to transform theme organization].

Based on [http://wp.me/pS0xt-3O my tests], these functions should cause no noticeable difference in performance.

The patch has the added benefit of creating an accurate global $wp_template_hierarchy object (and a getter method), so any plugin/theme can access the template hierarchy for $wp_query.

The patch introduces several new functions: get_template_module($folder), get_template_hierarchy(), update_template_hierarchy(), and 2 private functions.

Finally, the patch also add a 'locate_template' filter on $template_names at the beginning of locate_template(), and turns the large conditional in template-loader.php into a function: template_loader().",koopersmith
19238,New approach for content navigation section in themes,,Themes,3.3,normal,normal,Awaiting Review,feature request,new,dev-feedback,2011-11-12T16:06:01Z,2011-11-12T16:06:01Z,"At this moment the only way to replace default content navigation in theme (previous/next posts links) is to manually edit theme files. Ticket #18585 allows to replace this section, but its scope is limited to Twentyeleven and its child themes. 

Therefore I propose to introduce generic mechanism, which could be used by theme and plugin autors - e.g. add new `content_navigation_template()` theme tag. By default it should look for `navigation.php` file in theme directory and include it. There should be also a new filter, which could be used by child theme and plugin authors to provide alternate navigation section.",sirzooro
21256,"New theme feature - add_theme_support( 'content-width', $defaults )",,Themes,3.4.1,normal,normal,Awaiting Review,feature request,new,dev-feedback,2012-07-13T10:08:34Z,2013-05-15T15:49:42Z,"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
21097,Reinstall Theme feature,,Themes,,normal,normal,Awaiting Review,feature request,new,,2012-06-28T11:21:32Z,2012-06-28T14:18:38Z,"I would be interested in a feature where you can just click to reinstall a theme instead of having to deactivate it, delete it and then reinstall it. Something like with reinstalling WordPress.",grapplerulrich
20509,Theme idea - generic.php,,Themes,,normal,normal,Awaiting Review,feature request,new,dev-feedback,2012-04-21T23:37:30Z,2013-03-18T23:48:35Z,"Problem: How do plugins that introduce completely new functionality (I.E. BuddyPress/bbPress) interface with themes, without needing to move template files directly into a theme's folder?

Solution: generic.php

----

generic.php would be a template file that includes skeletal layout of the theme. In place of the content and the comment logic, is an action; for the sake of discussion, let's name this action 'generic_content'

A concept file is attached for twentyeleven.

This type of ability would help prevent a ton of additional processing that plugins currently need to do to hi-jack the_content output and noop the comment stream, in situations where a plugin needs to output HTML into the main content area of a theme.

Rather than guessing at template names, and hoping 'page.php' or 'index.php' will be close enough, a convention of having themes come with a dedicated template for plugin compatibility would be incredibly helpful.

BuddyPress components have a similar convention already, with a plugin.php having only the header, footer, sidebar, and generic action in them.

The use case is currently small, and there's very little (if anything) needed in WordPress core to make this work. Wanted to post the idea here to get some developer talk going, and get opinions on other possible approaches.",johnjamesjacoby
19627,Themes should be able to opt-in to a static front page,koopersmith,Themes,,normal,normal,Future Release,feature request,assigned,,2011-12-21T01:42:05Z,2013-03-02T21:47:58Z,"A theme should be able to register that they are designed to have a static front page by default. Core should then pick up on this as part of the activation process and allow them to pick or create a page, or ignore it and show posts on the front.

Twenty Twelve will most likely need this (http://wpdevel.wordpress.com/2011/12/20/default-theme-twenty-twelve/).",nacin
20978,Upload a theme like an image,,Themes,3.5,normal,normal,Awaiting Review,feature request,new,dev-feedback,2012-06-15T18:26:31Z,2012-12-15T16:45:15Z,"add option to drag zip files like images on 'theme-install' page, enable multiupload.",alexvorn2
14752,Warn after theme activation if wp_head/footer is missing,,Themes,,normal,normal,Future Release,feature request,new,dev-feedback,2010-09-01T12:10:37Z,2010-10-28T10:34:33Z,"After theme activation, we can reliably test for wp_head() and wp_footer() with an HTTP call to the front page.

We should do that and check for two things:

 1. That wp_head() and wp_footer() are present in the theme.

 2. That they are in the correct location, immediately before </head> and </body>.

Then throw a warning that the theme may not function properly (with a link to a Codex page?) because it is not using the API correctly.

Is this core material?",nacin
15073,Add Table Buttons to Visual Editor Kitchen Sink (2nd row),,TinyMCE,,low,minor,Future Release,feature request,new,,2010-10-08T16:54:27Z,2011-06-03T09:22:59Z,"Add Table Buttons to Visual Editor Kitchen Sink (2nd row)

This regular comes on the forums. Tables are an infrequent, but very natural way to present information. In an edu environment they are essential.

I suspect you have used tables in your posts, but have the expertise to  enter the html directly yourself.

I think the general usefulness, and unobtrusive 2nd row experience makes this a candidate for core, and not plugin material.",lloydbudd
22580,"Add an option to preserve aspect ratio when changing image size in ""Advanced Image Settings""",,TinyMCE,3.4,normal,minor,Awaiting Review,feature request,new,,2012-11-25T00:03:03Z,2012-11-25T02:52:04Z,"Having an option to preserve aspect ratio would make it much easier for me to show an image smaller and still have the proportion being correct.

It could be either done as a plain checkbox (in case of no JS) or, like the GIMP, as an imagebutton with a connected chain link when aspect ratio is preserved, and a broken chain link when aspect ration is not preserved.
",edwardw
16285,Custom Words for Spell Checking,,TinyMCE,3.0.4,normal,minor,Awaiting Review,feature request,new,,2011-01-18T14:59:46Z,2011-04-01T08:56:54Z,It would be very useful to be able to pre-load lists of specialist/custom words. It would cut down editing time especially on mobile devices. ,southcot
9757,Allow Plugin/Theme updates from a uploaded .zip file.,,Upgrade/Install,2.8,low,normal,Future Release,feature request,new,dev-feedback,2009-05-08T00:17:07Z,2011-06-06T03:02:12Z,"Plugin administration lacks of an update possibility by uploading zip files. This feature is only half-done in 2.7, you can only upload plugins as zip to install them, not to update them.

Zip file uploads should be treated the same as the other install/update possibilities like remote.

#9708 provides a testcase that can be used to test such am update by zip.

currently a over-upload in the install page does throw an error that the directory already exists:

{{{
    *


      Dashboard
    *

    *


      Posts
      Posts
          o Edit
          o Add New
          o Post Tags
          o Categories
    *


      Media
      Media
          o Library
          o Add New
    *


      Links
      Links
          o Edit
          o Add New
          o Link Categories
    *


      Pages
      Pages
          o Edit
          o Add New
    *


      Comments 0
    *

    *


      Appearance
      Appearance
          o Themes
          o Widgets
          o Editor
          o Add New Themes
          o Custom Header
    *


      Plugins 0
      Plugins 0
          o Installed
          o Add New
          o Editor
    *


      Users
      Users
          o Authors & Users
          o Add New
          o Your Profile
    *


      Tools
      Tools
          o Tools
          o Import
          o Export
          o Upgrade
    *


      Settings
      Settings
          o General
          o Writing
          o Reading
          o Discussion
          o Media
          o Privacy
          o Permalinks
          o Miscellaneous
    *

Help
Documentation
Support Forums
Help

Installing Plugin from uploaded file: 9708-plugin-testcase-9708-plugin-a-v-0.2.zip

Unpacking the package.

Installing the plugin.

Destination folder already exists. [...]worpress-trunk/wp-content/plugins/9708-plugin-testcase/

Plugin Install Failed.
}}}

",hakre
14781,Allow upload of PHP files as plugin,,Upgrade/Install,,normal,normal,Future Release,feature request,new,dev-feedback,2010-09-04T13:28:06Z,2011-10-15T13:24:46Z,Currently allowed are only ZIP packages. Plugins that consist of a single PHP file are not supported. It would be handy if uploading a single PHP file is an option.,hakre
15738,Automate Security Releases,,Upgrade/Install,,normal,trivial,Future Release,feature request,new,dev-feedback,2010-12-08T21:11:49Z,2012-12-03T23:27:46Z,"When security releases are published, several less tech-savvy users might neglect to update in fear of breaking their site.  In reality, security/maintenance releases don't change the core API and shouldn't break anything*.

We should have an option (disabled by default) that allows these X.X.1-style security updates to happen in the background.  This will keep sites updated and secure and (hopefully) prevent the inevitable ""I wanted to wait to install 3.0.2 and someone hacked my site while I was waiting"" support requests.

The option should be disabled by default, but when users are on the update screen they should see an option to ""install security releases automatically.""

Major releases should always require an explicit action from the user to update the site as they can break themes and plug-ins and could potentially update database schema.

* Except in the rare occasion where a developer hacks core.",ericmann
22704,Automatic Core Updates,pento,Upgrade/Install,3.5,normal,normal,Awaiting Review,feature request,assigned,dev-feedback,2012-12-03T22:05:04Z,2013-01-14T18:12:02Z,"It's time to think about automatic updates for WordPress Core. Plugins and Themes are a totally different ball game, so it's probably best to leave them for the moment. Currently, I'm thinking it would be a good idea to release this in stages (some of which may be combined, just spelling them out):

- SVN updates in trunk installs
- SVN updates in branch installs
- Opt-in updates in stable installs
- Opt-out updates in fresh installs
- Opt-out updates in all installs
- Remove option for opting out

I'd like to see SVN updates go into 3.6 early, so we can quickly get a good idea of compatibility issues that we're likely to run into when we get to beta.

Finally, are there any features we should be looking at adding to the upgrader for this? More sanity checking, notifications, other?",pento
16491,Automatically backup database before updating,,Upgrade/Install,3.0.5,normal,normal,Awaiting Review,feature request,new,dev-feedback,2011-02-08T16:45:15Z,2011-03-25T13:38:49Z,"Currently when updating Wordpress or its plugins/themes there's a message at the top of the page, reading that the user should backup its database.

This ""update tool"" would be so much more useful, if it could backup the database automatically before updating. I'm not so sure why one would need to backup the files so this step could most likely be skipped.",manski
10476,Option to export .zip backup before auto upgrade of wp/plugins,,Upgrade/Install,2.9,normal,normal,Future Release,feature request,assigned,,2009-07-24T17:53:14Z,2012-01-06T23:18:05Z,"Has there been any discussion on an option to export WP and plugin files in a zip before the auto upgrade process begins for either?  The upgrade process is so easy now most users don't take proper backups first.  

I'd be glad to work on a patch file, but wanted to get thoughts on this feature first?",williamsba1
15977,Send the Locale in Plugin/Theme Update Check Requests,nacin*,Upgrade/Install,3.1,normal,normal,Future Release,feature request,accepted,early,2010-12-25T20:59:43Z,2013-01-22T00:00:56Z,"Currently, we send locale (and other information about installation) only in wp_version_check and not in wp_update_plugins and wp_update_themes.

Since we still don't know how system for plugins/themes localization will work, I propose that we send this from 3.1.

Why? As said above, there is no definitive agreement on how will localization system work, but it is possible that system wont require changes in core, ie. be same or similar to one I [http://wppolyglots.wordpress.com/2010/12/10/proposal-for-plugins-localization-system/ suggested] over at Polyglots.

In that case localization system will be made independently what means that it'll can start working before 3.2 version. If we don't send locale for plugins/themes, we will need to wait for 3.2 even though that wont be significant change.

In theory, plugin/theme developers could also benefit if alongside locales, we would send all information we send in wp_version_check and later show them as are plugin versions shown now.

I know that is very late for this change but issue with plugin localization tool has been ignored for a very long time as I described in my post mentioned above in more detail.",dimadin
10989,Show changelog for core upgrade,nacin*,Upgrade/Install,,normal,minor,Future Release,feature request,accepted,,2009-10-21T01:36:14Z,2011-11-15T01:53:20Z,"When clicking on the admin notice that there is an update available, it would be interesting to see a short changelog with a link to the complete changelog of the upgrade besides the two download buttons

Example with the 2.8.5.
Show on the page:
The headline changes in this release are:

    * A fix for the Trackback Denial-of-Service attack that is currently being seen.
    * Removal of areas within the code where php code in variables was evaluated.
    * Switched the file upload functionality to be whitelisted for all users including Admins.
    * Retiring of the two importers of Tag data from old plugins.

More info : http://wordpress.org/development/2009/10/wordpress-2-8-5-hardening-release/",petervanderdoes
18201,Verify updates with md5 checks,,Upgrade/Install,,low,normal,Future Release,feature request,new,,2011-07-21T21:18:07Z,2012-12-03T23:50:16Z,"Before an update, we should verify core files with a list of md5s, returned through the API. We should do this in order to determine whether we can safely do a partial build, or if we should just copy over everything.

During the update, we can avoid copying over any files that are up to date, as verified by md5 results beforehand. This should save a number of FTP calls, in particular.

After the update, we should md5 files we've copied over, and see if anything went wrong, and try again if necessary. Unfortunately we don't always know why updates fail, so we're going to need to test the hell out of this and see what kinds of cases we can cover. (Maybe it's time for error reporting back to WP.org?)

Any other thoughts?",nacin
10666,"When an upgrade borks, There needs to be an ability to rollback",,Upgrade/Install,,normal,normal,Future Release,feature request,new,,2009-08-20T21:46:58Z,2010-02-15T01:48:44Z,"When an upgrade borks, there should be a simple script that allow you to rollback to the previous version.  It should be mostly separate from the admin interface and allow for the restoration of both a database and the files associated with the previous version.  ",jorbin
19207,dbdelta supporting foreign key,,Upgrade/Install,3.2.1,normal,normal,Awaiting Review,feature request,new,,2011-11-08T19:10:44Z,2012-07-02T09:54:41Z,Is there a plan to include support for foreign key inside dbdelta function?,manutdotcom
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,2012-06-13T22:49:28Z,"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
19770,Implement browser-side resizing with Plupload,,Upload,3.3,normal,normal,Awaiting Review,feature request,new,,2012-01-07T16:07:51Z,2012-09-01T06:10:23Z,"#19174 removed the browser-side image resizing due to browser inconsistencies. We should fix it and reintroduce the feature.

A little related: #14459",johnbillion
7580,Use Exif description to autofill the caption,,Upload,2.6,high,normal,Future Release,feature request,new,,2008-08-23T06:26:39Z,2011-11-19T19:58:35Z,"Hello,
I test a lot of softwares to create a Exif description for my pictures.
Like ""Exif Farm"" or other kind of this softwares.
But When I Upload this picure in wp 2.6 the description will not show!
but i have some picture from the web, and when i upload them, wordpress show the description of it automatically in description Box!
like this picture:
http://www.hinhxinh.com/data/media/8/Beijing_Olympic_2008_-___075.jpg
and show description on it correctly:
http://i33.tinypic.com/2yyqk1t.jpg
Please tell me:
the problem is from Wp,
Or My software is not original?
'''So What should i do to show Description Exif Data in wp Correctly?'''",mrmax
17219,Add Existing User - E-mail Notification ( /wp-admin/user-new.php ),,Users,,normal,normal,Awaiting Review,feature request,new,reporter-feedback,2011-04-22T21:10:17Z,2011-08-07T22:04:12Z,"When adding an existing user to a site, we click ""Skip Confirmation Email Add the user without sending them a confirmation email"" to add the user immediately to the site. We've noticed that there is no notification that the user has been added to a new site. Could email notification upon adding existing user be considered? Thanks!",chaos1
12032,Additional Option of Site Admin -> Options -> Allow new Registrations.,kallumamaji,Users,3.0,normal,normal,Future Release,feature request,reviewing,,2010-01-26T00:29:42Z,2011-12-29T09:29:57Z,"MU Trac Ticket: http://trac.mu.wordpress.org/ticket/799

Right now the 4 options are: Disabled - noone can register a new account or blog Enabled - blogs and user accounts can be enabled (at the same time as the request) Only User Account - Only a user account can be created. Only Logged in User - Cannot create a user account but those who can log in can create a blog.

Need a 5th option for Create User Account and Allow blog creation if logged in.

With the 5th option it will allow new registrations., but only allow them to request a new blog if they are a valid online user after registration.
",wpmuguru
14644,Administrator should be able to change usernames,,Users,,normal,normal,Awaiting Review,feature request,reopened,dev-feedback,2010-08-19T13:57:38Z,2013-04-14T19:26:57Z,"I can't think of any reason why administrators shouldn't be able to change usernames.

I do this occasionally (via SQL) and find that it causes no problems whatsoever (that I've noticed).",holizz
9568,Allow users to log in using their email address,,Users,2.8,high,major,Future Release,feature request,assigned,has-patch,2009-04-17T17:11:28Z,2013-04-11T03:50:35Z,"I've been looking into a few tickets and adding patches to things that were potentially problematic when implementing a membership plugin (#1626, #4170, #9563, #9564). The general idea being twofold: to avoid duplicate users at all costs -- because it's a bloody mess to merge users in a billing system.

I'm about to embark on a mid-sized patch that renders the WP username field optional. This is a natural next step from #9563 and #9564.

Users could then be allowed to specify an email only, when registering. And they could use their email to login -- in addition to their username if they specified one.",Denis-de-Bernardy
16911,Member profile management (WP vs BP),,Users,3.1,normal,normal,Future Release,feature request,reopened,,2011-03-21T02:46:09Z,2011-04-15T09:42:50Z,"One thing that continuously bugs me in WP is the user management/profile fields, particularly with BP added. 

A lot has been done in the past releases, but there is apparently still no easy way to quickly customize user profiles and signup forms accordingly beyond the contact methods (without a plugin).

Also, the parallel existence of WP profiles and the BuddyPress X-profiles seems redundant and is confusing, in my opinion. User management/Profiles as such aren't only a feature of a social layer. I believe this should be a core feature, not a plugin-feature...
",youngmicroserf
12682,Multiple password reset messages,dd32*,Users,2.9.2,normal,normal,Future Release,feature request,accepted,,2010-03-23T15:51:01Z,2011-01-07T00:15:50Z,"There's a security flaw mentioned in #10006: an attacker can bother users with password reset messages.

The problem was reported on Russian support forums by the user receiving hundreds of such messages on his email address. He managed to solve it himself.

He also proposed to introduce some kind of timeout for password resetting. Is it possible?",SergeyBiryukov
14460,New Permission for no_user_edit so users with edit_users can't edit it,,Users,3.0,normal,major,Future Release,feature request,new,has-patch,2010-07-29T23:28:18Z,2011-12-24T20:23:31Z,"I recently experienced a problem where I have an administrator role with full access and a site administrator role with most access including the ability add, edit, and delete users. However, I don't want the Site Administrator to be able to delete users of the role Administrator.

The change I'm proposing is a new permission or marker which states that if enabled, this user can't be changed by another user who isn't the same role. If possible, I might try to add the patch myself.

This is a fairly important issue which would is interfering with WordPress' use as a content management system, and the only work around I've found is to edit core file.",brandon.wamboldt
22624,New current_user_has_role function to work for roles like current_user_can does for caps,,Users,,normal,normal,Awaiting Review,feature request,new,,2012-11-28T22:11:49Z,2012-11-28T23:14:31Z,"current_user_can( 'capability' ) is great, but it would save some code and be more reliable if we had something like this for roles as a global function that's easy to get at:

current_user_role( 'editor' ) would return true if the user has the editor role, false if they weren't.

I'll work on a patch for this when I get a moment, this is just here to remind me and let others know what I'm thinking.",sc0ttkclark
22114,Propagating password on change,,Users,3.4.2,normal,normal,Awaiting Review,feature request,new,close,2012-10-06T08:30:47Z,2012-10-08T04:54:45Z,"After creating an account or changing profile information, it is possible to intercept the changed data in a hook. However, this is not possible for the cleartext psasword, and this is a useful feature especially when propagating a password change over different accounts spanning across different systems (in contexts such as updating the password for phpBB, Prestashop, or any PAM thingie when the WordPress password is changed).

Since this feature is by no means possible to implement without core hacks, I am submitting a patch to include this feature in the WP core.

This patch proves useful if we are to integrate other software bricks without having to implement SSO using WordPress' architecture. In my context, I need to be able to log-in through WordPress or directly through the business specific back-end.

Proposed patch is attached.",ChloeD
12461,"Resend Pass to users from ""admin > users""-list",,Users,2.9.2,normal,normal,Future Release,feature request,new,,2010-03-02T15:23:32Z,2010-03-02T17:34:01Z,"In some of my projects i got the case, that i have to resend the password to some of my users (in this cases WP is used as a CMS). So i needed a possibility to resend (better would be: reset) the pass. Currently i'm stuck with a custom admin-UI on a template-page that contains a list of users (each in a row).

Currently i got the follwing (in a custom list/table of users) for each user at the end of the <tr>-row:
{{{
$user_login = isset($_POST['user_login']) ? stripslashes($_POST['user_login']) : '';
echo
'<td id=""' . $user->ID . ';user_pass;' . $wpdb->users . '"">' .
'<form name=""lostpasswordform"" id=""lostpasswordform"" action=""' . site_url('wp-login.php?action=lostpassword') . '"" method=""post"" target=""_blank"">' .
'<input type=""text"" name=""user_login"" id=""user_login"" class=""input hide"" value=""' . $curuser->user_login  . '"" size=""15"" tabindex=""10"" />' .
'<input type=""submit"" name=""wp-submit"" id="""" class=""small margin-null"" value=""reset"" tabindex=""100"" />' .
'</form>' .
'</td>';
}}}
This makes it possible to resend the wp_mail to ask the user to reset the pass. I'm not the best at php, so i couldn't achieve any sort of bulk managing this, so i set the target to blank.

I hope this function get's into the user-quickmenu. As i stated before: It would be great if you could reset the pass, so the user get's a new pass in an instant.",F J Kaiser
21128,Sort Users by Sites,,Users,3.4,normal,major,Awaiting Review,feature request,new,,2012-07-01T18:10:12Z,2012-07-01T18:57:16Z,In wp-admin/network/users.php please add the option to sort users by site name. ,jsaf
12705,Suggest add new filter to wp_insert_user(),,Users,,normal,normal,Future Release,feature request,new,,2010-03-25T13:59:20Z,2010-03-26T00:46:48Z,"Now, there is no way to change new registration workflow. When every attribute is valid, user registration is approved. I want to add  filter to interrupt this workflow to wp_insert_user(). Such as:
// in registration.php line 105
$userdata = apply_filter(filter_name, $userdata)
if( !$userdata ) return

I want to use this filter to interrupt normal registration flow.",nkucyd@…
16020,Upload custom avatar for user in Dashboard,nacin,Users,,normal,minor,Future Release,feature request,reviewing,dev-feedback,2010-12-29T08:07:53Z,2013-01-29T20:18:15Z,It would be nice to be able to upload a custom avatar for a user in the WordPress Dashboard rather than making each user sign up for a Gravatar account and upload the image to that account.,computerwiz908
8911,Use $WP_User as the standard unit of user information,jeremyclarke,Users,,normal,normal,Future Release,feature request,new,,2009-01-21T19:51:14Z,2011-08-04T23:15:43Z,"Right now much of the core code and most plugins use the old get_userdata() function to fetch information about users. This works okay for most cases but fails to take advantage of the new $WP_User object type. Using the objects makes the user information much more powerful because you can immediately call methods like $user->has_cap('edit_posts') without messing around. It also just makes sense, and not using the pretty object is silly.

In some places, like edit-user.php, where more functionality is needed there are functions like get_user_to_edit() that make use of the $WP_User object. I think that WP should clearly move towards always using the modeled object version rather than the straight db version in all places, and encourage plugin authors to do the same. 

Luckily the $WP_User wrapper uses get_userinfo to fetch its data and rewrites all the elements into its first level, so effectively the resulting object from $WP_User has all the same data as get_userinfo() and thus deprecates perfectly in all situations. 

My proposal would be to create a new wrapper function to be used instead of get_userinfo():


{{{
get_user($id, $name = '')
}}}


This would just initiate the object and return it, similar to get_post. It's also fits much better in the overall naming conventions of wp with friends like get_term. 

If possible, it might also be good to move the actual database sql from the get_userdata() function into the $WP_User object definition somewhere, that way its all in one place. Looking at it now it also seems like the whole _fill_user() function thing could be done more elegantly to explain itself and the cache better. [problem: pluggable.php has get_userdata(), which complicates things]

Finally, since get_userdata() currently calls _fill_user() every time then fetches all meta_value/key's for the user, wouldn't it be faster to make just one db call that fetches the row from wp_users AND the values from the usermeta table? If you are checking 30 users on your page for some reason (say, a twitter style list of your authors in the sidebar) that would save 30 database connections, which makes a difference no matter what! 

[probably should be in another ticket, but it would also be great to have access to a global function get_users() that fetched a set of users (say, active ones or a specific role) all at once based on criteria like get_terms() or get_posts(), it would save time if you are getting many users and if it added them all to the cache after fetching it would probably be a lot faster than checking each user individually]

I'm very interested in feedback. I'll try to work on a patch at some point soon (mental note: before 2.8 feature freeze)",jeremyclarke
14412,User Registration via Templates,,Users,3.0,normal,normal,Future Release,feature request,new,,2010-07-25T00:21:41Z,2010-08-03T00:35:36Z,"To improve the vast multitude of WP installtions that utilize member registrations, I suggest and implore the development team to improve user registration via templates. The reasons are as follows:

- More secure
- More flexible
- Better customization options
- Better integration

I was prompted by this post: http://www.cozmoslabs.com/2010/05/31/wordpress-user-registration-template-and-custom-user-profile-fields/ the development of Hooks and Filters has made it relatively easy to make such improvements system-wide.",GuruXL
23045,WP_User_Query features,,Users,,normal,normal,Awaiting Review,feature request,new,,2012-12-22T06:14:45Z,2013-02-02T11:20:46Z,"WP_User_Query does not updated recently and due to more use of wordpress as CMS needs of custom query per users increased, WP_User_Query lack post type support(i add a ticket for it #21744) lack taxonomy/multiple taxonomies query and alot others, maybe its time to update WP_User_Query like WP_Query. it's really a need for common works these days.",AliMH
20606,orderby rand param does not work with either WP_User_Query or get_users,,Users,3.2.1,normal,normal,Awaiting Review,feature request,new,,2012-05-02T22:12:34Z,2012-05-15T19:20:21Z,"Using WordPress 3.2.1


{{{
$contributors = get_users(array('role' => 'contributor', 'orderby' => 'rand', 'number' => 3));
}}}


{{{
$wp_user_search = new WP_User_Query(array('role' => 'contributor', 'orderby' => 'rand', 'number' => 3));
$contributors = $wp_user_search->get_results();	
}}}",kjmeath
18368,Add CSS Class Info to post_updated_messages array/filter,,Warnings/Notices,3.2.1,normal,minor,Awaiting Review,feature request,new,dev-feedback,2011-08-10T12:50:18Z,2011-08-11T23:38:17Z,"When saving a post, not all messages displayed on the screen are ""success"" messages. Some are errors or warnings. Therefore, it would be nice to have the ability to modify the CSS class that's applied to the notice message.

In order to support backwards-compatibility, I would suggest allowing the array that's built using the post_updated_messages filter to support strings (which would be the message text by itself) or arrays (which would include one item for the message text and one item for the message class).

If a string is found, that string is assigned as the message text. If an array is found, the first item is assigned as the message text and the second item is assigned as the message class.

If a message class is not defined, the CSS class of 'updated' is used; if it is found, the specified CSS class is used.

I've attached a patch for wp-admin/edit-form-advanced.php showing basically what I'm proposing. In this case, if an array is sent as the value of one of the messages, that array is expected to use the keys ""message"" and ""class""; but it could certainly be edited just to use numeric keys if that might make more sense.",cgrymala
19912,Add Widget Groups and Locations,,Widgets,3.3.1,normal,normal,Future Release,feature request,new,,2012-01-28T04:54:13Z,2012-04-24T17:00:42Z,"Currently, if a widget cannot be properly matched to a sidebar when switching themes, it is moved to the ""Inactive widgets"" section (debated for quite a while here: #17979).

With the addition of the planned appearance improvements, it would be nice if we could let the user manipulate widgets as a group. Instead of trying to be too clever, we can let the user review where the widgets are positioned in their theme.

Conceptually, this is very similar to how nav menu locations currently operate. Menu items are grouped in menus (created by the user), which can be assigned to menu locations (created by the theme). Likewise, widgets would be organized into groups (created by the user), and could be assigned to widget locations (created by the theme). Currently, ""widget areas"" are on double-duty — they act as both ""widget groups"" and ""widget locations"".

I think the first step is to add the concept of ""widget groups"" into the current API and turn the existing ""widget areas"" into locations mapped to these groups.

If we're looking to compartmentalize the patches, these initial changes could initially be added without modifying the widgets UI. Instead, we could temporarily link a widget group to a widget area behind the scenes. That said, the benefits could only be fully realized with a few tweaks to the widgets UI.",koopersmith
23008,Add a Hook To Hide Inactive Widgets,,Widgets,3.5,normal,minor,Awaiting Review,feature request,new,dev-feedback,2012-12-19T19:59:12Z,2012-12-19T20:21:09Z,"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
20791,Add tolerance: 'pointer' option to widgets,,Widgets,3.3.2,normal,normal,Awaiting Review,feature request,reopened,dev-feedback,2012-05-30T11:26:20Z,2012-12-15T16:48:03Z,"I made a conclusion that it's more easy to sort the widgets in a sidebar if is with tolerance: 'pointer' option enabled...

please consider adding this to sortable function of the widgets. ",alexvorn2
20596,Adding more actions to a widget,,Widgets,,normal,normal,Awaiting Review,feature request,new,dev-feedback,2012-05-02T00:14:28Z,2012-05-02T05:45:48Z,"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
16109,Preview wigdets before publish,,Widgets,3.1,normal,normal,Future Release,feature request,new,,2011-01-05T13:26:50Z,2012-05-02T16:11:45Z,"Why isn't this possible yet? Before publishing a widget that you can preview it. That way you can get the right settings out without first needing to publish it for the whole site viewers.
A preview would be very nice before publishing a wigdet like editting a post...",JonezJeA
18466,Reorganizing Widget Areas,,Widgets,,normal,minor,Awaiting Review,feature request,new,,2011-08-18T00:18:17Z,2012-02-06T15:56:29Z,"The widget-area boxes should be draggable as a whole. Meaning the user should be able to drag and drop the area boxes up and down as a way to rearrange the areas.

Sometimes I want to move the entire area's contents to a different area, and the best way would just be to drag the box to a different position in the vertical order.",audiobahn
23764,"Add ""works for this version"" to the plugin review form",,WordPress.org site,,normal,normal,WordPress.org,feature request,new,,2013-03-14T00:56:30Z,2013-04-04T04:49:05Z,"It would be nice if users could select whether a plugin ""works"" for their selected !WordPress version in the plugin review form.

Obviously, the main ""Does it work? form"" would stay on the main areas of the plugin page, but this would, I think, help balance the reviews:works stats for many plugins.

This would also be related to #23704.",DrewAPicture
21387,Add a CodeURI field to plugin file header,,WordPress.org site,,normal,trivial,WordPress.org,feature request,new,,2012-07-25T19:33:28Z,2012-07-25T19:38:48Z,"I would like to make it easier for developers not associated with a plugin to contribute modified versions.

The plugins SVN has grown to a size where it's no longer possible for a member of the WordPress community to create a new ticket and select a plugin from ""component"" to patch and improve software. Some plugins manage code on a site such as GitHub and commit a release into the plugins SVN.

I might use [http://wordpress.org/extend/plugins/wp-super-cache/ WP Super Cache] in my WordPress installation, one of 3.5 million installs using the plugin. I modify the plugin and would like to share my changes.

1. Try creating a [http://plugins.trac.wordpress.org/newticket new ticket in Plugins Trac]. The plugin is not listed as an available component.
1. Find the Plugin URI. If not WordPress.org look around on the author's site for links to another repo.
1. Search GitHub for the developer(s) and/or project
1. Email the developer(s) if they have a contact email listed

Give up?

File header currently includes a [http://codex.wordpress.org/File_Header#Plugin Plugin URI] which commonly points to the WP.org plugin page for the plugin or sometimes to a webpage on the developer's site. I could overload ""Donate"" to encourage code donations instead of monetary donations but that could be confusing.

I'd like to provide a explicit code URI field to encourage outside contributions of modifications in the GPL spirit.",niallkennedy
23982,Add array of screenshots to the Plugins API,,WordPress.org site,,normal,normal,WordPress.org,feature request,new,,2013-04-07T20:31:16Z,2013-04-07T20:31:16Z,The response to the `plugin_information` method of the Plugins API includes a formatted list (in a `<ol>` tag) of the plugin's screenshots. It'd be good if the response also included an element containing a plain array of the screenshot URLs.,johnbillion
23981,Add donate link to the Plugins API,,WordPress.org site,,normal,normal,WordPress.org,feature request,new,,2013-04-07T20:28:46Z,2013-04-08T01:29:16Z,The response to the `plugin_information' method of the Plugins API doesn't include an element for the donate link. It'd be good to get this in there for completeness.,johnbillion
24065,Allow previewing posts in WordPress.org support forums,,WordPress.org site,,normal,normal,WordPress.org,feature request,new,,2013-04-12T18:17:31Z,2013-04-12T20:47:26Z,"WordPress allows previewing posts before publishing everywhere else except on WordPress.org support forums. Preview functionality should be added there as well.

Ideally the preview would be shown next to the editor so users can spot and correct mistakes without reloading the page, just like when commenting here in Trac.",Daedalon
23950,Company recognition,,WordPress.org site,,normal,minor,Awaiting Review,feature request,new,dev-feedback,2013-04-05T15:13:24Z,2013-04-09T17:04:30Z,"My company, and many others, have a policy of sponsoring WordPress community contribution, core and otherwise, by strongly encouraging employees to participate during paid company hours. I want to open a discussion on how this company contribution could be recognised, while not allowing ""corporates"" to take over the credits page on each release.

 * Would greater recognition encourage your company to foster contribution?
 * Should companies contributing employee time to WordPress, particularly core contributions, be recognised?
 * How should companies be recognised?
 * What are the pros and cons for the WordPress project in allowing this kind of recognition?

This follows a [https://twitter.com/jenmylo/status/320144575266160640 Twitter conversation] re showing company names in the WordPress credits page, and Nacin's suggestion to open this discussion.",simonwheatley
16589,Localized version stats,nacin*,WordPress.org site,,normal,normal,WordPress.org,feature request,accepted,,2011-02-18T08:52:48Z,2012-04-29T15:57:20Z,"There have been some discussions on localized version stats:

* http://lists.automattic.com/pipermail/wp-polyglots/2009-November/003812.html
* http://lists.automattic.com/pipermail/wp-polyglots/2009-December/003868.html
* http://lists.automattic.com/pipermail/wp-polyglots/2010-July/004859.html
* http://wppolyglots.wordpress.com/2010/12/01/ive-found-some-discussions-about-local-2/
* http://wppolyglots.wordpress.com/2010/08/18/i-am-having-some-problems-with-site-stat/ (related)

Many translators would agree that it would be nice to have them back.",SergeyBiryukov
23720,Make it obvious that by default support for plugin and themes in the repository is not guaranteed,,WordPress.org site,,normal,minor,WordPress.org,feature request,new,,2013-03-08T07:10:13Z,2013-03-08T15:24:09Z,"Or even better, people should assume it doesn't exist.

This follows the discussion here http://tommcfarlin.com/upgrade-wordpress/

I know it is possible to add a text to that effect in the readme.txt file, but it is not the same, and you can't expect plugin authors to release new versions just to reflect the change in their available time.

Alternatively support policy should have a tab of its own on the plugin's page.

In addition, there should be a way to contact someone that will provide paid support for the plugin. By default it should be the plugin's author, but it might be a good idea for other people to be able to provide this kind of service as well.",mark-k
12475,Method to prune/leave feedback in Kvetch,ryan,WordPress.org site,,normal,normal,WordPress.org,feature request,new,,2010-03-02T17:12:25Z,2010-03-02T17:12:25Z,"I just saw two items about how it would be nice if upgrades were easier and if there was an automatic upgrader, and it got me thinking that there's no way to leave feedback or flag it if you're logged in.

It would be nice if there was some way to either leave feedback for when a Kvetch is no longer ""valid"" (for lack of a better term) because something has been implemented to address it, or to flag it for someone else to look at it and decide that it should be removed.

This could also be useful if a spam item was displayed, or if an offensive message was left.",ninjaWR
22736,Outdated plugins marked as 'Works' for the current version should show in search results,,WordPress.org site,,normal,normal,WordPress.org,feature request,new,,2012-12-04T18:11:57Z,2013-01-06T02:35:09Z,"When a plugin hasn't been updated in over 2 years, it gets the ""this is outdated"" message on WP.org and it no longer shows up in plugin search results from the Dashboard.

But if the plugin is marked as ""Works"" for the current version - even though it hasn't been updated in 2 years - we should make it so it shows up in search results.",DrewAPicture
13780,Twenty Thirteen: WordPress Version Requirement Support,ryan,WordPress.org site,,high,normal,3.6,feature request,new,,2010-06-08T04:15:45Z,2013-03-27T17:06:20Z,"Right now, there seems to be no way to add a minimum required version to a themes style.css.

This should be used for the automatic update of themes build into WordPress. The theme update should only be applied after WordPress is updated to at least that version.",kretzschmar
19884,Unable to sort themes by language,,WordPress.org site,,normal,major,WordPress.org,feature request,reopened,,2012-01-24T13:21:34Z,2012-03-06T19:23:33Z,"I can't filter themes by language in themes site.
If I want theme in Hebrew (and rtl) I can't search its in the site.

So I had to look for it on other websites that may contain malicious code.
read: http://n2b.org/archives/2316 (Hebrew).",hatul
12336,WP.org Profiles - Trac Replies are not reported,ryan,WordPress.org site,,normal,normal,WordPress.org,feature request,new,,2010-02-22T19:02:51Z,2010-02-22T19:08:48Z,"Since WP.org Profiles already has forum post creations and replies, and Trac ticket creations, it makes sense to add the Trac replies as well.",archon810
12313,WP.org Profiles should add an RSS feed,ryan,WordPress.org site,,normal,normal,WordPress.org,feature request,new,,2010-02-21T01:01:52Z,2010-02-22T19:09:21Z,"I'm not sure where to report feature requests for WP.org Profiles so I'll do it here.

Considering the Profiles page http://profiles.wordpress.org/archon810 includes the Trac activity (unlike http://wordpress.org/support/profile/276841 which doesn't, though, it's also useful because it does include replies by others to my favorite topics), it'd be awesome to have an RSS feed for this Profile activity so that it can be used in someone's RSS reader or in my FriendFeed or Lifestream.

This may be a BuddyPress request, but since WP.org uses it, I'd say this ticket has merit either way.",archon810
23099,Add JSON-RPC support using existing XML-RPC methods,,XML-RPC,3.5,normal,normal,Future Release,feature request,new,needs-unit-tests,2013-01-02T01:22:37Z,2013-04-22T21:18:54Z,"Many people have expressed interest in a JSON API for WordPress core. Until a full REST API can be implemented, the existing XML-RPC method implementations can be re-used by wrapping them in JSON-RPC serialization/de-serialization logic.",maxcutler
13835,XLM-RPC API should return commentmeta values,josephscott,XML-RPC,2.9,low,minor,Future Release,feature request,reopened,has-patch,2010-06-10T23:28:58Z,2011-03-25T06:55:24Z,"This ticket is a follow up on my Twitter and subsequently email conversation with Joseph Scott (josephscott) about the new commentmeta table in WordPress 2.9 and the XML-RPC API. We use the plugin Feature Comments (http://wpprogrammer.com/feature-comments-wordpress-plugin/) for hiding or featuring certain comments. The plugin stores either a value of 'Buried' or 'Featured' in the commentmeta table and uses these values to append a css class to comment_class.

I'd love to retrieve these commentmeta values (buried/features) through the XML-RPC API (which we use) with wp.GetComment or wp.GetComments, so we're able to programmatically hide or feature these comments in our own iPhone app.

Please note this is a specific example, but my request should I no way be seen as a private request. I think the commentmeta in 2.9 was a great addition for stuff like Twitter usernames, mood, gender, and so forth. I hope we're able to retrieve these values programmaticaly through the API as well.",djr
18801,Accessibility Enhancements to Settings API,taupecat*,Accessibility,3.2.1,normal,normal,Awaiting Review,enhancement,accepted,has-patch,2011-09-28T14:59:44Z,2013-01-03T19:25:35Z,"I've only started working with the Settings API, but right off the bat I noticed two fairly major, but should be not too difficult to fix, accessibility issues.

1) The label/input field pairs are missing the HTML <label> tags that link the two.

Example: Field One <input id=""field_one"" name=""field_one"" type=""text"">
Should be rendered: <label for=""field_one"">Field One</label> <input id=""field_one"" name=""field_one"" type=""text"">

2) The settings pages themselves are laid out using a table.  Tables should be reserved for tabular data, and not for page layout.  CSS should be used for layout instead.

Thanks for your attention.",taupecat
18900,Add a few more hide-if-no-js classes,,Accessibility,3.3,normal,minor,Awaiting Review,enhancement,new,has-patch,2011-10-10T23:14:55Z,2013-05-14T21:21:36Z,"There are a few elements to which we could add the `hide-if-no-js` class, as their functionality or setting relies on JavaScript being available.",johnbillion
24148,Add aria-labelledby attributes to comment form,,Accessibility,3.5,normal,normal,Awaiting Review,enhancement,new,has-patch,2013-04-21T03:26:05Z,2013-04-22T14:03:52Z,"The aria-labelledby attribute provides a means for screen readers to get additional context for inputs when there is additional labeling information provided. In the default comment form, information such as the fact that email will not be published or that HTML tags and attributes can be used can only be viewed through a separate pass through the form not in forms mode. Adding these attributes means that a screen reader will read both blocks of text as the label for the field. ",joedolson
16433,Extend function to optionally include commenter name in comment_reply_link,merty*,Accessibility,3.0.4,low,normal,Future Release,enhancement,accepted,has-patch,2011-02-01T16:27:45Z,2011-09-12T12:05:09Z,"Screen readers recognize links and make them searchable. Unique names facilitate that search. Links need to have unique names that are descriptive and make sense when read out of context. WordPress allows users to set the text they want to display on the comment_reply_link but then this text is repeated for every comment on a post. 

WCAG Checkpoint 13.1 says: Clearly identify the target of each link. [Priority 2]

For improved accessibility it is far better to have the comment_reply_link include the commenter name. ""Reply to Tom Thumb"" and ideally, include a title on the link that includes both the commenter name and comment number. Users should have the option to filter for their custom text and to include (or not include) the commenter name. 

At the moment, anyone who wants to present an accessible front-end cannot use threaded comments unless they are prepared to generate masses of the same, generic, unhelpful link. ",Elpie
24042,Help text visibility in title input box is not intuitive,,Accessibility,trunk,normal,normal,Awaiting Review,enhancement,reopened,,2013-04-11T03:45:04Z,2013-04-12T04:32:03Z,"Currently, the input box for title which shows on a new post creation page uses a label to display the help text- ''""Enter title here""''. This text disappears on focus and an that point of time, there is no place which points out that this input box is for the title.

This problem has been pointed out by a lot of people and it surfaced after the new Gmail design came out. The problems it generated are very similar and as you may have used it, there are no labels for the email recipients field and the subject field.

The issue is not very big as such but it does generate ambiguity in some cases. The solution to this would be to have the label as an overlay on the input, which can slide/move to a new position on focus. And placeholder text can be used as help text. This way the help text will be visible at the start and the label will be visible throughout.",aniketpant
18650,Make archives and categories widgets dropdown ada compliant,,Accessibility,3.2.1,normal,major,3.6,enhancement,new,dev-feedback,2011-09-13T00:12:37Z,2013-02-28T07:21:15Z,"Conditionally add the <label> tag for the archives and categories widgets so they are ada compliant.

http://webaim.org/techniques/forms/controls",jlevandowski
24098,Support for HTML5 roles,,Accessibility,3.5,normal,normal,Awaiting Review,enhancement,new,dev-feedback,2013-04-16T07:44:16Z,2013-05-12T00:01:07Z,"I was going through http://core.svn.wordpress.org/trunk/wp-includes/kses.php and I realized that most of the new HTML5 tags have been introduced but `role` is a missing attribute.

I feel that since WordPress has already made a move towards HTML5 by supporting `<article>`, `<section>` and other tags, all attributes should be made available too. `role` should be added to the required tags falling under `$allowedposttags`.

Go through the link for more information on [http://www.w3.org/wiki/PF/XTech/HTML5/RoleAttribute roles].",aniketpant
21414,"Use the ""Keyboard Shortcuts"" checkbox in the user profile to turn on/off all custom shortcuts",,Accessibility,,normal,normal,Awaiting Review,enhancement,new,,2012-07-29T20:24:36Z,2012-10-14T11:42:23Z,"Custom keyboard shortcuts can be very handy not only for better accessibility but for faster access to many actions that usually require ""mousing"". For example we could potentially add shortcuts to access the top menu items or the more commonly used toolbar items.

However many of the available keystrokes (modifier [+ modifier] + letter) are already in use. Even worse, different shortcuts are in use in different browsers and different OS.

It would be good to let the users decide whether to enable them. As we already have a checkbox for the comment moderation shortcuts, best would be to make it ""global"". For now that would only affect TinyMCE.",azaozz
24150,tabindex doesnot work proper if metabox added,,Accessibility,3.5.1,normal,normal,Awaiting Review,enhancement,new,,2013-04-21T04:12:43Z,2013-05-02T12:24:00Z,"Hi,
In {wp-admin} default post add form, if metabox added tab button skips metaboxes and directly goes to Publish box to take action.

Developer who wants to add tabindex to all metaboxes created, add_meta_box function should have parameter to set tabindex which will allow to go through it before publish post or skip if false. ",amolv
20839,"""Visit plugin site"" should open in a new window",helen,Administration,3.4,normal,minor,3.6,enhancement,reopened,close,2012-06-04T20:13:05Z,2013-05-05T05:56:44Z,It's weird to take users off the site when they click on this link in the plugins section. Just a little thing to make the experience that much better :),empireoflight
24334,"""edit_form_after_title"" and ""edit_form_after_editor"" hooks wrapper optional?",,Administration,trunk,normal,normal,Awaiting Review,enhancement,new,dev-feedback,2013-05-14T10:51:21Z,2013-05-14T18:38:39Z,"Would it be possible to make the `DIV.edit-form-section` wrapper applied around `edit_form_after_title` and `edit_form_after_editor` hooks in post/page edit screen optional in WP3.6? Or create additional non-wrapped hooks besides?

[http://core.trac.wordpress.org/browser/trunk/wp-admin/edit-form-advanced.php#L462]
[http://core.trac.wordpress.org/browser/trunk/wp-admin/edit-form-advanced.php#L502]

These wrappers were actually introduced in WP3.6, the WP3.5 version was without them. 

'''Explanation of what I do:'''
* `edit_form_after_title` hook - I output UL list of tabbed interface here and open the first tab content DIV
* `edit_form_after_editor` hook - I close the first tab content DIV and output the other tab content DIVs

The first content DIV is always a visual editor. But as you can see, when I open the DIV in one hook and closing it in another one, this was working fine in WP3.5 as no wrapper was added to those hooks. Once there is a wrapper, it obviously messes up the HTML and closes divs prematurely. This is causing issues obviously for tabbed interface.

Screenshot: [http://awesomescreenshot.com/09915rzc37]
Ticket started on Alpha/Beta support forum: [http://wordpress.org/support/topic/wrapper-of-edit_form_after_title-and-edit_form_after_editor-hooks-optional]

Thank you!",lemmonaid
16865,'post' definition should use menu_position,,Administration,,normal,normal,Future Release,enhancement,new,has-patch,2011-03-16T15:03:00Z,2011-03-17T10:32:11Z,"Since WP 3.1, we don't need to hardcode the Posts $menu array, since register_post_type() is flexible enough to handle it.",scribu
7756,AJAX saving method instead of reloading the page,,Administration,,normal,normal,Future Release,enhancement,new,,2008-09-16T17:36:44Z,2013-01-03T16:12:25Z,"Instead of using a traditional page refresh after saving a post, utilize AJAX, similar to how auto-saving already functions, to save the post.

this would help decrease the load on the server and enhance the user experience.",jdingman
18413,"Ability to Add Custom ""Add User"" Link",,Administration,,normal,normal,Awaiting Review,enhancement,new,,2011-08-15T14:44:54Z,2011-08-15T14:44:54Z,"For the ldap plugin i'd like to be able to utilize the current location of the ""Add New"" and ""Add Existing"" button to override it to show a button to link to the custom page for the ldap add user page.

Currently there are no hooks or filters that would allow me to add something in there - would it be possible to add in an action in there after the existing code to print out the add buttons?",axelseaa
21938,"Add ""no-store"" to Cache-Control header to prevent history caching of admin resources",,Administration,3.4,normal,trivial,Awaiting Review,enhancement,new,has-patch,2012-09-20T10:54:27Z,2012-09-28T07:56:36Z,"The current implementation of [http://core.trac.wordpress.org/browser/trunk/wp-includes/functions.php#L891 wp_get_nocache_headers] does not take into account history caching, which results in a browser serving a cached copy of pages from history (by pressing the Back button) even if the user has long logged out.

[http://www.w3.org/Protocols/rfc2616/rfc2616-sec14.html#sec14.9.2 RFC 2616 14.9.2 no-store] describes this cache directive.

To repoduce: login to dashboard, logout, press the back button.
Expected: the login screen.
Reality: a copy of the previous page.

By adding the ""no-store"" directive to all non-cachable resources the behavior was mitigated successfully in Chrome 21, Firefox 15. Fails on Opera 12 (they chose to disregard ""no-store"" when applied to history, RFC allows this).",soulseekah
21911,"Add 'All Themes', 'Parent Themes' and 'Child Themes' tabs",,Administration,3.4.2,normal,minor,Awaiting Review,enhancement,new,close,2012-09-17T18:37:44Z,2013-03-08T15:31:36Z,"When you have multiple themes installed which are a mixture of parent and child themes, it can be a bit overwhelming sometimes to have ALL themes lumped together in one view.

It would be nice on the themes.php page to replace the 'Available Themes' text with some tabs such as:

All Themes | Parent Themes | Child Themes

The 'All Themes' tab would show all available themes (default view), 'Parent Themes' tab would only show parent themes, and 'Child Themes' for child themes, but only if any are installed (to prevent an empty tab from being shown).

Hopefully this wouldn't be too hard to implement, but would be pretty handy for the end user for multiple available themes.

An extension to this could have a further tab called something like 'Favorites' where you can flag certain themes you like. This could be a great way of displaying just a select custom subset of themes that you have complete control over (only if at least one theme had been flagged as a favorite).


All Themes | Parent Themes | Child Themes | Favorites
",dgwyer
22333,Add IDs to .misc-pub-section divs in meta-boxes.php,,Administration,3.4,normal,normal,Awaiting Review,enhancement,new,,2012-10-31T16:25:40Z,2012-11-13T01:39:40Z,"In `wp-admin/includes/meta-boxes.php` the `post_submit_meta_box` has several sections with class .misc-pub-section. Should you have to style/alter any of them, it's not consistent as:

1. first div has only `class=""misc-pub-section""`
2. second div has `class=""misc-pub-section"" id=""visibility""`
3. third div has `class=""misc-pub-section curtime""`

Since this is a unique box on the screen, I've added two more IDs to div blocks 1 and 3 to allow for easier styling changes. ",nofearinc
11164,Add Theme Sort Filter,,Administration,,normal,normal,Future Release,enhancement,new,has-patch,2009-11-17T16:03:18Z,2009-12-01T18:16:20Z,"I've run across the need for this in a few plugins. You can't adjust the order of themes in the theme browser as all filters are applied before the sort.

Aaron (for Incsub)",uglyrobot
21190,Add a action in check_admin_referer() in the event the nonce auth fails,,Administration,,normal,normal,Awaiting Review,enhancement,new,dev-feedback,2012-07-08T09:12:56Z,2012-07-08T09:12:56Z,"Currently plugins don't have a way to perform custom handling in the event that a nonce fails in `check_admin_referer()` - Whilst in most cases this will never be needed, I'd like the ability for plugins to be able to use `check_admin_referer()` directly AND have the option of redirecting failed nonces to their own page.

We currently have an action which is fired when a nonce passes:
{{{
do_action('check_admin_referer', $action, $result);
}}}",dd32
15406,Add a pending post count indicator to the admin menu,,Administration,3.0.1,normal,trivial,Awaiting Review,enhancement,new,dev-feedback,2010-11-12T17:28:49Z,2013-01-22T15:21:49Z,"Comments has an indicator bubble on the dashboard with the pending comments count.

Pending posts should have such a feature, since they are quite more important.",iign
15355,Add ability to clear search results,garyc40,Administration,,normal,normal,Future Release,enhancement,assigned,has-patch,2010-11-09T08:11:56Z,2012-04-13T11:32:28Z,"Let's put a (X) next to ""Search results for `string`"" that immediately clears the search results. Otherwise there is no way to do it, without clearing the box manually and hitting enter.

We would use the same X we use for bulk edit.",nacin
18357,Add action to do stuff before the admin menu is rendered,,Administration,3.2.1,normal,trivial,Awaiting Review,enhancement,new,has-patch,2011-08-08T22:08:23Z,2011-08-08T23:34:15Z,"Here is a trivial patch to allow users to inject some stuff in the Admin pages HTML body before the menu is rendered. The new action is called 'before_admin_menu_header', feel free to use a better name.",llucax
21636,Add category dropdown to QuickPress in Dashboard,,Administration,3.4.1,lowest,minor,Awaiting Review,enhancement,new,has-patch,2012-08-19T20:14:09Z,2012-08-31T18:28:22Z,"This would make QuickPress more useful to people who use categories instead of tags, have been meaning to do this for years.


",jane
11200,Add count for approved comments filter,,Administration,,normal,normal,Future Release,enhancement,new,has-patch,2009-11-20T15:17:04Z,2011-06-29T17:28:19Z,"On wp-admin/edit-comments.php, Approved is the only filter that doesn't have a count after it.",scribu
15261,Add do_action to form tag in edit-tag-form.php,,Administration,3.1,normal,normal,Future Release,enhancement,reopened,has-patch,2010-10-30T16:07:46Z,2011-01-19T23:50:20Z,"How about adding additional actions to the form tags in admin taxonomy pages like ''edit-tag-form.php''?

An example can be found in ''user-edit.php'' line 183:


{{{
<form id=""your-profile"" ... method=""post""<?php do_action('user_edit_form_tag'); ?>>
}}}
",linguasite
23986,Add filter for <html> css class in admin,,Administration,trunk,normal,minor,Awaiting Review,enhancement,new,,2013-04-08T08:23:10Z,2013-04-08T08:23:10Z,"It would be handy (looking at MP6), if it would be possible to alter the CSS class of `<html>` in the backend.",tillkruess
13605,Add filter for admin-ajax get-tagcloud's arguments for wp_generate_tag_cloud,,Administration,3.0,low,minor,Future Release,enhancement,new,has-patch,2010-05-28T20:30:43Z,2010-10-27T10:13:29Z,Patch attached.,mitchoyoshitaka
13227,Add filters above forms in wp-login.php,,Administration,3.0,normal,normal,Awaiting Review,enhancement,new,has-patch,2010-05-03T13:25:58Z,2013-01-22T02:00:35Z,"Sometimes I need more descriptive text to have above forms on wp-login.php (login, register, lost password).

This patch add filters above those forms.

Example usage:

{{{
function above_login_form_filter() {
	return '<p class=""message"">Tip: If you forgot your password, go to <a href=""wp-login.php?action=lostpassword"">Lost Password</a> page</p>';
}
add_filter('above_login_form','above_login_form_filter');
}}}


",dimadin
16512,Add hook after set_current_screen(),,Administration,3.1,normal,normal,Awaiting Review,enhancement,new,has-patch,2011-02-10T02:24:56Z,2011-02-10T03:00:55Z,"There needs to be a hook after {{{set_current_screen()}}} as it does a lot of work setting up the {{{$current_screen}}} global.. I'd hate to have to repeat it in {{{admin_init}}} as that's the last generic hook before {{{load-$pagenow}}}.

Patch adds new hook {{{admin_loaded}}} after {{{set_current_screen()}}}",ptahdunbar
14126,Add hook for message on admin-header in h1-privacy,,Administration,,normal,normal,Future Release,enhancement,new,needs-refresh,2010-06-28T08:35:10Z,2010-10-28T08:46:46Z,"Add a hook for add a message inside from h1 in admin-header.php, same as privacy message in WP 3.0, see example images: [http://drp.ly/1glQ2G]
I think, its great for the UI and create messages about all sites in backend. I change also the ID in class, no redunace on use this style.
Please see the files and sorry for my bad english.",bueltge
16204,Add hooks to enable access to pages in the admin when the menu layout has been changed by plugin,westi,Administration,3.1,normal,normal,Awaiting Review,enhancement,reviewing,has-patch,2011-01-12T16:31:33Z,2011-01-15T08:54:45Z,"This patch and ticket is a follow on to tickets #16048 and #16050 and indirectly related to this discussion on hackers: http://lists.automattic.com/pipermail/wp-hackers/2011-January/037129.html

This patch simply adds the following hooks, all within /wp-admin/includes/plugin.php.  

 - menu_page_url
 - admin_page_parent
 - admin_page_title 
 - plugin_page_hookname 
 - user_can_access_admin_page

The patch does not attempt to unravel the many early exits of the various functions instead it simply redundantly adds the hooks at each exit point. As such it's backward compatibility can be reviewed simply by viewing the code.

The use-case for this patch is when the menus are not exactly in the format expected by WordPress (but instead desired by the client) it can sometimes take hours of trial and error to get the permissions to allow users access to the menus they should be allowed access to. 

For example, if the first submenu page for a menu page is removed from the menu, even when it makes logical sense to the user WordPress currently does not allow that menu option to be viewed. These hooks would give plugin developers the ability to modify the menus and still enable users access to the pages they need access to.",mikeschinkel
16105,Add info re mobile apps to admin,isaackeyet*,Administration,,normal,minor,Future Release,enhancement,accepted,dev-feedback,2011-01-05T11:54:59Z,2013-04-17T01:14:56Z,"Not sure if it belongs in Tools, or in Writing Settings (or whatever that shakes out to be when we redesign settings), or what, but there should be a screen somewhere in the admin that lists/links all the mobile apps, probably in same area as Press This is promoted. ",jane
20007,Add option for new user registration notifications,,Administration,3.4,normal,normal,Awaiting Review,enhancement,new,has-patch,2012-02-10T06:15:35Z,2012-11-22T03:36:08Z,"This patch adds an single checkbox option to WordPress's Settings > Discussion page, allowing users to quickly toggle new user registration notifications/emails on or off.


While the notification function is currently pluggable, allowing non-technical users to easily toggle this feature themselves is both intuitively simple, and should prove generally advantageous to the community.",Veraxus
13005,Add plugin hook for ajax-tag-search,westi*,Administration,,normal,normal,Future Release,enhancement,accepted,has-patch,2010-04-14T20:21:50Z,2013-05-10T12:44:02Z,I would like to have a new plugin action hook added in the ajax-tag-search section of wp-admin/admin-ajax.php,jimmcq
19247,Add post type and taxonomy to admin body class,,Administration,3.3,normal,normal,Awaiting Review,enhancement,new,has-patch,2011-11-15T08:19:35Z,2013-04-14T10:03:13Z,"I often have a need for targetted CSS selectors based on the current screen's post type (eg. to hide unwanted UI elements), so I usually end up adding `post-type-{$post_type}` with the `admin_body_class` filter. It'd be nice if this was in core.",johnbillion
20928,Add regular-text style to textareas,,Administration,,low,normal,Awaiting Review,enhancement,new,has-patch,2012-06-12T20:13:43Z,2012-06-12T20:14:38Z,The `regular-text` class style is only applied to input elements. It would be nice to get this on textareas too so my textareas are the same width as my single line text inputs.,johnbillion
21667,Add some user agent to wp_is_mobile,,Administration,3.4.1,normal,normal,Awaiting Review,enhancement,new,dev-feedback,2012-08-23T12:35:29Z,2013-05-07T18:45:53Z,"Hello,

I've run some test with the help of the twitter/G+ community on wp_is_mobile and found some mobile browser that don't pass the test. 

You can see the test here : http://www.inpixelitrust.fr/blog/wp_is_mobile/

I was able to get the user agent of 3 of those which don't work : 

HTC sensation z710 4.0.3 native browser (UA:  Mozilla/5.0 (X11;Linux x86_64; HTC/Sensation/3.32.162.11; fr-de) 
AplliWebkit/534.24(KHTML,like Gecko) Chrome/11.0.696.32 Safari/534.34 )

BlackBerry Playbook (Ua Mozilla/5.0 (PlayBook; U; RIM Tablet OS 2.0.1; en-US) AplleWebkit/535.8+ (KHTML, like Gecko) Version/7.2.0.1 Safari/535.8+ )

Could be great to add those to the UA sniffing :)

",inpixelitrust
15796,Add spacing in the menu between 59 and 60 to allow menu items to appear above appearance,,Administration,3.1,normal,normal,Future Release,enhancement,new,,2010-12-13T14:12:51Z,2011-01-06T12:44:41Z,"I would like to place a menu item above appearance however the spacer is directly above the Appearance menu item at 60, the spacer is at 59, just a simple request to appropriate more space that is empty, 55 for the spacer and keep the appearance 60 giving 56,57,58,59 for add_menu items above 60

",Frumph
11469,Additional Admin UI hooks / filters,,Administration,2.9,normal,normal,Future Release,enhancement,new,has-patch,2009-12-17T05:54:04Z,2010-12-13T12:43:33Z,"Some might classify this as overkill, others as making Wordpress as completely extendable as people want it.

I'd like to propose the addition of numerou hooks to the Wordpress core Admin UI which would allow the addition of UI elements outside of the current constraints, such as meta boxes. 

If that doesn't make sense, I have an example to illustrate:

Given the ""Subtitle"" example from http://digwp.com/2009/10/ideas-for-plugins/, there would be a new hook named ""edit_post_form_after_title"" (or something along those lines) which would be placed directly after the post title is displayed on the screen and allow a plugin developer to insert a text field for a subtitle directly below the title field. See the attached patch.",johnl1479
10652,Additional arguments required for page_template_dropdown,,Administration,2.8.4,normal,trivial,Future Release,enhancement,new,has-patch,2009-08-19T17:29:05Z,2010-08-13T12:23:56Z,"As a plugin/theme developer, it would be really useful to be able to call the page_template_dropdown function with a parameter string similar to [http://codex.wordpress.org/Template_Tags/wp_dropdown_pages wp_dropdown_pages].

For example, the current '$default' argument should accept a string of arguments where:

- 'selected' is the selected template (replaces the current $default)[[BR]]
- 'echo' can be set to 1 to return instead of output[[BR]]
- 'name' will set a name/id for the menu[[BR]]

This would make it easier to create plugin/theme options where you could select which templates you want to use for different content.

At the moment it is possible to do this by replicating and adapting this function but I think it would make more sense to use the same multi-parameter argument as [http://codex.wordpress.org/Template_Tags/wp_dropdown_pages wp_dropdown_pages] and [http://codex.wordpress.org/Template_Tags/wp_dropdown_categories wp_dropdown_categories] and include it in core?",husobj
6822,Admin colors should be per-blog,ryan,Administration,2.5,normal,normal,Future Release,enhancement,new,,2008-04-23T02:07:08Z,2010-03-25T05:58:52Z,"When shared user tables are used, changing the colors for one blog should not change it for all.",matt
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,2013-03-15T23:45:50Z,"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
10726,Admin notifications for more than 1 email,,Administration,2.8.4,normal,normal,Future Release,enhancement,reopened,,2009-09-05T02:18:51Z,2013-01-03T05:59:29Z,"Please allow admin notifications to go to more than 1 email address. It could be as simple as allowing a comma-separated list.

Better yet, allow sending '''admin''' notifications to all people in the '''administrators''' role.",novasource
18769,Admin should not break if URL changes,,Administration,,normal,normal,Awaiting Review,enhancement,new,,2011-09-24T22:58:42Z,2012-06-06T01:02:30Z,"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
19278,Allow WP_List_Table ::get_bulk_items() to receive a nested array and output optgroups,,Administration,,normal,minor,Awaiting Review,enhancement,new,,2011-11-17T17:25:37Z,2011-11-17T21:38:59Z,"I'm just putting this out there as a possible enhancement to the WP_List_Table... would like feedback as to whether anyone else would find it helpful. If so, I'm more than happy to write up a patch for this.

I think it may be useful to be able to pass a nested array to `WP_List_Table::get_bulk_actions()` and have it output the options within the subarray in an `<optgroup>`. My specific use case is in applying meta fields to a custom table. I would like to be able to define something like this in my `get_bulk_items` function:

{{{

function get_bulk_actions() {
	$actions = array(
		'delete' => 'Delete',
		'outofstock' => 'Mark out of stock',
		'applytags' => array(
			'label' => 'Apply tags to products',
			'actions' => array(
				'featured' => 'Featured',
				'sale' => 'On Sale'
				)
			)
		);
	return $actions;
}

}}}

and have the output look something like this:


{{{
<select name=""action"">
	<option value='-1' selected='selected'>Bulk Actions</option>

	<option value='delete'>Delete</option>
	<option value='outofstock'>Mark out of stock</option>
	<optgroup label=""Apply tags to products"">
		<option value='feature'>Featured</option>
		<option value='sale'>On sale</option>
	</optgroup>
</select>

}}}

A very minor feature, and possibly too fringe of a use case to bother with. But I've worked on a couple projects now where being able to specify markup like that would have made that screen more user-friendly. Any thoughts?",goldenapples
19958,"Allow custom post types as ""home"" and get_posts() to return results for more than one post type",,Administration,3.3.1,normal,major,Awaiting Review,enhancement,new,has-patch,2012-02-04T00:59:13Z,2013-03-08T17:32:39Z,"In
{{{
Wordpress admin > Settings > Reading
}}}
there is an option to define what the home page or the front page should be
{{{
Front page displays
}}}
Radio button
{{{
A static page (select below)
}}}
is followed by a dropdown containing a list of all pages.

I would request that custom page types be allowed in this dropdown. This way, I could make my bbPress forums or my All-in-one event calendar, etc my homepage.
",sooskriszta
7723,Allow filtering by author on Manage > Posts,,Administration,,normal,normal,Future Release,enhancement,reopened,,2008-09-10T19:59:37Z,2011-12-19T18:04:36Z,"In versions of wp before 2.5 you could select an author from a dropdown on MANAGE > POSTS to see only posts owned by that author. This was very useful for quickly sorting posts and is absolutely necessary when you have editor users without  the 'edit_users' capability, as unlike admin users (most of us) they don't have access to the 'users' tab and thus have no way to see the manage screen sorted by user. The manage screen sorts by user simply by adding ?&author=$id in the url, but for users without access to the 'users' tab, even author id's are innaccessible. 

In the #wordpress-dev irc channel ryan boren expressed that the filter was removed because in some cases there were too many users in the system and the resulting dropdown was slowing down pageload time and ruining user experience. This is a paradox, because the more users your system has the more likely you are to need this filter. 

Wordpress needs to support filtering by author somehow if it wants to be a serious multi-user platform. Our editors are pulling out their hair.

My personal opinion is that the dropdown select should be reinstated. Filters should be added to the list such that only users who can post are listed (other users have no use in the Manage > Posts screen), as well as to show only users with at least 1 post. This should avoid slowing down pages for installations where most users are 'subscribers', which would otherwise mean all open-registration blogs would have hugely long lists. 

Given those two filters, I think that anyone who still has load-time problems should deal with their problem themselves using a plugin. It should be easy to remove the filter dropdown if you don't want it using a plugin, as well as to further filter the authors shown to reduce their number. 

Any installation with that many users deserves the option of deciding if they want the pulldown or not, and I think many would choose to keep it even if there are problems because it is so incredibly useful in filtering through hundreds of users worth of posts. 

(Consider: the full categories list is shown, even if there are hundreds, despite the fact that this has the same effect on performance as many authors does). 

Also in IRC Matt M proposed that some kind of text box + ajax to predict which author you mean could be used for this purpose. I think that is a great idea but would take a lot more work than what I propose (the work for hte pulldown is already done and the old functions are still there, all that's needed is to add filtering and re-work it into edit.php). It could also be used in the 'Users' context for search though, so it could be worth the effort. ",jeremyclarke
18504,"Allow filtering of ""Add New [Post Type]"" URL on edit.php",,Administration,3.2.1,normal,trivial,Awaiting Review,enhancement,new,has-patch,2011-08-24T00:54:56Z,2011-08-24T12:01:54Z,"I've recently attempted to use add_filter('admin_url','filter_function'), only to discover that there are many URLs in the admin area that are not passed through the admin_url() function. While there may be a good reason for that to happen, I figured it wouldn't hurt to check the possibility of changing one of them.

The one URL I haven't been able to find a workaround to is the ""Add New [Post Type]"" button on the edit.php screen, on top the post table, which also appears when editing an existing post. From what I gather, it is generated in the following file/line [http://core.trac.wordpress.org/browser/trunk/wp-admin/edit.php#L189] for the first case, and on this one [http://core.trac.wordpress.org/browser/trunk/wp-admin/edit-form-advanced.php#L198] for the second case.

Fixing this, assuming it's possible without compromising a functionality I'm not aware of, would be as simple as replacing this:

{{{
<a href=""<?php echo $post_new_file ?>"" ...
}}}

And this:

{{{
<a href=""<?php echo esc_url( $post_new_file ) ?>"" ...
}}}

With this:

{{{
<a href=""<?php echo admin_url($post_new_file); ?>"" ...
}}}

And this:

{{{
<a href=""<?php echo esc_url( admin_url($post_new_file) ) ?>"" ...
}}}",tbuteler
4221,Allow pure wp_nonce_url urls,,Administration,2.3,normal,normal,Future Release,enhancement,reopened,close,2007-05-04T04:29:33Z,2012-08-15T03:44:11Z,"wp_nonce_url sends the url through wp_specialchars, which converts {{{&}}} into {{{&#038;}}}

That's great for standards-compliant links, but if you're trying, for example, to use a nonce in a url passed to JavaScript, it can cause problems, as at least Firefox chokes when JavaScript requests a url with {{{&#038;}}} instead of {{{&}}}. 

My patch allows you to toggle off the wp_specialchars; the default behavior remains the same.",filosofo
23162,Allow to call parent_dropdown() for an arbitrary post,,Administration,,normal,normal,Awaiting Review,enhancement,new,,2013-01-09T22:48:08Z,2013-01-09T23:24:26Z,"parent_dropdown() can no longer be used outside of the loop, such as within the wp-admin, because an E_NOTICE will be emitted in template.php:683 since $post is null. 

A simple fix is to change the function argument declarations from 

{{{
function parent_dropdown( $default = 0, $parent = 0, $level = 0 ) {
}}}
to:
{{{
function parent_dropdown( $default = 0, $parent = 0, $level = 0, $post = array() ) {
}}}

and then also change:
{{{
$post = get_post();
}}}
to
{{{
	if ( empty( $post )) {
		$post = get_post();
	}	
}}}

which would allow a WP post object to be passed into the function.

Sorry I am unable to provide an SVN patch.
",charliespider
24071,Allow users to set three columns on Add Post/Add Page screen,,Administration,,normal,normal,Awaiting Review,enhancement,new,,2013-04-12T23:53:07Z,2013-04-14T06:02:48Z,"These days, an increasing number of people have desktops or laptops with high-resolution monitors. On such monitors, the layout of the WordPress Add Post/Add Page UI is not optimal. 

On, say, a 1920x1080 screen, the first column, containing the TinyMCE editor and title field, occupies the vast middle of the screen, with the WordPress chrome at the left and Column No. 2 at the right. 

If a user has chosen to show additional fields not shown by default - like Excerpt, Send Trackbacks, Custom Fields, Discussion, Slug, and Author - these all appear below the TinyMCE editor, out of sight on a widescreen. Take a lot at the screenshot attached to this ticket. 

Showing two columns by default is perfectly fine, but those with widescreen displays would benefit from gaining the ability to change the number of columns in the screen layout to three without needing a plugin, or having to hack the admin. This doesn't seem like it would be too difficult of an option to add to core. 

Allowing three columns to be set would permit users with hi-res monitors to easily make better use of the screen real estate: all of the available fields would be visible without the need for scrolling. 

Many users, incidentally, utilize fixed-width themes on their sites, and if the theme is sending its CSS to the post editor in order to enable the user to accurately preview what the text will look like (truer WYSIWYG), having a really wide post editor is especially useless. 

I've attached a three-column mockup I made in KolourPaint. The mockup shows what a three-column post editor layout could look like. As you can see from the mockup, all available fields in WordPress Core fit into the viewport. ",avcascade
23738,Audit our secondary button uses,,Administration,trunk,normal,normal,Future Release,enhancement,new,,2013-03-11T17:31:26Z,2013-05-16T12:12:03Z,"helen pondered in #wordpress-ui that maybe the ""apply"" button in the Screen Options dropdown should be a primary button. There's a good argument to be made that when this panel is down, that ""apply"" button is your new primary.

We should do an audit of our buttons to see if there are any other cases where we could make an action or a temporarily primary action more obvious by using the primary button style.",markjaquith
17704,Automatically enqueue necessary scripts when custom meta boxes are used,,Administration,,normal,normal,Future Release,enhancement,new,has-patch,2011-06-06T05:53:43Z,2011-11-08T21:30:11Z,"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
23577,Better Date Fields,,Administration,3.5.1,normal,normal,Awaiting Review,enhancement,new,close,2013-02-21T11:52:59Z,2013-02-22T16:15:20Z,"I think the Dates should be prettified (i.e 2 days ago etc) and the last state put in front i.e (""Published 2 days ago"" rather than ""2 days ago Published"")

As I think it would make it even more user friendly to used.

I have attached a Image showing what I mean.",jscampbell.05
17766,Browser update dismiss button lacks non-JavaScript fallback,,Administration,3.2,normal,minor,Future Release,enhancement,new,,2011-06-11T11:20:58Z,2011-08-27T15:42:14Z,The 'Dismiss' button in the browser update dashboard box doesn't do its thing without JavaScript enabled.,johnbillion
19691,Cannot modify admin messages for /wp-admin/edit.php,,Administration,3.3,normal,normal,Awaiting Review,enhancement,new,dev-feedback,2011-12-30T02:10:01Z,2013-02-26T17:51:13Z,"The admin console messages output on line `264` of WordPress 3.3's file `/wp-admin/edit.php` are not filterable. This causes problems when added row actions need to HTTP GET from to WordPress to modify a post and then display an appropriate message complete with a revert link ''(like the ""Trash"" link does.)''

An example use-case could be for a custom post type used for both quotes and invoices where a row action might be ''""Convert Quote to Invoice""'' where you'd want a message and link displayed at the top of the admin after similar to this:

- ''Quote #{$post_id} converted to Invoice. __Revert__''

Currently the only way to accomplish this is to pick hooks before and after the messages are output and use PHP's output buffering;  clearly not a ''""best practice""'' approach.

In order to address this I'm proposing an '''`'admin_messages'`''' filter hook to run just before the messages are output:

{{{
$messages = apply_filters( 'admin_messages', $messages );
}}}

However, since messages are output in numerous locations in the WordPress admin it seemed best to add the hook in every location where messages are output, which is what my patch does.  Thus a hook can look at `$pagenow` or `get_current_screen()` to decide it is needs to do anything.

Also while searching for places in the admin code that echo messages I found `$messages` are sometimes an array of HTML where the entire array is echoed and other times the $messages are an array with an index passed via `$_GET` and only one message will be displayed. For those cases I created another hook '''`'admin_message'`''' ''(note that this hook name is singular)'':

{{{
$message = apply_filters( 'admin_message', $message, $messages, $_GET['message'] );
}}}

I really only found a specific need for `/wp-admin/edit.php` today, but it seemed that it would be better for consistency if all messages were made hook filterable. That's why I created a larger patch when all my use-case needs is one new line.  

Looking forward to your feedback.
",mikeschinkel
22965,"Change Recent Comments Number Input to type=""number""",helen,Administration,3.5,normal,normal,3.6,enhancement,assigned,has-patch,2012-12-16T19:52:30Z,2013-03-01T16:31:20Z,"In order to be consistent with the rest of the dashboard, the ""Number of comments to show:"" input field in the Recent Comments widget should be changed to type=""number"" in order to add the up/down arrows. ",mordauk
23230,"Change hyphen in front of ""Draft"" to em dash",,Administration,3.5,normal,normal,Awaiting Review,enhancement,new,,2013-01-18T09:08:47Z,2013-01-25T20:08:00Z,"When a post/page/etc. is saved as a draft there is a ""- Draft"" appended after the title in the overview list in the dashboard.

Rather than using an hyphen (-) it should be an em dash (—) and ideally it should be translatable as the typographic rules for dashes varies with languages.

Rather than ""- Draft"" it should say ""— Draft""",kkalvaa
17360,Change text from Options to Settings,,Administration,3.2,normal,minor,Future Release,enhancement,new,has-patch,2011-05-09T23:31:56Z,2011-12-06T04:47:31Z,"In various admin screens, change test from options to settings.

",michaelh
12350,Check folder permissions before uploading file,,Administration,,normal,normal,Awaiting Review,enhancement,reopened,,2010-02-23T18:41:57Z,2011-10-09T14:54:04Z,"It would be nice if wordpress - or especially the media-upload module would check if its able or has the necessary file permissions to create the upload directory.
",not2bug
18860,Chromeless metaboxes,,Administration,,normal,normal,Awaiting Review,enhancement,new,has-patch,2011-10-05T14:28:14Z,2011-10-06T13:39:07Z,"On the post editing screen, the title and editor portions are just conditionally echoed based on post_type_supports().

Because of this, you can't add anything between them or above them, without using JavaScript.

The proposal:

 - wrap them in callbacks and inject them through add_meta_box()
 - add a $show_handle parameter to add_meta_box()

{{{$show_handle == false}}} would mean that the handle around the box would be invisible. This would mean that you wouldn't be able to drag the title and editor boxes around, which is ok, but you would be able to re-order them in PHP.",scribu
17852,Collapsed menu fly-out headers should be clickable,,Administration,,normal,normal,Future Release,enhancement,new,has-patch,2011-06-20T03:13:00Z,2012-03-07T20:59:48Z,"When you hover over a collapsed admin menu icon, the extension of the icon is not clickable, only the submenu screens are.

This is the same behavior in 2.7 to 3.1, but I think it should be considered.",nacin
15782,Consolidate header Javascript,,Administration,3.1,normal,normal,Future Release,enhancement,new,has-patch,2010-12-12T05:45:53Z,2011-03-24T08:48:43Z,"As a followon to #15781

Currently there is a block of Javascript required on all admin pages, this is stored directly within admin-header.php, and iframe_header(). Unfortunately, when someone changes/adds code to one, the other is not always updated.

This inline Javascript should be moved to a function and printed on a header action in order to reduce code duplication and prevent future issues.",dd32
7797,Consolidate iframe headers,,Administration,2.7,normal,normal,Future Release,enhancement,new,,2008-09-26T23:35:46Z,2012-10-30T16:40:45Z,"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
19898,Create a is_login() function similar to is_admin(),,Administration,3.3.1,normal,normal,Future Release,enhancement,new,dev-feedback,2012-01-25T23:13:43Z,2013-02-12T15:34:47Z,"It would be useful for developers to have better detection of being on the wp-login.php and wp-register.php pages. Sure, this can currently be done by using the $pagenow global variable but having a similar function like is_admin() would make things easier/cleaner.

One use case:

-Using a hosted javascript file but then requiring SSL (FORCE_SSL_LOGIN).    

{{{
#!php
function javascript_init() {
    if ( $pagenow == 'wp-login.php' || is_admin() )
        return;

    wp_deregister_script( 'jquery' );
    wp_register_script( 'jquery', 'http://ajax.googleapis.com/ajax/libs/jquery/1.6/jquery.min.js');
    wp_enqueue_script( 'jquery' );
}
add_action( 'wp_print_scripts', 'javascript_init' );
}}}


Proposed solution:
Create a new function that does all the checking. 
{{{
#!php
function is_login() {
    return in_array( $GLOBALS['pagenow'], array( 'wp-login.php', 'wp-register.php' ) );
}
}}}",dcowgill
18569,Custom header images should deletable from the Custom Header page,danielbachhuber*,Administration,3.3,normal,normal,Awaiting Review,enhancement,accepted,has-patch,2011-09-01T18:30:22Z,2011-12-06T05:11:52Z,"Currently, if a theme supports custom header images and a user uploads one of their own images, they need to go to the Media library in order to delete the image. This is not intuitive, there's no text in the admin explaining this step, and it's a problem if they want to rotate randomly through their custom header images.

It would be nice of the user could delete images they've uploaded from the Custom Header page directly.",danielbachhuber
18641,Date and post status are the wrong way around in post lists,,Administration,3.3,normal,normal,Awaiting Review,enhancement,new,has-patch,2011-09-11T20:31:41Z,2011-09-11T20:35:13Z,"On a post listing screen, a draft post that has been modified within the last 24 hours will show the following in the 'Date' column:

{{{
X hours ago
Last Modified
}}}

This doesn't make a lot of sense. Better would be:

{{{
Last Modified
X hours ago
}}}

Ideally the table cell should be treated as a whole to aid l10n and to improve the English presentation.",johnbillion
15790,Date column for Scheduled posts should also state the time,,Administration,3.0.4,normal,normal,Future Release,enhancement,new,,2010-12-13T04:37:07Z,2013-01-22T17:33:17Z,"For obvious reasons, for scheduled posts, it's very useful to see not just the date but the time, but the wp-admin posts interface does not show it - only the date.

It'd be very useful to see the time as well.

Thanks.",archon810
17703,Decrement update count bubbles when you update things,koopersmith,Administration,,normal,trivial,Awaiting Review,enhancement,reviewing,has-patch,2011-06-06T01:30:31Z,2011-08-16T01:02:13Z,"This can be done via some JavaScript, including for the bulk updater case, and it looks pretty cool. :) Video attached, as well as a first-pass patch.",mitchoyoshitaka
18199,Deprecate IE7 in the Admin,,Administration,,normal,normal,Future Release,enhancement,new,,2011-07-21T21:05:15Z,2013-04-26T01:27:26Z,"markjaquith:
> Everyone hates IE7. It’s insecure. Let’s make it go away. Also, dropping IE6 didn’t give us much beyond goodwill, because most of the hacks we needed for IE6, we also need for IE7. So we could actually clean up our CSS a bit if we dropped IE7.",nacin
23108,Deprecate add_object_page() and add_utility_page(),,Administration,,normal,normal,Future Release,enhancement,new,has-patch,2013-01-03T02:47:52Z,2013-05-16T11:55:27Z,"`add_object_page()` and `add_utility_page()` are not used in core and are just wrappers which pass `$_wp_last_object_menu++` and `$_wp_last_utility_menu++`, respectively, to `add_menu_page()`.

This can lead to a conflict with other menu items added by plugins, see #23095.",SergeyBiryukov
18030,Die with HTTP status 403 forbidden when capability check fails in wp-admin,,Administration,,normal,minor,Awaiting Review,enhancement,new,has-patch,2011-07-07T22:42:29Z,2011-07-07T22:42:29Z,"The default HTTP status code of [http://core.trac.wordpress.org/browser/tags/3.2/wp-includes/functions.php#L2740 wp_die()] is a [http://www.w3.org/Protocols/rfc2616/rfc2616-sec10.html#sec10.5.1 500 Internal Service Error] communicating !WordPress encountered an ""unexpected condition which prevented it from fulfilling the request."" Multiple pages trigger wp_die() in wp-admin when a minimum user capability is not met (e.g. Cheatin', uh?). In these cases we know why the request failed and could better communicate the failure in the HTTP status code. We want to communicate the same request should not be repeated without a modification to permissions. We also would like to shift the error class from a server error (5xx) to a client error (4xx).

HTTP status [http://www.w3.org/Protocols/rfc2616/rfc2616-sec10.html#sec10.4.4 403 Forbidden] communicates the authorization failure in HTTP status form. The server can be reached, we understood your request, but we declined access to the page.

A !WordPress install could catch this unique status code in its wp_die_handler and suggest further the viewer contact the IT department, admin, etc. for additional permissions.

Patch attached for wp-admin/edit.php. If the general idea behind the change is acceptable I can broaden the patch to other occurrences of wp_die() for failed capability checks in wp-admin.",niallkennedy
8420,Disable error redirects when in DOING_AJAX,kapeels*,Administration,2.7,low,minor,Future Release,enhancement,accepted,has-patch,2008-11-29T00:28:10Z,2010-11-28T11:30:25Z,"If a DB/install error occurs in admin during ajax requests (like autosave), the response shouldn't return the whole redirected page, see $ATT (admin-ajax-install-trigger.png). If something goes awry and we're DOING_AJAX, an error message that could fit inline would be better.",janbrasna
17470,Display warning when editing the page_for_posts page,,Administration,3.2,normal,normal,Future Release,enhancement,new,has-patch,2011-05-17T06:27:13Z,2012-11-19T16:33:34Z,"I recently ran into a situation where someone was very confused by the page_for_posts setting and why their page edits were not being respected. It occurred to me that this feature is not terribly well described in the UI for users that don't already understand what it does.

The attached patch will simply add a warning as an admin_notice when you are editing the page that is specified as the page_for_posts page.

I used a class of error for the admin_notice, but updated might be more appropriate.",alexkingorg
20345,Don't show Author column on posts screen for single author sites,,Administration,3.4,low,normal,Future Release,enhancement,new,has-patch,2012-04-02T20:42:56Z,2012-04-18T20:39:05Z,"The 'Author' column on post listing screens is a bit pointless for single-author sites.

To simplify this screen, I think it would make sense to remove this column for sites which only have one user, and possibly also remove it for sites with more than one user but still only one author (ie. `!is_multi_author()`).

I'm not sure how best to handle the column's visibility and a user's column visibility preferences at the point when a site goes from being a single-author site to a multi-author site.",johnbillion
12890,Draft and scheduled pages not listed in the Parent dropdown,,Administration,3.0,normal,normal,Future Release,enhancement,assigned,,2010-04-07T11:59:55Z,2012-07-03T14:15:23Z,"Draft and scheduled pages are not available as choices in the Parent dropdown of the Attributes module.

This is very similar to ticket #8592, regarding private pages. I'm hoping the fix might be simpler for drafts and future posts.",rooodini
9604,Edit screens expire,,Administration,2.8,normal,normal,Future Release,enhancement,new,,2009-04-21T06:35:08Z,2009-06-13T02:02:48Z,"Steps to reproduce:
1) Open an edit post (or page) screen
2) Take your browser offline for 24 hours
3) Put the browser back online
4) Edit the post, type a lengthy, thoughtful, dramatic entry
5) Click save draft / publish as you prefer

Expected result: Your poetic prose is committed to infallible digital memory.

Actual result: You're told ""Your attempt to edit blah has failed."" Press the back button and likely see the previous version of your post. Your latest prose exists now only in your memory.

Technical details: I think the nonce expires, so the post screen becomes invalid after a while.

Proposed solution: Add a javascript timeout to warn the user that the edit screen has expired. Provide a mechanism for the nonce to be updated.",chmac
6479,Encourage people to change default tagline,markjaquith,Administration,2.5,normal,normal,Future Release,enhancement,assigned,,2008-03-30T19:09:41Z,2013-01-22T00:42:25Z,"A lot of people don't change the default tagline, especially if using a theme that doesn't display it.  But it still displays in their feed.  We should check to see if they still have the default tagline and if so, put a little contextual help in Settings - General that (nicely) encourages them to change it.

Props to Chris Silver Smith for bringing this issue up at WordCamp Dallas.",markjaquith
16853,Error 500 when a user has too many sites,PeteMall*,Administration,3.0.1,normal,minor,Future Release,enhancement,accepted,,2011-03-14T11:15:57Z,2012-02-13T09:36:58Z,"'''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@…
9931,Extra class for the wrap div's in custom-header.php,,Administration,,normal,normal,Future Release,enhancement,new,has-patch,2009-05-24T17:25:40Z,2010-08-13T11:41:15Z,"I'm using custom-header.php to complete the options section for my own themes but for some themes I only need the image section to be visible>

Would it be possible to add an extra class reference to the <div class=""wrap""> sections? This would make it possible for me (and others) to ''not'' display the irrelevant sections (and thus avoid questions from users about why changes aren't reflected).

My suggestions is to go for something like this:

{{{
<div class=""wrap custom-header-text"">
<div class=""wrap custom-header-image"">
<div class=""wrap custom-header-reset"">
}}}

And perhaps that:

{{{
<div class=""wrap custom-header-text"">
<?php screen_icon(); ?>
}}}

needs to be changed into something like:

{{{
<?php screen_icon(); ?>
<div class=""wrap custom-header-text"">
}}}

to keep the icon available when you choose to hide the text section.

Cheers :)",stgoos
22650,Filter the Gravatars on credits.php,,Administration,,normal,normal,Awaiting Review,enhancement,new,has-patch,2012-11-30T08:39:58Z,2012-11-30T08:51:59Z,"All Gravatars should be generated by get_avatar() or at least run through apply_filters('get_avatar', $avatar) for the sake of extensibility.

Related: #22329",miqrogroove
21034,Flyout Menu on Backend doesn't Loades Untill Whole Page is Loaded,,Administration,3.4,normal,normal,Awaiting Review,enhancement,new,,2012-06-21T09:43:55Z,2012-06-25T05:30:06Z,"I have noticed this ever since the flyout menu was introduced. Menu items on flyout menus is not shows until the whole page gets loaded. For high speed connection its not a problem but it gets annoying people who connected in dial up (last week my ISP was down so i had to work with dial up for couple of days).

So, we could make the flyout menu items css/js to load on header so it doesn't wait for to load the whole page and make the backend accessible to and less annoying to low speed users.. For testing it you have to log into backend with low speed connection. If you need proof i can make a video with my dial up. Just let me know.

BTW: What i see on firebug that the css for flyout menu loads on header so i don't really find out what causes the menu to not showing on hover until the page loads.",prionkor
22086,"HTML5 and cellspacing=""0"" in admin pages",,Administration,3.4,normal,minor,Awaiting Review,enhancement,new,dev-feedback,2012-10-03T19:37:25Z,2013-02-19T20:46:43Z,"There are several instances where generated table content uses 'cellspacing=""0""' in the admin areas of WordPress.

The W3C validator (albeit experimental) states that this parameter should be dropped and CSS used instead for HTML5 compliance.

I think the patch I'm going to attach in a moment will fix these validation issues.",MattyRob
21856,Hide category selection when no posts are available,,Administration,3.1,normal,normal,Awaiting Review,enhancement,new,has-patch,2012-09-09T14:38:10Z,2012-11-13T20:18:02Z,"Just an idea that popped up while testing #21015. The months dropdown gets hidden when there are no posts available, so why not hide the category dropdown list too?

Might be a bit confusing though, when certain elements are not showing when you first start using the screens that these elements are used. But showing something that does not do what it looks like is even more confusing, I think.",CoenJacobs
22139,Hooks for wp-login customization,,Administration,3.4,normal,normal,Awaiting Review,enhancement,new,has-patch,2012-10-09T14:18:07Z,2013-01-22T22:18:57Z,"I have an application that leverages wp-login.php as the login page (of course), however, the HTML on the wp-login.php doesn't have a way for my application to insert its navigational elements, branding, etc.

I propose the addition of two new action hooks: ''login_before_container'' and ''login_after_container'' which would come before and after the login div, respectively.  ",borkweb
18709,Hooks in user-new.php,,Administration,3.2.1,normal,normal,Awaiting Review,enhancement,new,dev-feedback,2011-09-19T21:06:16Z,2013-04-19T11:38:49Z,"It would be nice to be able to enter extra metadata for users when manually creating them from the admin control panel. 

I assume it should be as simple as adding a new action, along the lines of the edit_user_profile_update one? 


",standardtoaster
14097,Idea for placeholder text,,Administration,,lowest,trivial,Future Release,enhancement,new,,2010-06-26T06:28:25Z,2013-01-22T17:40:03Z,"Placeholder text has a fatal flaw, in my mind: once the field is focused, that placeholder text is gone. This can be confusing, especially if you tabbed into that field or it was selected by default. You can actually use placeholder text instead of labels, for a minimalistic form layout, but only if you correct this flaw.

So here's a potential solution:

http://txfx.net/files/wordpress/labels/

It uses HTML 5's {{{placeholder}}} attribute (newest Safari and Chrome support it), with a jQuery plugin to handle that support for other browsers.

Thoughts?",markjaquith
19023,Images in Edit Comments break SSL,nacin,Administration,3.2.1,high,normal,Awaiting Review,enhancement,reviewing,dev-feedback,2011-10-21T11:19:43Z,2012-09-17T22:52:02Z,"In trunk, when I'm on my edit comments page, the SSL get's broken because of an attachment image that isn't served over SSL:

[http://uploads.yoast.nl/Comments-20111021-131843.png]",joostdevalk
17783,Inconsistent theme management screens,,Administration,3.0,normal,normal,Future Release,enhancement,new,,2011-06-13T12:32:26Z,2011-06-13T13:12:51Z,"On single-site you have tabs, while on multi-site you have an ""Add New"" button:

/wp-admin/themes.php (single-site):

[[Image(http://core.trac.wordpress.org/raw-attachment/ticket/17783/themes.png)]]

/wp-admin/themes.php (multi-site):

[[Image(http://core.trac.wordpress.org/raw-attachment/ticket/17783/ms-themes.png)]]

/wp-admin/network/themes.php (multi-site):

[[Image(http://core.trac.wordpress.org/raw-attachment/ticket/17783/ms-themes-network.png)]]",scribu
22183,"Input type=""email""",,Administration,,normal,normal,Future Release,enhancement,new,has-patch,2012-10-13T19:01:18Z,2012-11-07T07:53:37Z,"Text inputs for email addresses were replaced with email inputs in [20168] but reverted in [20196] due to poor client-side validation by Chrome 17 and Firefox 10, however we've had input type=""email"" on the registration form since [18763].

We should:
 1. Test the current state of client-side validation.
 2. Either introduce email inputs in the admin area or revert [18763] depending on the results of point 1.

See http://core.trac.wordpress.org/ticket/17863#comment:25 for the email input validation issue.",johnbillion
24209,Install Themes/Plugins Custom Page Hooks,,Administration,3.5.1,normal,normal,Awaiting Review,enhancement,new,has-patch,2013-04-28T03:04:05Z,2013-04-28T05:45:40Z,"Upon trying to add a custom page to the '''Plugins > Add New''' section for private plugins, I realized there wasn't a hook that allowed overriding the plugin_api call.

The custom tab on the page could easily be added via the ''install_plugins_tab'' filter, but in the '''class-wp-plugin-install-list-table.php''' class method ''prepare_items()'', there isn't a hook to override the api call.

I checked the functions for the themes and it's the same thing, so I've added the patches containing the proposed filters for both classes in order to help future customization of WordPress by developers.

Here's an example of the custom tab and the desired results via the hooks in a plugin:

[[Image(http://i.imgur.com/iF9gbMf.png)]]

These filters can also be used to prohibit clients from adding 3rd-party plugins for security & performance reasons and even limit them to only using a private Repository API.

Thanks!",amereservant
23432,Links in Setting pages to open in new window,,Administration,3.5.1,normal,minor,Awaiting Review,enhancement,new,has-patch,2013-02-09T15:26:25Z,2013-02-10T16:02:57Z,"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
21132,"List tables' ""select all"" should let you really select all, regardless of screen options",,Administration,,normal,normal,Awaiting Review,enhancement,new,,2012-07-02T04:38:38Z,2012-07-05T15:13:48Z,"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
20335,Make Default Post Listing Mode Filterable,,Administration,3.3.1,normal,trivial,Awaiting Review,enhancement,new,has-patch,2012-03-30T15:54:23Z,2013-02-08T07:32:35Z,"Inspired by [http://wordpress.stackexchange.com/q/34956/46 a question] on the WordPress Answers Stack Exchange.

By default, WordPress displays the post list in the admin as a list view.  There's an option to switch to an excerpt view that many people use and some would like to set this as the default mode.

Unfortunately, the default is hard-coded into WordPress and is not filterable.  I propose we add a basic filter to allow developers to override the default ""list"" setting for the view mode.",ericmann
21271,Make admin backend unit-tests friendly,,Administration,3.4.1,normal,normal,Awaiting Review,enhancement,new,dev-feedback,2012-07-14T14:19:20Z,2012-12-11T13:12:31Z,"Recently I started writing unit tests for my plugins. Beside tests focused on functionality (where I directly call my plugin functions) I write some basic integrations tests, which should test that WordPress will call my function, pass data in expected format and recognize data returned from it. For frontend it is quite easy - theme API is well-defined, so I can write something like this:
{{{
public function test_something() {
	// add new post
	$post_id = wp_insert_post( array( ... ) );
	$this->assertGreaterThan( 0, $post_id );
	
	// go to post page
	$this->go_to( get_permalink( $post_id ) );
	
	// main loop
	$checked_post = false;
	while ( have_posts() ) {
		the_post();
		if ( $post_id == get_the_ID() ) {
			$checked_post = true;
			
			// test that content is modified
			ob_start();
			the_content();
			$result = ob_get_clean();
			$this->assertEquals( '...', $result );
		}
	}
	
	// make sure test above was executed
	$this->assertTrue( $checked_post );
}
}}}
Unfortunately this is not true for admin backend - there most of code is written directly at file level (not in functions and classes), so I would need to either duplicate this code in my tests (bad approach, because would have to monitor original code for changes), or test using whole file (either load it directly or use Selenium) - in this case test would be more complicated.

Therefore I logged this ticket, to start discussion how we can perform refactoring of admin backend to make it more tests-friendly, and how to test it more thoroughly. Most probably we would also need to modify the testing framework (e.g. introduce new `admin_go_to()` method).",sirzooro
14515,Make admin table content filterable by column,sirzooro,Administration,3.0.1,normal,normal,Future Release,enhancement,assigned,,2010-08-03T06:16:40Z,2011-10-21T09:15:42Z,"I would like to modify Author column on post list - add link to user's profile. Now the only way is to add it to 1st column or custom column, and optionally move it later using JavaScript. Therefore I ask to add new actions for default columns, which will allow to do this.

It may be also beneficial to implement this as a general hook which will be called on all columns, including custom ones.",sirzooro
8243,"Make draft pages to appear in ""recent drafts"" dashboard gadget",,Administration,2.7,normal,normal,Future Release,enhancement,new,has-patch,2008-11-16T11:08:50Z,2010-06-25T20:21:01Z,"In 2.7 beta 2, draft Pages do not appear in ""recent drafts"" dashboard gadget. It would be very nice to see draft pages there as well. Another option is to make it optional and allow one to select whether he/she wants to see draft pages in the gadget.
",asandler
15865,Make it easy to disable options / user settings,westi,Administration,,normal,normal,Future Release,enhancement,new,has-patch,2010-12-17T17:52:29Z,2013-01-21T04:12:48Z,"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
21516,Make the entire .check-column the click target for the checkbox,,Administration,,normal,minor,Awaiting Review,enhancement,new,has-patch,2012-08-08T03:34:38Z,2012-10-22T15:27:26Z,"Sometimes checkboxes are quite small. In various list tables, checkboxes are wrapped in a .check-column. Why not make the entire .check-column clickable, in case people (like me) miss?",mitchoyoshitaka
16165,Media Library Bulk Delete: Error in deleting...,nacin,Administration,3.1,low,normal,Future Release,enhancement,assigned,dev-feedback,2011-01-09T14:20:39Z,2012-11-07T20:17:43Z,"While Bulk Deletion, when a user gets the ""Error in deleting..."" message, there is no information given of how many elements have been deleted so far.

Let's say there was a bulk of N deletions, getting this error can mean up to N-1 items have been deleted already.

Same is the case if for some item, no permissions are granted to delete it. The number of successfully deleted items is missing as well.",hakre
20288,"Missing bottom border for bulk-actions checkbox th in wp-posts-list-table if current user can't ""edit_post"".",,Administration,3.3.1,normal,normal,Awaiting Review,enhancement,new,reporter-feedback,2012-03-23T10:04:20Z,2013-01-22T03:36:59Z,"If current user can't ""edit_post"" the bulk-actions checkbox isn't present but also the bottom border for th in wp-posts-list-table.

I think it can be fixed by modifying line 495 in class-wp-posts-list-table.php like so:

`<th scope=""row"" class=""check-column""><?php if ( $can_edit_post ) { ?><input type=""checkbox"" name=""post[]"" value=""<?php the_ID(); ?>"" /><?php } else { ?> &nbsp; <?php } ?></th>`",szaqal21
17028,"Move the ""last edited at"" text and saved/updated/published notices in post/page editor",,Administration,3.1,low,normal,3.6,enhancement,new,has-patch,2011-04-02T21:56:59Z,2013-02-20T10:18:21Z,"1. The timestamp of the last save is currently displayed at the bottom right of the editor box. It would make more sense for this information to be tied to the Publish box instead. 

2. The yellow alert boxes that appear at the top of the page are weird. a) They should appear closer to the button that caused the action (general usability/accessibility best practice), so probably by the Publish box. b) Once you edit anything on the screen, the ""post updated"" (or saved, etc) text should go away, because it is no longer current. 

Am thinking we could combine these two things into one flexible status message that's located in or adjacent to the Publish box. ",jane
20956,Navigation changes: Posts/Pages,,Administration,3.4,normal,normal,Awaiting Review,enhancement,new,has-patch,2012-06-14T14:42:25Z,2013-01-22T03:30:06Z,"1. Explaining the difference between Posts and Pages to new users is time consuming and often frustrating. We've all done it, have our best/fastest version of the talk down pat, but it still takes longer than it should to get many new users to the point of understanding the difference.

2. Back in 2.7, when we set up the left navigation we put Pages at the bottom of the content nav section because in testing 2.5/2.6 so many people complained about accidentally clicking Posts/Pages by accident because they were close together in the old UI and both started with P (blame it on capital_p). Because of this, Pages falls below the less-frequently accessed areas of Media and Links, and people don't necessarily see it right away because they expect it to be higher up.

I've been testing out two changes to the left navigation aimed at reducing these two issues on my test blog for some time now, and have been using it during demos with both new and existing users to great success, so I think it's time to propose it for core.

Change 1: Change the Posts label to Blog. All Posts can remain as is, or could be reduced to just Posts, since the reason we added the All in the first place was that Matt thought it looked weird to have the same word shown twice. 

This change reduces the amount of time it takes me to get a new user really understanding the difference between posts and pages by about 75% (very informal testing, have kept track with about 30 new users by just keeping an eye on the computer clock to see how long it is before we move on). The dynamic blog/static site difference is much easier to grasp when they see that familiar word Blog instead of Posts because ""posting"" is an action that applies even to static content, and even posts are displayed in web pages (vs Pages).

Change 2: move Pages up the menu to sit below Blog, so the two most important content types are at the top. Since they wouldn't look similar (ha ha capital_p) there would be much less risk of accidental misclick based on letter shape (poor manual dexterity would not be affected, but in that case those people are already clicking the wrong things, right?)

I've attached a screenshot showing what the navigation would look like with these changes. ",jane
23091,Need to remove deprecated get_bloginfo('url') from _fix_attachment_links() function,,Administration,3.5,normal,normal,Awaiting Review,enhancement,new,close,2012-12-31T01:57:33Z,2013-01-29T21:51:19Z,"get_bloginfo('url'); is deprecated.
Should be home_url();",hexalys
22589,Network Admin + Ajax requests,,Administration,,normal,normal,Awaiting Review,enhancement,new,,2012-11-26T09:12:18Z,2012-11-26T14:40:53Z,"Currently there is no Network admin based ajax handler, forcing plugins which exist solely within the Network Admin to either use `wp-admin/admin-ajax.php` or using the `load-{$page_hook}` hook to perform any actions.

This is primarily a problem when the plugin only includes code on a conditional such as `is_network_admin()`, which would be false for a `/wp-admin/admin-ajax.php` request, as a result, only the `load-{$page_hook}` option above is viable for those.[[BR]]
As a work around, plugins can include code on `is_network_admin() || DOING_AJAX` to allow the usage of admin-ajax.php.

Of course, the User Admin also suffers the same issue.

I didn't see any previous tickets, and kind of want to say the existing 'workaround' is appropriate, but recording it here so we can at least close it as wontfix if appropriate.",dd32
16031,New bulk actions hook missing catcher behavior,,Administration,3.1,normal,normal,Future Release,enhancement,assigned,,2010-12-29T20:31:04Z,2013-03-12T16:47:57Z,"The new bulk actions filter allows you to modify the bulk-actions arrays, but neglects to add the ability to handle the new custom actions. 

The fix is to simply add one new do_action() hook to the default case of each affected page (similar to the way 'wp_ajax_' handles custom ajax requests).

For example, the following might be added to users.php at line 285, immediately after <tt>default:</tt>

do_action( 'bulk_action-'. $wp_list_table->current_action() );",Veraxus
12670,Non-standard htaccess filename breaks mod-rewrite setup,ryan,Administration,2.9.2,normal,normal,Future Release,enhancement,assigned,has-patch,2010-03-22T17:44:41Z,2010-04-17T23:38:54Z,"I use a non-standard .htaccess filename and thus the mod-rewrite for permalinks didn't work for me as the admin script wrote to a file called .htaccess - this also made my wordpress site throw an HTTP 500 error due to the ""missing"" .htaccess file

I think it would be worth adding a check to see what the .htaccess filename is before writing it (the Apache config var is called ""AccessFileName"")

I have worked around the problem by creating a symlink from the filename I use to .htaccess.",thedotproduct
18596,Not possible to filter comment screen by post type,,Administration,3.3,normal,normal,Awaiting Review,enhancement,new,has-patch,2011-09-05T16:50:33Z,2011-10-03T20:41:20Z,"The `post_type` query var has no effect on the Comments screen so it's not possible to filter this screen by post type.

I'll work on a patch.",johnbillion
23680,Obsolete function previously used in Theme Editor,,Administration,,normal,normal,Awaiting Review,enhancement,new,,2013-03-04T03:15:56Z,2013-03-04T03:15:56Z,"`get_real_file_to_edit()` is unused since [12063] and should probably be deprecated: [[BR]]
http://core.trac.wordpress.org/browser/tags/3.5.1/wp-admin/includes/file.php#L96",SergeyBiryukov
19114,Optimise admin css colors,,Administration,3.3,normal,normal,Awaiting Review,enhancement,new,,2011-11-02T11:16:11Z,2012-12-24T11:26:56Z,"It is really pain to create own admin color pallete, as the current ones are too complex. E.g. in current colors-fresh.css you are using circa 90 colors, many of them almost identical so noone can see the difference (especially when they are on different pages, places) and you are also using different naming conventions

6hexa #666666

3hexa #666

color name black

and also different case in hexa e.g. #FFFBCC vs. #f1f1f1

IMO the default number of different colors could be decreased to about half without visible concerns and also standardising naming convention would help for creating own themes",thomask
12694,"Orphan themes are listed as broken, but can't be deleted from wp-admin",,Administration,2.9.2,low,minor,Future Release,enhancement,new,has-patch,2010-03-24T21:40:44Z,2013-05-16T01:38:05Z,"I had been giving a set of ""mobile"" themes a tryout on my WordPress blog.  There's a parent theme and three child themes.  Didn't really like them.  

Not realizing they were parent/children(I thought they were 4 independent themes that were identical except for color schemes), I deleted the parent theme first through the WP-Admin's theme screen (/wp-admin/themes).

Now, the parent theme is gone.  But WordPress still lists the child themes as broken themes with the disclaimer: ""The following themes are installed but incomplete. Themes must have a stylesheet and a template.""

However, there's no option to delete them from the WP-Admin.  Being a longtime WordPress user, I know I can FTP into my server and manually remove those directories.  But I'll admit, I love how the newer versions of WordPress have made it possible to install/upgrade/delete themes and plugins right from the Admin system, without the need to open up the ol' FTP client and do it all manually.  I'm sure there are also newer users of WordPress who may or may not be aware they'd need to go through FTP to delete a broken theme.

Just saying it would be nice if we could delete broken themes right from the Admin system... but it's not a major/urgent request.

",pnaw10
21774,Page attributes structure,,Administration,,normal,normal,Awaiting Review,enhancement,new,has-patch,2012-09-02T14:58:57Z,2012-10-08T17:45:53Z,"Currently, the ""Page Attributes"" module is organized like this:

* Parent
* Template
* Order

Wouldn't it make more sense to put ""Parent"" and ""Order"" together, as both are closely similar and related to the site structure?

We could have:

* Template
* Parent
* Order

or maybe

* Parent
* Order
* Template",Lorangeo
16122,Paging in link-manager,,Administration,3.1,normal,normal,Future Release,enhancement,new,has-patch,2011-01-06T10:11:07Z,2011-08-06T14:42:39Z,"I think it would be a good idea to have paging (""Show on screen"" option) in the link-manager like in pages, sites, media a.s.o.",jezze
17891,Pass $post_type to 'restrict_manage_posts',,Administration,,normal,minor,Awaiting Review,enhancement,new,has-patch,2011-06-25T11:48:23Z,2012-09-22T01:07:26Z,"It would be nice if the 'restrict_manage_posts' hook received the post type as an argument, rather than having to check the global.",scribu
18833,Pass raw data into save_post/wp_insert_post,rmccue,Administration,,normal,normal,Awaiting Review,enhancement,new,has-patch,2011-10-01T09:15:14Z,2011-10-02T02:24:01Z,"Almost all tutorials about custom metaboxes (in addition to post meta) use `$_POST` to get the data that was submitted. Unfortunately, this breaks if a plugin uses anything that calls `wp_insert_post()` in the same request.

The patch attached here includes the `$postarr` array, which is the raw data passed in, and which is `$_POST` from `wp-admin/post.php`. This allows one to use the third parameter to the callback to set meta data instead of having to use `$_POST` directly.",rmccue
9883,Password shows under Settings / Writing,ryan,Administration,2.7.1,low,trivial,Future Release,enhancement,reopened,has-patch,2009-05-19T23:07:29Z,2013-01-22T16:54:52Z,"The password box in the section ""Post via e-mail"" on Settings -> Writing should hide the password, not show it.",mastrup
7395,Plugins within a folder (in SVN) should be moved up a level in our plugin upgrader,DD32,Administration,2.6,high,normal,Future Release,enhancement,new,,2008-07-24T04:15:58Z,2010-02-13T02:02:12Z,"The Paged Comments plugin exists in SVN under a 'paged-comments' directory.  Since the auto-upgrader puts plugins into a directory based on their slug, this results in the plugin being under two 'paged-comments' directories.  We should be able to identify when a plugin's trunk (or current branch) directory contains only another directory, and move the whole plugin up a level.",markjaquith
6106,Post slug improvements,markjaquith*,Administration,2.5,normal,normal,Future Release,enhancement,accepted,,2008-03-05T21:08:21Z,2011-09-09T00:02:15Z," 1. ~~Right now, a post ID is shown as the post slug unless a slug is manually entered.  Instead, it should show the dynamic slug generated from the title.~~  Ideally, as the title is updated.  (maybe using onblur to see if the typed-in title has changed, and doing a quick AJAX request to see what the dynamic slug would be).
 1. There is no way to tell the difference between a tentative slug, and a locked-in slug (either by choice, or by hitting ""publish"").  Perhaps the highlighting could go away and the slug could be bolded to indicate that it is set.

",markjaquith
19711,Posts edit list window display no information about filtering,,Administration,,normal,normal,Awaiting Review,enhancement,new,,2012-01-02T16:39:30Z,2013-01-22T15:09:32Z,"The ""All Posts"" page lists the available posts.

It can filtered by authors or terms, for example by clicking on a category name or the author name next to a post.

The URL will change to apply the filtering, but there's no other visual indication of  the filtering, nor a link to quickly disable filtering.

This can lead to confusion when users are accessing filtered lists directly or via links in other part of the dashboard.

",yoavf
8592,Private Pages not listed in the Parent dropdown,nacin,Administration,2.7,normal,major,Future Release,enhancement,reopened,commit,2008-12-12T16:22:24Z,2013-02-28T12:51:59Z,"Private pages are not available as a choice in the Parent dropdown of the Attributes module.

You should be able to create a hierarchy of private pages if you want to.

Tested with r10194.",mtdewvirus
6286,"Proposed changes to ""E-mail me whenever"" Discussion Options",,Administration,2.5,normal,normal,Future Release,enhancement,new,has-patch,2008-03-18T19:14:55Z,2013-01-13T20:40:03Z,"WRT the ""E-mail me whenever"" options on the Discussion options page:

[[Image(http://img132.imageshack.us/img132/4215/picture1vf1.png)]]

 1. For ""a comment is helf for moderation,"" the ""me"" is ambiguous.  It should specify that it means the blog admin e-mail address.
 1. For ""anyone posts a comment,"" again, ""me"" is ambiguous.  In this case ""me"" means the author of the post.  The comment notification setting is personal, and therefore should be set in the profile options (where it can retain the ""me"").  Some authors may want e-mail notification, others might not.",markjaquith
13924,Provide 'reasons to update' text with core update notice in GUU,,Administration,3.0,normal,normal,Future Release,enhancement,new,,2010-06-16T19:39:25Z,2010-10-28T09:38:35Z,"Just like plugins can enter some text to ID why they should be upgraded, we should have this for core. ",jane
23444,Publish actions not readily available after scrolling when editing a post,,Administration,,normal,normal,Awaiting Review,enhancement,new,dev-feedback,2013-02-11T01:37:14Z,2013-02-11T02:26:42Z,"When editing a post in 2-column mode, the user is forced to scroll to the top of the screen. As publishing is always the final action while editing a post, the user should have the metabox available regardless of the user's scrolling.",ericlewis
23233,Radio Button instead of Checkboxes on Comment Moderation option?,,Administration,3.5,normal,trivial,Awaiting Review,enhancement,new,close,2013-01-18T16:26:23Z,2013-01-19T03:13:00Z,"Hi! I've been a loyal Wordpress user for years. This is nothing urgent, but something that may improve the user experience.

In Settings > Discussion > Before a comment appears, there are two options: ""An administrator must always approve the comment "" and ""Comment author must have a previously approved comment""

Perhaps I have missed something here, but aren't these options pretty much either/or? If the first box is checked, it's rather irrelevant if the second box is checked, because the first checkbox would override it?

If I'm correct, shouldn't this be changed from a both/and checkbox to an either/or radio button?",danielmount
22198,Realigning the Discussions Settings page,,Administration,3.4.2,normal,normal,Awaiting Review,enhancement,new,,2012-10-15T14:50:34Z,2013-01-22T03:01:36Z,"[I looked for some tikets for this but didn't find any directly related, so hopefully I haven't missed a big one out there floating around.]  

The Discussions Settings page (options-discussion.php) always trips me up when setting up a new site. There's a lot of options, descriptions, directions, etc on that page — much of which is probably unavoidable. When I visit it, I always think that the hierarchy isn't quite right. 

To help with this, I thought of two half-measures. 

1. A very simple solution: 

Put the ""Allow people to post comments on new posts"" at the top of the options list, with a little space below it. That would make that option the most prominent on the page, without making it stand out too much. 

Like this:
[[Image(http://f.cl.ly/items/3e0c062W0N1l3J2D0q0Y/Screen%20shot%202012-10-15%20at%2011.56.02%20AM.png)]]


2. A more involved solution: 

I really like the new click-to-reveal-the-options at work in the ""Page on Front"" (#16379) workflow and thought it might work well here. 

*Something* in this direction:  
[[Image(http://f.cl.ly/items/022A1G3k0O3q0g1u380L/Screen%20shot%202012-10-15%20at%2012.12.09%20PM.png)]]


The first could be accomplished for 3.5, but the second re-working could be a further down the line item. 
 
",saltcod
17906,Refactor submit box code,,Administration,,normal,normal,Future Release,enhancement,new,has-patch,2011-06-27T13:27:34Z,2011-06-28T16:01:10Z,"The code for the post submit metabox is a mess. It should be cleaned up, so that changes such as #17028 can be done more easily.

Will post a patch shortly.",scribu
17133,Register ctrl + s event for plugin/theme editor,,Administration,3.1,normal,minor,Future Release,enhancement,new,has-patch,2011-04-14T12:20:34Z,2011-12-06T04:07:54Z,Often when modifying code or writing a post using the wordpress editor I instinctively hit ctrl + s to save it. Up pops the save website dialog which I then have to close. In Gmail when I hit ctrl+ s it saves the email to drafts. I think a similar thing would be useful for wordpress.,jcnetsys
16774,Remember list view/excerpt view setting,,Administration,3.1,normal,normal,Awaiting Review,enhancement,new,has-patch,2011-03-06T13:37:18Z,2012-07-03T19:43:23Z,"I love the new excerpt view, except that the next time I go to the Articles page, it shows me the list view again. The selected view should be retained as a setting.",texttheater
10970,Remove 'siteurl' setting from options-general.php,,Administration,,normal,normal,Future Release,enhancement,new,has-patch,2009-10-17T18:52:10Z,2012-11-16T16:26:34Z,"From #10957:

azaozz:
> Better to fix the cause for this: ""WordPress address"" (siteurl) shouldn't be changeable from Settings->General at all as it cannot be set safely there. Most users would just break their blogs if they change it.

> It is set at install and only needs changing when WordPress is moved to another domain or (sub)directory. This happens very rarely and there are other (better?) ways to set siteurl.


Denis-de-Bernardy:
> in this case, we need to make sure the www. pref is passed on to the site_url. else we're bound to get massive bugs (e.g. #9873)
",scribu
22228,Remove one-time variable from add_settings_error,,Administration,,normal,trivial,Awaiting Review,enhancement,new,,2012-10-19T17:50:08Z,2012-10-19T17:50:08Z,"Append an array to `$wp_settings_errors` without assigning it to a variable in the previous line.

Before:
$var = array( 'type' => $type ... );
$wp_settings_errors[] = $var;

After:
$wp_settings_errors[] = array( 'type' => $type ... );",niallkennedy
14333,Remove page order UI,,Administration,3.0,normal,normal,Future Release,enhancement,reopened,dev-feedback,2010-07-17T03:10:23Z,2012-09-02T23:01:02Z,"Unkile posts, in pages we can order and re-order the pages (using ""menu_order"" field in ""wp_posts"" table).

But since the new ""Custom Menu"" feature was introduced, do we realy need the page ordering?

We can create new menus, add as many pages as we like and re-order them as we like (this is the purpose of menues).

If we can do this using menus, then we can delete the ordering feature from the page editing screen.",ramiy
22827,"Remove profile page ""Visual Editor"" setting right margin",,Administration,3.2,normal,normal,Awaiting Review,enhancement,new,has-patch,2012-12-08T16:31:58Z,2013-03-15T09:09:32Z,"I assume this once has been added to align with the profile page ""Admin Color Scheme"" setting, but for consistency with other settings my request to remove it.

Some screenshots:

http://cl.ly/image/3t3k1w3y2Q1D/8-12-2012%2016-26-26%20ltr%20after.png
[[BR]]
http://cl.ly/image/420C1i1c1f2n/8-12-2012%2016-21-26%20rtl%20before.png
[[BR]]
http://cl.ly/image/3H3R0u080I0Q/8-12-2012%2016-25-14%20ltr%20before.png
[[BR]]
http://cl.ly/image/183U2g3x381I/8-12-2012%2016-21-26%20rtl%20after.png

Please note this is my first patch, and thus I'll probably mess up something somewhere. Terribly sorry about that.",corvannoorloos
17884,Remove redundant checks in settings API functions,,Administration,,normal,minor,Awaiting Review,enhancement,new,has-patch,2011-06-24T20:20:44Z,2013-01-03T19:25:30Z,"There are several isset() checks in some settings fields functions that are meant to prevent notices, but they're simply unnecessary.

PHP doesn't emit notices in those cases.",scribu
18788,Remove redundant type attributes from script and style tags,,Administration,3.3,normal,normal,Future Release,enhancement,new,has-patch,2011-09-27T06:54:02Z,2013-04-15T10:28:35Z,"Now that the admin is using the HTML5 doctype everywhere, the `type=""text/javascript""` and `type=""text/css""` attributes on script and style tags are unnecessary (if they weren't anyway), and I think they can be safely removed to trim a few hundred bytes from core. Should be a simple search and replace exercise.",solarissmoke
17542,Remove upload file after deleting custom background,,Administration,,normal,normal,Awaiting Review,enhancement,new,has-patch,2011-05-23T08:49:25Z,2011-05-23T14:40:13Z,"I came across a comment on custom-background.php that says 
//@todo: uploaded files are not removed here.

So, I thought I will come up with this codes for the upload file deletion if user remove background.

Attached custom-background.diff

I had tested on my localhost.

Hope this contribution is useful.

Thanks.",denzel_chia
23427,Restore shift-click checkbox range selection,,Administration,3.5,normal,normal,Awaiting Review,enhancement,new,close,2013-02-08T19:35:32Z,2013-02-26T16:48:58Z,"It used to be possible to select a range of checkboxes in the post list by shift-clicking (see #6541). I'm not entirely sure when this feature disappeared, but it's been a while.

Patch restores the functionality using the [http://www.sanisoft.com/blog/2009/07/02/jquery-shiftcheckbox-plugin/ ​jQuery shiftcheckbox plugin].",sillybean
12432,River of comments in the Recent Comments dashboard module,garyc40,Administration,,normal,normal,Future Release,enhancement,assigned,has-patch,2010-03-01T00:23:32Z,2011-03-23T17:24:45Z,"See #11891, the 3.0 effort.

Upgrade the Recent Comments dashboard widget to pull in the 'river of comments' instead of only displaying the configured value (which winds up empty if you delete or spam those 5).",nacin
16413,Settings page needs HTML refactoring and UI improvements,nacin*,Administration,3.1,normal,normal,Future Release,enhancement,accepted,,2011-01-30T20:22:09Z,2013-01-03T19:25:28Z,"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
14858,Shortlink On Posts Edit Summary Screen,,Administration,3.0.1,normal,normal,Future Release,enhancement,reopened,,2010-09-12T23:08:43Z,2013-01-22T17:32:34Z,"We've got a very handy button on {{{/wp-admin/post.php}}} to get the posts shortlink, but that involves going into the post as if you want to edit something!

So on {{{/wp-admin/edit.php}}} would it not be appropriate to add some kind of link/button where we can get without needing to go in and edit the post? - Meaning it doesn't need to load any content, possibly add yet another auto-revision, and such...!",markmcwilliams
19609,Show the 'Mine' filter on the manage posts screen for all users,,Administration,,normal,normal,Awaiting Review,enhancement,new,has-patch,2011-12-19T08:01:36Z,2013-04-04T17:42:04Z,"Authors and Contributors get a handy filter on the manage posts screen called 'Mine' which shows just that user's posts. It's also the default view for those user roles.

Editors and Admins don't see this filter at all. It'd be nice if it was available, even if it's not the default view like it is for Authors and Contributors.

If no-one else wants to then I'll look at doing a patch after the holidays.",johnbillion
7615,Show theme name when selecting page templates,,Administration,2.7,normal,normal,Future Release,enhancement,new,has-patch,2008-08-27T20:12:39Z,2009-11-20T20:33:10Z,"Currently, if a child theme inherits some templates from its parent theme and adds some itself, it's not clear when selecting a page template which templates are from which theme. The attached patch adds the theme name in parentheses after the template name.

This is just something that struck me might be an issue, so feedback on whether there is actually a real benefit to the added complexity would be welcome.",ionfish
16346,Slug field too narrow in Post Edit,,Administration,3.1,normal,minor,Future Release,enhancement,new,has-patch,2011-01-22T18:56:24Z,2011-01-22T19:39:41Z,"When you edit a post, there is a Slug panel at the bottom where you can edit the slug. The field displaying the text of the slug is set inline to 13, which is not nearly wide enough to show more than 15 letters.",ABTOP
9117,Spam queue doesn't distinguish between filter sources,,Administration,2.7,normal,normal,Future Release,enhancement,new,,2009-02-12T22:50:51Z,2012-06-19T19:23:07Z,"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
22476,Standardize single and double quotes in CSS url()s,,Administration,,low,trivial,3.6,enhancement,new,has-patch,2012-11-16T17:26:05Z,2013-04-10T19:48:14Z,"As per http://www.w3.org/TR/CSS2/syndata.html#value-def-uri (and other locations), single quotes {{{'}}} and double quotes {{{""}}} in {{{url()}}} values in CSS like
{{{
body { background: url(""../img/image,gif"");
}}}
are optional. Most of core's CSS is already written without such quotes. The patch 22476-remove-quotes-in-url.diff removes the remaining ones, for consistency and to save us some bytes again, even in the minified CSS.",TobiasBg
20052,Support sprites for admin menu icons in register_post_type and add_menu_page,,Administration,,normal,normal,Future Release,enhancement,new,has-patch,2012-02-15T23:14:45Z,2012-12-14T23:49:22Z,"We should encourage developers to maintain a consistent and beautiful admin UI by making it easier to register sprites with black and white and color versions of icons for the admin menu, namely in `register_post_type()` and `add_menu_page()` (and its wrappers).

Related: We should also do an education push and create an external web tool to make it easy to generate a properly sized, colored, and positioned sprite.

Related tickets: #20036, #19886",helen
18590,"Swap out ""return false"" JS calls for preventDefault",,Administration,3.3,normal,normal,Awaiting Review,enhancement,new,has-patch,2011-09-05T03:43:16Z,2012-12-10T23:12:00Z,"While trying to hook into someone clicking the expand/collapse arrow in the nav menu UI, I realized that the existing Javascript is using `return false;` to abort the hyperlink click from going through.

[http://fuelyourcoding.com/jquery-events-stop-misusing-return-false/ This is bad and incorrect.]

We should be using `object.preventDefault()` instead so that other bound functions aren't aborted.",Viper007Bond
16369,Tag to category and categories to tag converter links,,Administration,,normal,normal,Awaiting Review,enhancement,new,has-patch,2011-01-25T10:44:06Z,2011-01-25T13:44:28Z,"In the Post Tags and Categories pages, links are made available to direct the users to the Categories and Tags Converter in Tools.

While it is normal that these links go to the Tools>Import page as long as the Categories and Tags Converter is not installed, once it is, the links should go one step further and bring the user directly inside the Categories and Tags Converter.",paolal
20901,Taxonomy descriptions should be TinyMCE editable,,Administration,,normal,normal,Awaiting Review,enhancement,new,dev-feedback,2012-06-11T07:49:17Z,2013-05-16T10:16:18Z,"Right now taxonomy descriptions are filtered heavily for HTML and are output as a simple textarea, making it impossible to make those into ""nice"" tinymce editors without a kind of hackish plugin. 

I'd be in favor of making taxonomy descriptions tinymce by default.",joostdevalk
7485,Terrible UX design on XFN section of Write->Link pages,,Administration,2.6,normal,normal,Future Release,enhancement,assigned,dev-feedback,2008-08-08T17:02:49Z,2012-01-06T01:43:58Z,"Regarding the XFN section on the Write-Link pages:

The UX on this section is fairly terrible. We give the user an editable ""rel"" field and then don't let them edit it via javascript. Note that if you disable javascript and then edit that field, then your changes are indeed saved and then even show up on the resulting pages correctly. That javascript just won't let you manually edit the field. 

I propose that the javascript on this section be changed to allow manual editing of that field, and to make the checkbox/radio sections just add/remove the relevant bits from the field when they are selected/deselected. Result should allow user to manually insert stuff into the rel field and leave those manual insertions unaltered when changing the radio/checkboxes, unless they conflict with the selections being made directly.

Also, side note, would be nice to add a nofollow checkbox to this section as well, to allow easy addition of nofollow to the rel field, which would be handy for the somewhat over-controlling SEO oriented people. ;)
",Otto42
16414,Theme and Plugins options pages need improved tabs,chexee,Administration,,normal,normal,Awaiting Review,enhancement,new,has-patch,2011-01-30T22:13:52Z,2013-02-17T21:48:14Z,"We've talked about this in UI group before, this is essentially a continuation of [12412].

The tabs currently look rather big and bulky. We'd like to find a more graceful, subtle way to show multiple screens under one nav item.

Some notes:

 - Tabs should be different sections of one nav item (primarily Themes and Plugins).  They are not children of that nav item.  There shouldn't be any visual hierarchy between the h1 and the tabs.  The tabs, essentially, are the different h1s.

 - I use the word tabs loosely.  They do not necessarily have to look like traditional tabs.  Creative solutions to this would be awesome.

 - We are also open to suggestions to changing the wording on the tabs, especially for themes.  Current they read, ""Manage Themes"" and ""Install Themes"".  ""Install Themes"" is a bit misleading, ""Add New Themes"" would be more descriptive.

Attached are previous proposals.  ",chexee
21826,There should be more filters when displaying a theme in the list table,,Administration,3.4,normal,normal,Awaiting Review,enhancement,new,has-patch,2012-09-06T22:54:43Z,2012-09-15T22:27:50Z,"In `WP_Themes_List_Table::display_rows()`, there is a filter for the theme actions, but no filters for the theme information itself: screenshot, title, author, version, and description. Why not fix that?

The attached patch introduces `theme_list_*` filters within the `display_rows()` method. Suppressing one of the pieces of information is simply a matter of returning an empty value through the filter.",ethitter
20570,"Tidying Admin CSS, bringing it up to CSS Code Standards (work in progress)",,Administration,3.4,normal,minor,Awaiting Review,enhancement,new,,2012-04-29T16:24:09Z,2012-12-24T11:27:12Z,"as per http://codex.wordpress.org/CSS_Coding_Standards, this is an attempt to bring the internal admin stylesheets up to CSS Coding Standards

Some of the changes being made are ...

* Properly intenting top: left: right: bottom: attributes two tabs when following a position:absolute position:fixed or position:relative declaration
* Alphabetizing css properties
* Removing unnecessary browser prefixes
* Placing browser prefixed css properties before the non-browser prefixed versions
* Removing extraneous spaces
* Applying a consistent ordering of browser-prefixed properties (based on length of prefix to get an aesthetically pleasing diagonal line, rather than jagged, inconsistent line endings -- yes, I know it's silly, but it's better than randomness, and alphabetical isn't as useful)
* Applying a uniform method to attribute selectors and url references by wrapping double-quotes around the values (there was no prior standard and a motley assortment of usages)
* Changing colors to 3-character shorthand ( 888888 becomes 888 )
* Changing colors to lower case ( EEE becomes eee )

and probably a couple others that aren't coming to mind right now.",georgestephanis
19123,Top and bottom pagination should be consistent,,Administration,3.3,normal,normal,Future Release,enhancement,new,,2011-11-03T02:39:23Z,2012-12-24T11:45:33Z,"The top pagination on Install Themes and Install Plugins is the new style (box to type in page number), but for some reason the bottom pagination is old style. These should be consistent. IIRC, the bottom ones were reverted because there was a bug we couldn't solve in time for that version's launch, but we never came back to fix it. Both top and bottom should allow text entry of page number.",jane
16243,Unhelpful error messages when updating default category,,Administration,3.0.4,normal,normal,Awaiting Review,enhancement,new,has-patch,2011-01-15T12:23:36Z,2011-12-07T07:15:45Z,"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
22633,Update Icon Inconsistency,,Administration,,normal,normal,Awaiting Review,enhancement,new,,2012-11-29T11:37:57Z,2012-11-29T14:44:27Z,"The update icon at the moment is 2 arrows in a circle in the admin bar ( aka the refresh icon ). In Network Admin it's a pair of tools.

I'd suggest we change these to the same icon rather than have 2 inconsistent icons. I'd also suggest we use a single arrow as the new icon, a refresh/recycle icon isn't as clearcut as it could be ( and what if a caching plugin implements a refresh button to the admin bar? ).

We could follow Google by using an arrow pointing upwards, or we could follow Apples convention with a downwards pointing arrow in a circle",TJNowell
12914,Update the Right Now box when publishing via QuickPress,,Administration,3.0,lowest,trivial,Future Release,enhancement,new,has-patch,2010-04-08T08:03:32Z,2013-01-22T15:57:58Z,"When you publish a new post via QuickPress, it'd be cool for the Right Now box to then ++ the number of published posts.

Quick proof of concept patch attached.",nacin
9777,"Usability : add delete button to ""edit category"" menu",,Administration,2.7.1,normal,minor,Future Release,enhancement,new,has-patch,2009-05-09T22:56:39Z,2012-05-22T16:56:47Z,"Add ""delete"" button to ""edit category"" menu so i can delete the category and not only edit it. this is a very useful feature that is missing in this menu.

'''LOCATION:'''

Admin -> Posts -> Categories -> Edit Category

'''URL:'''

http://www.site.org/wp-admin/categories.php?action=edit&cat_ID=302
",ramiy
23601,Use ACE Code Editor for Theme and Plugin editors,,Administration,,normal,normal,Awaiting Review,enhancement,new,has-patch,2013-02-25T06:56:00Z,2013-03-21T21:33:49Z,"Ace is an embeddable code editor written in JavaScript. It's the code editor used on GitHub and is actively developed by Mozilla. Its license is Modified BSD which is compatible with GPL. 

The plugin and theme editors in their current state are lame. Upgrading the experience with ACE could lead to a more robust file editing solution in the admin. Perhaps, ability to add files?

Here's the link to the project:
http://ace.ajax.org/",wonderboymusic
23731,Use jQuery Menu Aim to improve responsiveness of our admin menus,,Administration,,normal,normal,Awaiting Review,enhancement,new,,2013-03-09T16:00:11Z,2013-03-15T21:01:34Z,"This is a fantastic read: http://bjk5.com/post/44698559168/breaking-down-amazons-mega-dropdown

And it resulted in an MIT-licensed jQuery plugin that we should absolutely consider using to improve our menus: https://github.com/kamens/jQuery-menu-aim",markjaquith
21622,Validate or sandbox file edits before saving them,,Administration,2.7.1,normal,minor,Awaiting Review,enhancement,new,,2012-08-17T20:50:45Z,2012-09-24T23:20:03Z,"While using the [http://www.wpzoom.com/themes/academica/ academica] theme, I accidentally missed an ending bracket while editing functions/wpzoom-seo.php in the theme editor. This is used as part of a set of pages creating a theme options page on the dashboard. When the function went bad, it caused my entire installation to be unaccessible.

It was necesssary to ftp to fix the error, because even the dashboard was blanked out by a fatal error. Messing something up in the theme should not cut off access to the dashboard.",eschwartz93
22466,Want to View Pending Comments From Dashboard,,Administration,,normal,normal,Awaiting Review,enhancement,new,,2012-11-15T18:49:39Z,2012-11-19T16:25:06Z,"This is a very awkward aspect of WordPress that I'm just attempting to articulate for the first time:  In the Recent Comments dashboard widget, there is no way to view fully the pending comments.

What it should link to:

* View Comment
* View Post
* Approve Comment
* Edit Comment
* Spam Comment
* Trash Comment

What it does instead:

* Visitor's site or e-mail address
* Edit Related Post
* View Related Post
* Reply to Comment
* Approve Comment
* Edit Comment
* Spam Comment
* Trash Comment

So there are several obvious points of confusion here.

Why would I want to reply to a comment that is pending approval, still hidden, and not even fully displayed to me?

Why can't I see the whole comment?  It only shows me an excerpt here, and in order to actually read the comment I have to click over to Comments on the admin menu and find what I'm looking for manually.

Why does the most prominent link for the comment take me to the post editing screen?  When is this ever useful?

Why is the post link displayed as a tiny little ""#""?",miqrogroove
21189,We should improve the nonce failure page,,Administration,,normal,normal,Awaiting Review,enhancement,new,,2012-07-08T09:07:17Z,2012-07-08T13:14:00Z,"Currently when a admin nonce expires, in most cases we catch this condition using `check_admin_referer()` which presents expired nonces with a rather ugly uninformative error message:
[[Image(http://f.cl.ly/items/26271g453h2y0K393Y1l/Screen%20Shot%202012-07-06%20at%2012.14.25%20PM.png)]]

I'd like to propose that we make this page a bit nicer to end users - who although are unlikely to hit it (I hope) it'd be nice to let them know what's actually happened.

My initial approach would be to change the page to 
- Include a !WordPress logo, and a link back to the Admin area
- Change the message to something like ""The link you've followed has now expired, In order to complete the action you were performing, please return to the previous page, refresh it, and attempt to follow the link again."".
- In the case where this is happening within the !WordPress admin, it would make sense to have some kind of UI on the page as well - This can currently be done by not using `check_admin_referer()` and using `wp_verify_nonce()` directly and redirecting to an error page.

The current message could often cause confusion, as of course the user wants to do it (They just followed a link!) but as there's no continue button, they're left confused.",dd32
16856,"When registering custom post type, menu_position isn't honored if it's a number passed as a string",,Administration,3.1,normal,normal,Future Release,enhancement,new,has-patch,2011-03-14T16:52:18Z,2013-03-31T02:52:15Z,"When registering a custom post type, if you use '50' instead of just 50, is_int() will fail and the position will be set to ++$_wp_last_object_menu. Seems safer to use isset() instead, since position doesn't technically need to be an integer. ($menu gets sorted before being output, and '50' is the same as 50 in that case)

This has the added benefit of allowing MANY more spaces in the $menu variable. For instance, if you passed '50.555' as menu_position, there's very little chance that this will conflict with another theme/plugin register a custom menu or custom post type, and will successfully go between 50 and 51 in the $menu array.

There are currently no checks on $position when using add_menu_page() ... but the checks on register_post_type() currently make this an invalid universal solution.

Personally, I don't see a downside to letting menu_position be a string. Anything other than a number (whole or decimal) will just go to the bottom of the $menu array, anyway, after the sort.

I'm submitting two patches ... one is type independent, and the other casts menu_position as (int) after the isset() check.",nathanrice
24252,Windows Phones are ignored by wp_is_mobile,,Administration,,normal,normal,Awaiting Review,enhancement,new,has-patch,2013-05-02T21:49:13Z,2013-05-07T18:46:30Z,"Reported in the forums by vaibhav3 - http://wordpress.org/support/topic/wp_is_mobile-returning-false-values/

wp_is_mobile() doesn't have an 'If Windows Phone' clause which throws off some phones which apparently don't have a 'mobile' fall back.

Attached is a patch that adds it in.",Ipstenu
17851,Wrapping Sections with add_settings_section,,Administration,3.1.3,normal,normal,Future Release,enhancement,reopened,has-patch,2011-06-20T03:09:34Z,2011-09-28T18:09:53Z,"This is my first time reporting, so excuse my ignorance. I just wanted to see about enhancing the add_settings_section function.

As of now, individual sections are not wrapper in any sort of container, which makes no sense to semantic sense to me. Sections should/need to be styled differently, but as of now, you really don't have much control of that.

I propose something similar to the register_sidebar function, looking like this:

add_settings_section( $id, $title, $callback, $page, $args )

$args would accept 3 parameters: before_section, after_section, and section_class.

This way you can style each individual section with relative ease. Just a thought and enhancement to the Settings API.

Thomas",griffinjt
23501,add filter for post count query in WP_Posts_List_Table,,Administration,3.5,normal,normal,Awaiting Review,enhancement,new,,2013-02-18T14:02:40Z,2013-02-18T19:09:48Z,"I've a custom post type ""products"" with a custom taxonomy ""manufacturers""
I've hooked the parse_query filter when fired from edit.php because I've wanted to show posts based on current user criteria (user can edit only products belong to specific manufacturers).
Everything worked as expected, except for the post count in the table header that shows total amount of posts (not a filtered count).
Digging into the code I've found that inside WP_Posts_List_Table constructor ([http://core.trac.wordpress.org/browser/trunk/wp-admin/includes/class-wp-posts-list-table.php#L59])the following code is performed:

{{{
$this->user_posts_count = $wpdb->get_var( $wpdb->prepare( ""
				SELECT COUNT( 1 ) FROM $wpdb->posts
				WHERE post_type = %s AND post_status NOT IN ( 'trash', 'auto-draft' )
				AND post_author = %d
			"", $post_type, get_current_user_id() ) );
}}}

I think that the simplest solution is to add a filter for the count query. By this way is possibile to customize the query that reflects the effective post count.",cardy_Web
23856,add style for <hr> tag in the Dashboard,,Administration,,normal,trivial,Awaiting Review,enhancement,new,,2013-03-24T17:07:21Z,2013-03-29T05:21:03Z,"Lines are with black color, 
Lines are important to separate something in a widget for example.
or in a metabox... 

{{{
	border: 0; 
	border-top: 1px solid #DFDFDF;
	border-bottom: 1px solid white;	
}}}
",alexvorn2
12506,admin-color-scheme.css already loaded on wp-login.php. why?,,Administration,2.9.2,low,minor,Future Release,enhancement,reviewing,has-patch,2010-03-03T21:55:21Z,2012-07-03T20:55:11Z,"On wp-login.php we are already on admin, because wp is loading the whole color-scheme for a user... which is wrong. It is senseless, because the color-scheme the user selected for admin cannot be loaded without his user-data. And that is not possible as long as he/she didn't enter any login-data.

REQUEST: get the ~30kB color scheme out of the wp-login.php and add the following to wp-admin/css/login.css:


{{{
body.login {
    border-top-color:#464646;
}
body, #wpbody, .form-table .pre {
    color:#333333;
}
a, /* All obsolete on wp-login.php - could here simply be h1 a */
#adminmenu a,
#poststuff #edButtonPreview,
#poststuff #edButtonHTML,
#the-comment-list p.comment-author strong a,
#media-upload a.del-link,
#media-items a.delete,
.plugins a.delete,
.ui-tabs-nav a {
    color:#21759B;
}
.submit {
    border-color:#DFDFDF;
}
textarea, /* All obsolete - could be #login #wp-submit */
input[type=""text""],
input[type=""password""],
input[type=""file""],
input[type=""button""],
input[type=""submit""],
input[type=""reset""],
select {
    background-color:#FFFFFF;
    border-color:#DFDFDF; /* Obsolete due to .submit-class above */
}
input.button-primary, button.button-primary, a.button-primary {
    -moz-background-clip:border;
    -moz-background-inline-policy:continuous;
    -moz-background-origin:padding;
    background:#21759B url(../images/button-grad.png) repeat-x scroll left top;
    border-color:#298CBA;
    color:#FFFFFF;
    font-weight:bold;
    text-shadow:0 -1px 0 rgba(0, 0, 0, 0.3);
}
.submit {
    border-color:#DFDFDF;
}
.login #nav a {
    color:#21759B !important;
}
.login #backtoblog a {
    color:#CCCCCC;
}
}}}
",F J Kaiser
19828,allowing to insert help tab in specific position,,Administration,3.3.1,normal,normal,Awaiting Review,enhancement,new,has-patch,2012-01-13T21:50:15Z,2012-03-01T17:22:32Z,"this enhancement of add_help_tab() would allow plugin developers to insert help tabs on existing screens at an arbitrary position, e.g. place it on the ""Writing Settings"" screen's help tab between the ""Overview"" and ""Press This"" tabs

the patch attached includes the bugfix from #19827, but this enhancement can be rewritten to work independently",tfnab
21539,category_description filter not applied to Description field on Categories page,,Administration,3.4.1,normal,minor,Awaiting Review,enhancement,new,has-patch,2012-08-10T13:53:03Z,2012-08-12T17:31:42Z,"The category_description filter is not applied to the Description field on the Posts > Categories page (wp-admin/edit-tags.php?taxonomy=category).

Need: I use very long category descriptions, which are displayed on the front end of the site. This means that the Posts > Categories page is blown out by the long descriptions. I wrote a plugin to filter the category_description to limit it's length in the admin area. However, I then discovered that the filter is not applied on this page.

I'm wondering if there is some reason this was left out by design, but I can't see any reason why the filter should not be applied at this point. If I've missed something, please let me know.

It is easy to fix - simply apply the category_description filter to the description field in column_description() in wp-admin/includes/class-wp-terms-list-table.php

I have applied this on my local install. Now I just need to work out how to create a patch and submit it for review (this is my first attempt).

Note: It may be sensible to limit the length of the category description displayed on this page, but that's outside the scope of this ticket, which is just about the filter not being applied.",StephenCronin
17520,cite element used incorrectly,,Administration,,low,trivial,Future Release,enhancement,new,has-patch,2011-05-20T17:47:14Z,2011-10-18T21:16:34Z,"Here's what the HTML5 specification says about the cite element:
  The cite element represents the title of a work (e.g. a book, a paper, an essay, a poem, a score, a song, a script, a film, a TV show, a game, a sculpture, a painting, a theatre production, a play, an opera, a musical, an exhibition, a legal case report, etc). […]
  
  A person's name is not the title of a work — even if people call that person a piece of work — and the element must therefore not be used to mark up people's names. (In some cases, the b element might be appropriate for names; e.g. in a gossip article where the names of famous people are keywords rendered with a different style to draw attention to them. In other cases, if an element is really needed, the span element can be used.)

http://www.whatwg.org/specs/web-apps/current-work/multipage/text-level-semantics.html#the-cite-element

The element is used plugins/hello.php correctly to mark up the title ""Hello, Dolly"". But many more places it is used incorrectly to mark up an author's name.

The obvious fix would be to replace all but the one correct instance of the cite element with spans with an appropriate class.",holizz
11705,get_media_item()'s $form_fields do not allow for <select>,,Administration,3.0,normal,normal,Future Release,enhancement,new,has-patch,2010-01-03T21:48:51Z,2010-02-18T12:19:45Z,"get_media_item() of wp-admin/includes/media.php does not allow for <select>-style fields. This makes extending the ""Edit Media"" screen via the ""attachment_field_to_edit"" filter difficult for plugin authors to extend.",johnl1479
22590,get_post_class() do not set 'sticky' class in administration posts table,,Administration,3.4.2,normal,minor,Awaiting Review,enhancement,new,has-patch,2012-11-26T09:31:54Z,2012-12-21T19:30:40Z,"get_post_class() does set a 'sticky' class to sticky post on the frontend but not in the administration. So, there's no way to differentiate a sticky post from another non-sticky post excepted the span element to its right.

Adding something similar to this fix the problem:
{{{
	// sticky for Sticky Posts in administration
	if ( is_sticky($post->ID) && is_admin() )
		$classes[] = 'post-sticky';
}}}",corsonr
18850,hidden admin page,,Administration,,normal,normal,Awaiting Review,enhancement,new,,2011-10-03T21:43:12Z,2012-07-30T16:22:40Z,"it should be possible to create a hidden admin page.

this is useful for pages, that require parameters which are better inserted in other pages (e. g. using the post_row_actions filter).

if this is already possible, it should be documented somewhere where it might be found.

(btw: i'm not sure, what the difference between feature request and enhancement is. please redeclare as fit)",ibotty
23785,highlight rows on hover for tables with widefat class,,Administration,3.5,normal,minor,Awaiting Review,enhancement,new,,2013-03-15T10:57:06Z,2013-04-02T20:58:26Z,"If .widefat tables had this css code system-wide (wp-admin.css)

{{{
.widefat tr:hover td {
      background-color: #DDD;
}
}}}

handling these tables on (extreme) widescreens would be improved.

[[Image(http://picload.org/image/aocipap/widefat.jpg)]]",cfoellmann
17642,hook for category edit needed,cardy_web,Administration,3.1.2,normal,normal,Awaiting Review,enhancement,new,dev-feedback,2011-06-01T16:44:50Z,2011-06-01T16:44:50Z,"I think is needed an hook inside admin-ajax.php (line 1226) case 'inline-save-tax'
When you use ""quick edit mode"" to edit category no hooks get involved so function hooked into {action}_category are never called.
Instead everything work well using classic edit mode",cardy_web
18786,meta_form() should place some restrictions on meta keys,,Administration,,normal,normal,Future Release,enhancement,new,dev-feedback,2011-09-26T22:37:58Z,2013-04-22T21:12:23Z,"meta_form() echoes out all meta keys into a dropdown for the custom fields box, unless they start with an underscore (as bound by the query).

We should consider is_protected_meta( $key, 'post' ) and/or current_user_can( 'add_post_meta', $post->ID, $key ). This isn't a security thing, just an opportunity to hide some things from the user they don't need to see.

On the other hand, it's definitely a number of extra calculations. is_protected_meta() is light as long as there's no filter on things (and if there is, we probably want to know). current_user_can() might be a bit more weight than necessary here.",nacin
7422,"pass $post_id to filters in sanitize_post_field() on post updates - same for users, etc.",,Administration,,normal,normal,Future Release,enhancement,new,has-patch,2008-07-28T21:18:05Z,2010-07-15T12:17:01Z,"the function sanitize_post_field in wp-includes/post.php calls most of the ""database writes"" post filters (e.g. content_save_pre). if a post is updated or created, the function is called in a database context ('db' == $context) and the $post_id argument is not passed to the ""database writes"" filters. while i understand this behavior on post creation ($post_id not yet available) it seems to me that on a post update the $post_id is readily available and could/should be passed to the filters as well.

an example where this would be useful is a case where i want to access a custom field value of a post that is currently being updated from the function hooked into content_save_pre. in its current form without the $post_id argument this doesn't seem to be possible.",whoismanu
18710,post_deleted_messages filter,nacin*,Administration,,normal,normal,Future Release,enhancement,accepted,has-patch,2011-09-19T21:19:21Z,2012-06-11T13:05:21Z,It would be nice to be able to updated post deleted messages like you can through the post_updated_messages filter.,jgadbois
16283,post_exists() enhancement - don't include revisions,,Administration,3.1,normal,normal,Awaiting Review,enhancement,new,dev-feedback,2011-01-18T13:33:51Z,2011-07-17T02:04:03Z,"The current post_exists() function to me has a major downside.  By default all it does it search for title, content and/or date in the wp_posts table.

The problem with this is that it includes revisions.  So for example if you have a post with title ""ABC"" but then later change it to ""DEF"", post_exists(""ABC"") will still return true with the post ID of the revision.

I would suggest either:

 a) Adding post_status not equal ""inherit"" as a default to the function.

 b) Adding a 4th parameter which allows you to pass the post_status value in.

I would be happy to code this if anyone has any feedback on what would be the best approach.",durin
18851,search form in edit.php should keep parameters it does not understand,,Administration,,normal,normal,Awaiting Review,enhancement,new,,2011-10-03T21:48:17Z,2011-11-15T11:29:40Z,"the component is class-wp-list-table.php.

if you carry along some kind of status in the url in the post list (e.g. url=https://example.com/wp-admin/edit.php?post_type=post&my_status=""abcdefg"") the search field should not remove the parameter.",ibotty
16778,wordpress is leaking user/blog information during wp_version_check(),,Administration,,normal,minor,Awaiting Review,enhancement,reopened,has-patch,2011-03-06T18:57:43Z,2012-09-04T11:06:26Z,"Hi,
we've noticed that wordpress will send how many users and blogs are in a given installation during the GET to api.wordpress.org together with the installation URL in the headers.

Is there any reason why this is done? It seems quite a leak of information. Can it be turned into an option defaulting to off and admins can opt-in if they want to report how many users/blogs are currently there?

thanks.

PS. slightly related, WP will also leak which blog in MU mode is requesting any URL via the user-agent in the WP_Http class (for example while updating the news feed on the dashboard)",investici
14561,wp-admin/edit.php tags of post are hard to compare,,Administration,,normal,normal,Future Release,enhancement,new,,2010-08-08T08:25:02Z,2010-11-18T10:13:25Z,"To get an overview about tags used between articles on the post listing in the admin is hard to achieve by the user because they appear not to be ordered.

A solution could be to sort them alphabetically. That done, it's easier for the user to compare the usage of tag distribution accross the listing.",hakre
18287,wp-login.php - Logo URL should be relative (affects MultiSite),,Administration,3.2.1,normal,normal,Future Release,enhancement,new,has-patch,2011-07-29T00:31:49Z,2013-05-05T04:50:28Z,"If you go to your domain.com/wp-login.php page it has a WP logo that links back to domain.com

If you're using multisite and go to subsite.domain.com/wp-login.php, it links back to domain.com

If you're using multisite and you MAP a domain and go to mappeddomain.com/wp-login.php, it links back to domain.com

I can see why this would have been done.  It points to network_home_url() which is perfectly sensible for MOST situations.  But maybe we should just honor the site on which people are trying to login, so that it's all relative.  Given the link on the bottom (back to...) goes to the relative site, this is a logical change.  I would say to keep the EMAILS for password resets as is, since the network is in charge of it all, but the front end interface should be consistant.

I did a quick test and this works fine on Single and Multi (as expected). So ... here's my first diff!",Ipstenu
15384,wp-login.php refactor,,Administration,,normal,normal,Future Release,enhancement,new,early,2010-11-11T12:40:35Z,2012-05-31T21:40:02Z,"wp-login.php needs some serious work. When looking to do some improvements in #5919, I realized I literally needed a goto in order to achieve the goals outlined in this comment:

http://core.trac.wordpress.org/ticket/5919#comment:39

I am thinking a WP_Login class with some methods that can handle various different forms, POST handling, and rerouting.",nacin
17517,wpLink should show tags and categories as results too,,Administration,3.2,normal,normal,Awaiting Review,enhancement,new,,2011-05-19T19:38:36Z,2011-05-21T12:06:36Z,"sometimes you make a series of blogpostings about a topic with one unique tag. 

wpLink (the link assistant in wp 3.1) is very useful for finding ""old"" content, but when you want to link a tag or category you have to type in the url yourself or paste it

Possible solution:

Tabbed interface:
Tab 1 for Posts/pages
Tab 2 Tags/categories",hebbet
22237,Add a keyboard shortcut for collapse/expand in the customizer,,Appearance,,normal,normal,Awaiting Review,enhancement,new,close,2012-10-21T02:59:31Z,2012-10-24T17:33:30Z,Can we add a keyboard shortcut to the customizer for collapsing/expanding the left panel?,designsimply
22231,Add action to provide additional options to the Custom Background page,,Appearance,3.4,normal,trivial,Awaiting Review,enhancement,new,has-patch,2012-10-19T23:27:02Z,2012-10-20T15:12:29Z,"The Custom Header feature of WordPress has an action to allow additional options to be attached to the Custom Header admin page. This patch allows the same functionality to be done for the Custom Background page.

'''Use case:''' I want to provide an option to allow the custom background image set to be responsive. If checked, the background image URL will be localized for use via the anystretch.js.",thelukemcdonald
21792,Add link to settings.general from appearance.header,,Appearance,,normal,normal,Awaiting Review,enhancement,new,,2012-09-04T19:38:50Z,2012-09-04T19:40:36Z,"Multiple users that we've tested have ended up on appearance->header when asked to change their ""site title"".  It seems logical.  Should we add a link there?",lessbloat
23890,Add slideUP/slideDown transitions to the menus accordion,,Appearance,trunk,normal,normal,3.6,enhancement,new,has-patch,2013-03-29T07:54:01Z,2013-05-07T22:45:57Z,"We talked about this early in the cycle in #23119 and other places, but it would be nice to not make switching between accordion sections so jarring. 

A slideUP/slideDown transition similar to how we're handling post formats in #19570 would be a nice UX addition.",DrewAPicture
22348,Add support for custom background default images,,Appearance,3.4.2,normal,normal,Awaiting Review,enhancement,new,,2012-11-02T19:25:12Z,2012-11-02T19:25:12Z,"When specifying custom header default images for a theme, I always forget that you can't do the same for custom backgrounds.

It would be highly desirable to be able to set default background images, just as you can with custom headers.",dgwyer
23509,Conditional function that lets you know if your site is being viewed through the Customizer,,Appearance,,normal,normal,Awaiting Review,enhancement,new,dev-feedback,2013-02-19T01:41:24Z,2013-04-22T22:10:51Z,"I can provide a use case if necessary, but this should be relatively simple.

If I need to do something special with my theme when my site is being viewed through the customizer, there's no easy way determine if it is.

A simple `is_customizer()` (or similar) function would be incredibly useful in this scenario.

I'd write up a patch, but I don't know where to put the new function.",nathanrice
17800,Custom Header bug with deleted images,,Appearance,3.2,normal,normal,Awaiting Review,enhancement,new,,2011-06-14T12:43:15Z,2012-12-03T12:08:03Z,"I'm not a tech.
I've added images to Twenty Eleven header.
I wrong and I've deleted few images directly using ftp now you can see in the image that the header has the markers of the images without the images.

",pivari
22058,Custom background vertical position,,Appearance,3.4.2,normal,normal,Awaiting Review,enhancement,new,dev-feedback,2012-09-30T16:30:29Z,2013-04-25T01:20:25Z,"For the the custom background display options there is only left, centre and right position. The top and bottom position is missing.",grapplerulrich
22880,Customize Themes without activation,,Appearance,,normal,normal,Awaiting Review,enhancement,new,,2012-12-12T11:34:51Z,2012-12-12T11:38:58Z,"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
21059,Customizer color picker has no remove button,,Appearance,3.4,normal,normal,Awaiting Review,enhancement,new,,2012-06-24T11:34:12Z,2013-04-11T10:23:37Z,There is no remove button for color picker in the customizer. It would be great if we could remove the color or set it to the default if we don't need the color.,kcssm
22834,Live Preview should map sidebars as done on activation,,Appearance,3.4,normal,normal,Awaiting Review,enhancement,new,,2012-12-09T12:51:00Z,2012-12-13T12:07:31Z,"'''Problem:''' 

Sidebar disappears in the live preview after theme deactivated.

'''Reproduce:'''

Fresh install of the WordPress trac:
1. Activate Twenty Ten theme
2. Click the Live Preview of Twenty Twelve
3. No sidebar in the preview

Bug 100%",alexvorn2
22182,Make core theme customizer section titles filterable,,Appearance,3.4.2,normal,normal,Awaiting Review,enhancement,new,has-patch,2012-10-13T11:45:13Z,2013-04-19T17:11:01Z,"It would be very useful to be able to modify core theme customizer section titles by making them filterable, or by adding a setter class method to modify an existing section title.

At the moment you can't access a section title directly as it is set to protected.

Example user case scenario is if you needed to add sub controls to an existing section, then the title may need updating to reflect this.",dgwyer
21483,Theme Customizer: Use any image from media library for background image,,Appearance,3.4.1,normal,normal,Awaiting Review,enhancement,new,,2012-08-05T22:42:31Z,2013-04-11T10:28:09Z,"I suggest that users be able to use any image in the media library as a background image from the customizer. At this time, if a user changes the theme background from the customizer, he/she must upload the image. This is already available from the dashboard, under Appearance > Background - it gives the option ""Or choose an image from your media library:"" I suggest that this option available on the dashboard also be available on the customizer. A similar option should be available for header images.",jjonesftw
19915,Add unit tests for AtomPub API,rmccue,AtomPub,,normal,normal,Awaiting Review,enhancement,new,,2012-01-28T16:25:15Z,2012-09-17T05:52:57Z,"Apologies if this is a duplicate, I couldn't find any.

The AtomPub API is hideously under-tested. Since it's a part of WordPress that doesn't get touched often, it's also one of the most crucial components that needs testing.

I'm working on [https://github.com/rmccue/Gorilla a test runner called Gorilla], which is designed as a replacement for the APE (Atom Protocol Exerciser). This will have a port of all the APE unit tests to PHP, and I'm also going to start writing some new ones for all the new APIs that are being added in #18430, #18431, #18432 and #18433.

These are specifically designed to be able to be independent of Gorilla, so that it will be easy to bring into a normal PHPUnit test suite, and hopefully will be able to run as part of the normal WordPress unit test suite. (Although they'll still need some components of Gorilla to work)

(This is filed under Unit Tests, but AtomPub might be a better component)",rmccue
7301,AtomPub interface should accept new categories provided by clients,josephscott,AtomPub,2.6,normal,normal,WordPress.org,enhancement,reopened,,2008-07-15T04:54:22Z,2012-10-31T16:25:19Z,"The AtomPub interface successfully exposes access to the existing categories of a particular blog, via the URL:

http://[myblog]/wp-app.php/categories

But the category listing is identified as ""fixed"", and this pans out. When a  client attempts to provide a category term with a name that has not been seen before, the interface just ignores it.

It would be a nice enhancement to change the category collection to an editable one, and support provision of arbitrary new category names on supplied posts to the wp-app interface.

As it is now, there is no way to add categories via the AtomPub interface.


",redsweater
9513,Wordpress should allow input of XHTML/HTML via Atompub,josephscott,AtomPub,,normal,normal,Future Release,enhancement,new,,2009-04-11T23:38:51Z,2011-03-14T09:50:06Z,"One of the intended purposes of Atom standard was to allow better way of including XHTML in the feed than with “escaping it” (see this [http://www.xml.com/pub/a/2003/08/20/embedded.html article by Norman Walsh in xml.com] with followup at [http://norman.walsh.name/2003/06/30/hardline 1], [http://norman.walsh.name/2003/09/18/unescmarkup 2], and [http://norman.walsh.name/2003/09/16/escmarkup 3], there is also [http://www.intertwingly.net/blog/1571.html an interesting discussion under this blogpost] and [http://www.tbray.org/ongoing/When/200x/2003/06/28/Learning Tim Bray’s essay on the same theme]) Even though even [http://norman.walsh.name/2003/09/16/escmarkup#comment0006 Norm agrees that he lost this fight], at least Atom provides ''opportunity'' for conscious authors to use namespaced XML properly.

Now, of course, the problem is that all this beauty is not supported by any known-to-me Atompub-accepting blog server. Particularly when this perfectly valid Atom 1.0 feed (take a look at [http://validator.w3.org/feed/#validate_by_input validator] if you don’t believe me):

{{{
<?xml version=""1.0"" encoding=""utf-8""?>
<atom:feed xmlns:atom=""http://www.w3.org/2005/Atom"" xmlns:dc=""http://purl.org/dc/elements/1.1/"" xml:lang=""en"">
  <atom:title>Late Night Thoughts on Listening to Mahler’s Ninth Symphony</atom:title>
  <atom:updated>2009-04-08T00:13:32+02:00</atom:updated>
  <atom:link rel=""alternate"" type=""text/html"" href=""http://matejcepltest.wordpress.com/""/>
  <atom:link rel=""self"" type=""application/atom+xml"" href=""http://matejcepltest.wordpress.com/feed/""/>
  <atom:author>
    <atom:name>Matěj Cepl</atom:name>
    <atom:email>ceplm@seznam.cz</atom:email>
  </atom:author>
  <atom:id>http://matejcepltest.wordpress.com/</atom:id>
  <atom:rights>Copyright 2007 Matej Cepl</atom:rights>
  <atom:entry>
    <atom:title>John 3:17 or The Golden Middle Ground Between Grace and Sanctification?</atom:title>
    <atom:link rel=""alternate"" type=""text/html"" href=""$url""/>
    <atom:id>urn:mc:ceplovi.cz:atom1:blog:jan-3_17-2008-07-10</atom:id>
    <atom:updated>2008-07-13T00:00:00+02:00</atom:updated>
    <dc:subject>John 3:17 or The Golden Middle Ground Between Grace and Sanctification?</dc:subject>
    <atom:content type=""xhtml"" xml:lang=""en"">
      <div xmlns=""http://www.w3.org/1999/xhtml"">
        <p>There is a couple of things, which make for me sense together
  	(and I am not sure, of course, whether they will make sense to you
  	as well), and which I would like to record here.</p>
        <p>“<span class=""scripture"">For God sent not his
  	Son into the world to condemn the world; but that the world
  	through him might be saved.</span>” (J. 3:17)  In some aspects and for some
  	people (like me) and in certain moments, this is even more important
  	than the previous verse, and yet it is quite rarely mentioned in the
  	Church. Maybe because it so clear, that nobody gets much fame to explain
  	(and there is not much to explain here?). For all of us, who live with
  	the idea of God-policeman, following our doings to punish severely any
  	small misstep, this is the good news.</p>
        <p>There is quite certainly something significantly wrong about preaching,
  	that we always quote only  (John 3:16)  and
  	we don’t continue one verse further. As if we are still more interested in what’s
  	there in gospel for me, and we don’t understand, that we are not the central figures
  	in whole Bible. Not that there wouldn’t be anything there for us, but … that’s another long
  	discussion I would like to have with Dave.</p>
      </div>
    </atom:content>
  </atom:entry>
</atom:feed>
}}}

is sent to Wordpress.com I get [http://matejcepltest.wordpress.com/2009/04/08/john-317-or-the-golden-middle-ground-between-grace-and-sanctification/ rather disasterous result].

According to [http://article.gmane.org/gmane.comp.web.wordpress.devel/27067 Peter Westwood] wordpress treats all content delivered by different modes of remote publishing as the same dummy plain text.

OK, so the request of this ticket (and hopefully place of further discsussion if necessary) is to fix this and make <atom:content type=""xhtml""> considererd and delivered so that wordpress would just accept the nodetree inside of such element as a body of the blogpost without much further changes.

Also #6128 might be caused by this.",mcepl
23665,Create one autosave per user,,Autosave,,normal,normal,3.6,enhancement,new,,2013-03-02T08:19:35Z,2013-04-03T04:37:51Z,"Currently when autosaving drafts we overwrite them, when autosaving published posts, we keep one autosaved revision. This works well as long as there is only one post author.

Having per-user autosaves will affect only sites with many authors/editors. It will avoid overwriting when more than one user edits a post, provide better audit trail, and let us auto save data stored in the browser even if another user is editing at that moment.
",azaozz
22601,Make post content autosave work more generically,,Autosave,,normal,normal,Awaiting Review,enhancement,new,,2012-11-27T04:00:31Z,2012-12-14T23:51:36Z,"The JS for autosave/AYS looks for the contents of `#post #content`. While we should fix the other JS issue related to targeting `#content` in #22600, it seems that autosave/AYS should be looking for the textarea (or whatever type of input) with the name of content instead, since having that data in the form will save to the post content. That way, if somebody does choose to use a different ID but the right input name, the autosave benefits will kick in.

Discovered while working on #22491.",helen
22942,Deprecate Post by Email,,Blog by Email,3.5,normal,normal,Awaiting Review,enhancement,new,dev-feedback,2012-12-14T16:48:46Z,2013-05-01T16:18:38Z,"We said last year that we'd remove the post by email functionality from core as it was better suited for plugins.  The Jetpack plugin has already added this functionality and, honestly, includes better functionality than the core version.

We should move forward with our plans to remove this feature.

I recommend ''deprecating'' it similar to the way the link manager was removed in 3.5.  Essentially:

* New WordPress installations will never see the core feature
* Existing installations that aren't using it won't see it any more
* Existing installations that ''are'' using it will see a notice explaining they should switch to a plugin instead as the feature will be completely removed in the future

Basically, I want the option to go away, but I don't want anyone to start a riot if we remove a tool they're actively using.",ericmann
19984,Issue with Default Post Format,,Blog by Email,3.3.1,normal,major,Awaiting Review,enhancement,new,has-patch,2012-02-07T20:29:41Z,2012-08-24T01:34:27Z,"I set my Default Post Format as Aside. So I expect all my posts via email will appear as Aside, same as Default Post Category does perfectly while post via email. But it is always posting as Standard whenever I post by email. Kindly fix this. Wordpress is Awesome :)",binarymag
14782,"Accessibility: Twenty Ten Theme - links, forms, skip link",,Bundled Theme,,normal,normal,WordPress.org,enhancement,new,,2010-09-04T15:50:01Z,2012-09-27T13:42:46Z,"Starting off with changes to the CSS only.

Links: colors amended where necessary. added underscores and/or color changes for active, hover and focus.

Gallery image links: adjusted things to use margin to center the image rather than padding, to allow for adding highlighting on image links.

Skip link: now appears above the #access menu when tabbing through the page.

Grey text/links: was 888 this just failed the color contrast, so changed it to 777 throughout.

Forms: added highlight for input text and textarea, for active and focus.",elfin
21506,Standard Theme Hooks,,Bundled Theme,,normal,normal,Awaiting Review,enhancement,new,,2012-08-07T02:10:55Z,2013-03-28T22:12:58Z,"During the hack day at WordCamp SF, Konstantin Kovshenin and I sat down to work out a solution to allow for better communication between themes and plugins. We propose that core introduce 4 new hooks into the default WordPress themes allowing plugins to add custom markup relative to common theme elements. While many other theme locations could be recognized, we have only included hooks that we could provide at least three use common use cases for.

header_after: Allows custom markup to be inserted after all visual header elements have rendered. Possible use cases for this hook include:

 * Breadcrumb navigation.
 * Links to social profiles.
 * Advertising.
 * log in/out form.

post_after: Allows custom markup to be inserted after all visual elements have rendered for the current global post object. This hook would fix the issue originally reported in #18561. Possible use cases for this hook include:

 * Sharing links.
 * Related posts.
 * Ratings.
 * Author bio.

comment_after: Allows custom markup to be inserted after all visual elements have rendered for the current global comment object. Possible use cases for this hook include:

 * Upvote/Downvote control.
 * Ratings.
 * Show/hide threads functionality.

footer_after: Allows custom markup to be inserted after all visual elements have rendered for the footer. While this action is similar to {{{wp_footer}}}, it would be possible for the theme author to move this into nested html elements. To my knowledge, {{{wp_footer}}} is intended to fire immediately before the closing {{{body}}} tag. Possible use case for this hook include:

 * Links to social profiles.
 * Advertising.
 * The ""small print"" or copyright information.

If standardized hooks such as these were recognized by core, it would also have a positive effect on child theming. Theme authors would no longer need to override entire files just to introduce an element of two.

We have prepared 3 patches for the default themes to demonstrate placement of these hooks as well as a plugin to demonstrate their usage.",mfields
23184,Twenty Eleven/Twelve: Mismatched lines in GitHub Gists,,Bundled Theme,3.5,lowest,normal,WordPress.org,enhancement,new,close,2013-01-11T19:29:36Z,2013-04-26T14:26:57Z,"GitHub Gists are displayed with the code and line numbers misaligned, due to the difference in font-size and/or line-height of `<pre>` and `<table>` elements. 

Originally reported in [http://wordpress.org/support/topic/gists-look-crazy-with-twenty-twelve this thread] and on wp.com.

Example: http://themebuster.wordpress.net/gist-test/",obenland
24128,Twenty Eleven: add postMessage support for header_textcolor,,Bundled Theme,,normal,normal,Future Release,enhancement,new,has-patch,2013-04-18T17:43:32Z,2013-04-23T16:53:14Z,"Similar to Twenty Twelve and Twenty Thirteen, this would add immediate visual feedback in the Theme Customizer UI when header text is hidden, or its color value changes.",lancewillett
14791,Twenty Ten Theme - Better Link Highlighting,,Bundled Theme,,normal,normal,WordPress.org,enhancement,new,,2010-09-07T10:18:19Z,2012-09-27T13:42:49Z,mainly changing the state of text decoration(underline/none). This aids users that tab through links on a page identify where they are.,elfin
14792,Twenty Ten Theme - gallery changes,,Bundled Theme,,normal,normal,WordPress.org,enhancement,new,,2010-09-07T10:22:33Z,2012-09-27T13:42:52Z,"With reference to #14791 those changes will produce an ugly 10px wide border in red on focus/hover etc. This patch does fix this, at the expensive of top/bottom margins. This therefore may need an additional patch before it can be applied.",elfin
24308,Twenty Thirteen: Add Editor Styles for Post Formats,,Bundled Theme,trunk,normal,normal,3.6,enhancement,new,has-patch,2013-05-10T21:14:36Z,2013-05-20T22:43:21Z,"Since the post formats UI is adding/changing the current post format to the tinyMCE iframe body class, we might as well include the post format styling in the editor. This has several advantages, including additional visual distinction between post formats for Twenty Thirteen users. It also makes it clearer what sort of content is expected in the editor, because you can compare directly to where it appears on the site. For example, the editor expects the quote itself, with or without blockquote tags. By making the editor display just like the output, it becomes obvious that the quote itself is expected here, and that quotation marks are provided.

The average first-time user won’t necessarily know that the different post formats are treated with an array of bold colors in Twenty Thirteen; they may not try publishing or previewing the different post formats, but instead just play with the PF admin UI. By reflecting the theme styling in the editor, they immediately know that the different formats feature different colors (and other minor layout changes), and are therefore more likely to start publishing with the different formats right away.

And, of course, by doing this we’re showing the thousands of default-theme-dissectors how easy it is to do separate styling per-format and encouraging them to as well. For me, it really completes the post formats UI. After all, the point of editor-style.css is to make editing a visually similar experience to the end result.",celloexpressions
24269,Twenty Thirteen: Remove twentythirteen_search_form_format(),,Bundled Theme,trunk,normal,normal,3.6,enhancement,new,has-patch,2013-05-06T11:24:32Z,2013-05-16T17:12:49Z,"Per [comment:ticket:23850:19], we can replace `twentythirteen_search_form_format()` with an `add_theme_support()` call once the latest patch is committed.",SergeyBiryukov
23834,Twenty Thirteen: add visual Indicator for menu items with children,,Bundled Theme,trunk,normal,normal,Future Release,enhancement,new,,2013-03-21T04:07:43Z,2013-03-21T23:38:44Z,"It's helpful to have a visual indicator when a top level menu item contains a hidden drop down menu.

This patch adds a filter to wp_nav_menu_objects in order to add the class ""has-children"" to top level menu items that contain children.  This allows us to style it with psuedo element, similar to how the menu-toggle is styled for smaller screens.

The filter I used was posted by @chipbennet on the WordPress Theme Reviewers List. The same functionality could also be achieved by a Custom Nav Walker (see http://wptheming.com/2013/03/drop-down-menu-indicator/), but Chip's solution seemed more straightforward.

Neither method works unless a menu has actually been set.

",downstairsdev
23662,Twenty Twelve: style.css with Table of Contents,,Bundled Theme,3.5,normal,normal,Future Release,enhancement,reopened,has-patch,2013-03-02T00:44:33Z,2013-03-15T18:08:49Z,"Hello, I really like the 2013 initiative with Table of Contents, because it helps new users understand where goes what, especially developing child themes.

I added Table of Contents to Twenty Twelve theme and renamed CSS comments titles accordingly.",TomasM
15385,Use get_template_part() for post formats in Twenty Ten,,Bundled Theme,,normal,normal,WordPress.org,enhancement,new,,2010-11-11T13:36:47Z,2013-02-19T04:25:57Z,"Let's encourage some standardization in themes by giving Twenty Ten the following:
{{{
get_template_part( 'post-format', 'aside' );
get_template_part( 'post-format', 'gallery' );
}}}
We'll leave the default in loop.php, I'm thinking, though we could also use post-format-default.

I'm going to comment on #14746 that I think, if post formats are supported, then 'default' should always be supported and should be enforced as the default, even if nothing is stored yet for that post.",nacin
21330,Allow filtering of expiration in set_transient(),,Cache,,normal,normal,Awaiting Review,enhancement,new,dev-feedback,2012-07-20T20:51:23Z,2012-09-17T18:32:01Z,"I recently needed to change an expiration of a transient and expected pre_set_site_transient_* filter to be able to do that. However, the filter only affects the value. I recommend adjusting this to affect both.",wpsmith
22176,Cache the results of the posts_request_ids query,,Cache,3.4.2,normal,normal,Future Release,enhancement,new,,2012-10-12T14:59:37Z,2013-01-10T00:11:47Z,"We are to the point where we could replace the advanced post cache plugin with something in core that is far simpler. We're most of the way there since introducing the split query. And with #22024 we have a good way of doing per-blog cache invalidation for classes of objects, which would be needed by this. Leveraging wp_cache_get_multi() as suggested in #22174 would provide a complete replacement for the adv post cache plugin.  http://plugins.svn.wordpress.org/advanced-caching/trunk/advanced-caching.php",ryan
19564,Helper function for getting/setting cache data,,Cache,3.3,normal,normal,Awaiting Review,enhancement,new,has-patch,2011-12-15T15:02:09Z,2011-12-15T16:00:55Z,"Most of the time when we want something from the object cache we go through a routine of: wp_cache_get(); checking a result; setting a default; setting the cache with wp_cache_set(); returning. Core should offer a neat way to do this all in one fell-swoop.

Attached patch is a proposed solution.",johnjamesjacoby
21412,Hookable dropins,,Cache,,normal,normal,Awaiting Review,enhancement,new,dev-feedback,2012-07-29T03:59:34Z,2012-07-30T22:12:02Z,"This ticket is the result of a discussion on the wp-hackers list where I proposed the idea in [http://lists.automattic.com/pipermail/wp-hackers/2012-July/043772.html this message]. 

Currently for dropins there can be only one[1] per install which means that, especially for `advanced-cache.php` where multiple plugins cannot easily:

- Cache different mime types with different plugins
- Provide basic functionality and leave the complexity to other plugins because hooks are not available ''(this is likely needed for a good page caching API to ever emerge from the work of plugins.)''

For caching this results in plugins like WP Super Cache and WP Total Cache that significantly violate a sancrosact WordPress philosophy of ''""[http://wordpress.org/about/philosophy/#decisions Decisions, not Options]''"". To see what I mean, just visit the settings page for either of these plugins.  ''(Note: I'm not criticizing the plugins or their developers, instead saying that WordPress doesn't give them much of a choice.)''

It turns out however that fixing this is really lightweight and easy, at least for `advanced-cache.php`. I will attach the following files but here is the short list of changes to core required:

- Move the hooks-related function out of `/wp-includes/plugin.php` into another file which I called `/wp-includes/hooks.php` and include `/wp-includes/hooks.php` in `/wp-settings.php` close to the top after `/wp-includes/versions.php` is included.
- Include another new file `/wp-includes/dropsin.php` in `/wp-settings.php` after `/wp-includes/hooks.php` which contains a `wp_load_dropins()` function that `include()`s all `.php` files found in `/wp-includes/dropins/`.  
- Lastly add the following two (2) lines before `advanced-cache.php` is included:

{{{
// Load any potential dropins found /wp-content/dropins/
wp_load_dropins();

// Run the hook-based page cache.
do_action( 'page_cache' );
}}}

With this future caching plugins can implement the page_cache hook by dropping a file into `/wp-content/cache/` instead of  adding an `/wp-content/advanced-cache.php`.  

If this idea is blessed then we could add a deprecation notice for `/wp-content/advanced-cache.php` and also potentially replace (some of) the other dropins with `do_actions( ""{$dropin_hook}"" )`.   


[1] [http://www.urbandictionary.com/define.php?term=%22there%20can%20only%20be%20one%22%20 Gratuitous Highlander reference].",mikeschinkel
19008,Introduce a notoptions cache for site options,,Cache,,normal,normal,Awaiting Review,enhancement,new,,2011-10-19T21:11:47Z,2013-02-19T18:52:05Z,"Following up on #18955.

Adding a 'notoptions' cache for site options would be consistent with normal options.",duck_
20875,Introduce wp_cache_get_multi(),,Cache,,normal,normal,Future Release,enhancement,new,has-patch,2012-06-07T13:56:28Z,2013-04-16T17:12:29Z,"Both options (see #10274) and themes (see #20103) could benefit from a cache backend that implements get_multi(). For options, this means we can use individual keys. For both themes and options, we'd be able to make fast multiple gets.

Both APC and Memcached (but not Memcache) implement multiple-get. A fallback would be looping over get().

Separately, as this would be a new function we use in core, we probably need to start doing some kind of versioning for drop-ins like db.php and object-cache.php.",nacin
21401,Load packaged object cache when advanced-cache.php and object-cache.php don't implement wp_cache_init( ),,Cache,3.0,normal,normal,Future Release,enhancement,new,has-patch,2012-07-28T06:00:11Z,2013-05-14T13:22:25Z,"'''This ticket has 3 purposes:'''

1) introduces {{{wp_using_ext_object_cache()}}} - mimic {{{wp_suspend_cache_invalidation()}}} and disallow direct access to {{{$_wp_using_ext_object_cache}}}, cleans up importing of globals in functions and provides function to modify that global[[BR]][[BR]]
2) load the wp-packaged object cache when {{{object-cache.php}}} doesn't implement {{{wp_cache_init()}}}[[BR]][[BR]]
3) adds file_exists for advanced-cache.php

{{{wp_start_object_cache()}}}, at its core, is on the hunt for {{{wp_cache_init()}}} and then sets the toggle for the external object cache. We only care about the external object cache if it has that function. Rather than throwing a fatal error if their is a missing method, load the default object cache.

If someone installs Memcached properly, then nothing changes - file loads, all is good. If they install a blanks file, the default Object Cache will load. If they install an external object cache without {{{wp_cache_init()}}}, the default cache loads. 

IMO - there is no reason to turn off non-persistent caching or throw a fatal error if the author of a cache plugin sucks or the user made a mistake in moving the files.",wonderboymusic
15565,More context for clean_post_cache(),,Cache,3.1,normal,normal,Future Release,enhancement,new,has-patch,2010-11-24T17:41:07Z,2012-10-17T14:21:18Z,"I'd like more context to be available when the clean_post_cache hook is run.

Scenario: I have a plugin caches the post_IDs of most post queries that go through WP_Query.  Invalidating that cache is done via the clean_post_cache hook, but requires a bunch of fragile hacks to prevent cache invalidation for things like comment inserts, which update the post's comment_count (which could, in theory, affect a WP_Query, but that's another story).

Option 1: Add extra actions to provide context.  This is the simpler option.  Patch 1 does this for the above scenario.

Option 2: Add an optional context parameter to clean_post_cache().  This is more general, but I can't think of anyplace else WordPress uses as similar approach.  Patch two.",mdawaffe
21402,"Remove PHP4 methods, format consistently",,Cache,,normal,normal,Future Release,enhancement,new,has-patch,2012-07-28T06:24:33Z,2013-05-14T13:16:42Z,"While I was looking around in cache.php, I noticed the TODO to remove the destructor that does nothing and the constructor that registers it to do nothing

Also, the whitespace was different for almost every function - yet the functions all have similar code, this cleans it up",wonderboymusic
18488,set_transient crashes when value parameter is a SimpleXMLElement object,,Cache,3.2.1,normal,normal,Awaiting Review,enhancement,reopened,,2011-08-19T18:58:02Z,2012-09-01T18:03:16Z,"I have been developing a plugin that obtains information about high and low tides in the UK. The data is obtained from another site as a SimpleXMLElement. I found that when I passed a value to set_transient that had been assigned directly from the SimpleXMLObject then it was being received as an object and somewhere in the innards of the function the routine crashed. My workaround was to cast the assignment.
e.g. this failed

{{{
$title = $channel->item->title;
$store = '1';
$secs = bw_time_of_day_secs();
$secs = 86400 - $secs;
$set_transient( ""bw_tides_title_"" . $store, $title, $secs);

}}}

but change line 1 as below and it works

$title = '''(string)''' $channel->item->title;

Two questions therefore. 
1. Am I misinterpreting the documentation that says I don't need to serialise the value? What does mixed actually mean.
2. Does set_transient have to crash when the parameters are wrong?

The problem is completely reproducable. I now have a working solution so I don't need a fix right now. I just want to understand.
Herb 

",bobbingwide
16557,Ability to disable redirect_guess_404_permalink(),,Canonical,3.1,normal,minor,Future Release,enhancement,new,dev-feedback,2011-02-14T12:37:02Z,2011-04-08T11:29:36Z,"Can you make redirect_guess_404_permalink() pluggable or have its return value pass-through a filter so that developers can override it?

I know I can remove_filter('template_redirect', 'redirect_canonical') but redirect_canonical is too useful to be disabled. Only disabling URL guessing would be great.

Thanks a lot,

MK",msafi
17653,Canonical Redirect when space(s) are used instead of hyphens when requesting a page,dd32*,Canonical,3.2,normal,normal,3.6,enhancement,accepted,needs-unit-tests,2011-06-02T01:25:08Z,2013-02-21T01:15:53Z,"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
12456,Canonical URL redirect issue with post_id/postname permalink structure,dd32*,Canonical,2.9.2,normal,normal,Future Release,enhancement,accepted,has-patch,2010-03-02T14:06:38Z,2013-05-16T12:31:07Z,"The issue:

Using /%post_id%/%postname%/ as permalink structure,
Most canonical redirects work fine, except: 

domain.com/post_id/ brings you to the post but does not redirect to the canonical domain.com/post_id/postname/

Additional info:

The above permalink structure conforms to best practice as described in the codex:
http://codex.wordpress.org/Using_Permalinks#Structure_Tags

Therefore I figured this was a bug, given the attention given to redirecting to the canonical url ""So to avoid confusing search engines and to consolidate your rankings for your content, there should only be one URL for a resource."" 
http://markjaquith.wordpress.com/2007/09/25/wordpress-23-canonical-urls/
",Frank.Prendergast
18385,"Canonical redirections not suited for Queries with multiple query vars and ""pretty permalinks"" in general",,Canonical,3.2,normal,normal,Awaiting Review,enhancement,new,dev-feedback,2011-08-12T09:05:03Z,2011-08-12T12:21:47Z,"When the Canonical code was originally written, it served it's purpose quite well. However, over the years the number of Query vars which can be used to access content via has increased, and so have the number of archive views. This has lead to increased complexity in the Taxonomy canonical code which has needlessly caused bugs.

What I'm proposing, is that it might be time to lay to rest the current `if.. elseif.. elseif..` style checks, It's not possible for 1 if branch to handle every single access point without duplicating another branch.

As a result, I've put a half-finished together alternate version of Canonical, It's based on tallying up which query vars have been used/accounted for and removing any duplicates.. It's certainly not the best, but it's fairing better with the unit tests so far.

{{{
Unit Testing: http://unit-tests.trac.wordpress.org/browser/wp-testcase/test_includes_canonical.php
Before: FF.......FFFF..FFF.....F......FFFFFF.F....F.....FF....FF...
 After: FF...........FFF..................FF..................F....
}}}

It's a work in progress, but it's worth considering IMO.

Attaching a diff, and the full file (since the diff is going to be rather unreadable in some sections)",dd32
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,Awaiting Review,enhancement,new,,2012-03-22T14:42:36Z,2012-03-24T12:08:55Z,"For the sake of Search Engine Optimization it's recommended to set canonical URL inside <link rel='canonical'> 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
14458,Create rel_canonical filter,,Canonical,3.0,normal,normal,Future Release,enhancement,new,has-patch,2010-07-29T21:48:34Z,2011-05-06T14:18:54Z,"Wouldn't it be nice to be able to set the canonical rel value.
This comes in handy when you create a duplicate page and be able to manipulate the cannonical value.

Usage:
{{{
add_filter( 'rel_canonical', 'childtheme_rel_canonical', 10, 2 );
function childtheme_rel_canonical( $link, $id ) {
  return get_permalink( 55 );
}
}}}
",wjm
18660,"Enhance rel_canonical function, add filter",joostdevalk,Canonical,3.3,normal,normal,Awaiting Review,enhancement,assigned,dev-feedback,2011-09-14T15:59:03Z,2012-05-02T05:21:15Z,"I think it's a bit shortsighted to think that only singular pages need the canonical tag output in the `<head>`. Considering the fact that just about any page on your site can be accessed with a malformed URL, I think it's time to enhance this function.

The attached patch is just a first pass. But I think it gets us started in the right direction. There's also a filter before output, so themes and plugins can further enhance the output of this plugin (related #14458).

Patch is against [438126].",nathanrice
23087,Filter wp-register.php canonical redirect in single site too,,Canonical,,normal,normal,Awaiting Review,enhancement,new,has-patch,2012-12-30T16:02:06Z,2012-12-30T21:05:43Z,"in canonical registration location redirecting we have a filter for MS but none for WP Single Site. I'm unsure of how to convert Git patches to svn, so... yeah... Sorry.

patch:
https://github.com/ChrisClayton/WordPress/commit/449ac581ff45bfd68050280cdad6211d907ca12f",chrisclayton
20496,Previews should redirect to the permalink if the post has been published,,Canonical,,normal,normal,3.6,enhancement,new,has-patch,2012-04-20T21:55:08Z,2013-01-31T19:50:52Z,"If a post is saved as a draft and you visit the preview URL, even after the post is published, you will stay on the preview view (with preview=true in the URL).  This is confusing since you're not actually previewing anything, you're viewing a public post.",evansolomon
4328,"Redirect Old Slugs feature needs to redirect slugs for pages, not just posts, and redirect old permalink structure",markjaquith,Canonical,2.2,normal,normal,Future Release,enhancement,new,has-patch,2007-05-24T01:52:44Z,2012-05-13T19:42:18Z,"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
21765,Redirect to canonical URL if URL has 'preview' parameter with any nonempty value and user not log in,,Canonical,3.4.1,normal,normal,Awaiting Review,enhancement,new,,2012-09-01T13:18:44Z,2012-09-01T15:15:07Z,"if any URL has nonempty GET-parameter 'preview' that there is noredirection to canonical URL.
If we have http://example.com?p={post_id}&post_type={post_slug}&preview=true there is no redirection to correct URL like http://example.com?{post_type}={post_slug} or like http://example.com/{post_type}/{post_slug} (if site has permalinks). This is bad for SEO and bad user experience. If user not log in there must be redirecttion.",egorpromo
15950,Tweak canonical redirect name requests,,Canonical,3.1,normal,normal,Future Release,enhancement,new,has-patch,2010-12-22T18:09:54Z,2010-12-22T22:28:38Z,"Scenario: A website has the following two pages:

 * `example.com/foo/amazing-thing/`
 * `example.com/amazing/`

Upon requesting `example.com/amazin` the canonical redirect should favour the top-most level page. This doesn't happen as the relevant SQL query doesn't have an `ORDER BY` clause, making the behaviour unpredictable.",johnbillion
20224,WordPress should always add a / at the end of URLs,,Canonical,3.4,normal,normal,Awaiting Review,enhancement,reopened,close,2012-03-13T09:54:17Z,2012-03-14T12:36:36Z,"Users can change permalinks. They can add whatever they whant at the end of each url. For example :[[BR]]
- mydomain.com/myurl
- mydomain.com/myurl/
- mydomain.com/myurl.php
- mydomain.com/myurl.html
- mydomain.com/myurl.htm
- ...

There is a bug with search engines and empty URLs (mydomain.com/myurl). Google, Yahoo or Bing consider that it's not the same URl as mydomain.com/myurl/. They always try to add a / at the end of those URLs : it creates duplicate content for search engines that harms website visibility. For example, if a WordPress Blog uses /%postname% as permalink, Google is going to index both url:
- mydomain.com/myurl
- mydomain.com/myurl/

In order to correct this issue, WordPress should always add a / at the end of empty URLs (for example, without a / or without extension like .php, .asp, .html, ...).",Confridin
15397,redirect_guess_404_permalink() purposedly doesn't guess posts with updated dates,,Canonical,,lowest,normal,Future Release,enhancement,new,dev-feedback,2010-11-12T00:17:38Z,2012-07-03T15:37:18Z,"'''Problem'''

Here's my post path scheme: http://site.com/YEAR/MONTH/DAY/SLUG. Whenever I have writers working on a post for a while and saving drafts (we're all using Windows Live Writer), they oftentimes publish to the date when the last draft was saved, i.e. several days in the past. Then, they quickly correct the date but the previously tweeted/shared link is now 404 due to the changed date.

I've looked into the source of redirect_guess_404_permalink(), and it purposedly narrows down the query when it sees a post date to that date only. If I understand correctly, this is done to minimize accidental redirects to the wrong post, but has the side effect of not guessing the new link if only the date was changed.

A workaround of removing these lines:
{{{
  if ( get_query_var('year') )
    $where .= $wpdb->prepare("" AND YEAR(post_date) = %d"", get_query_var('year'));
  if ( get_query_var('monthnum') )
    $where .= $wpdb->prepare("" AND MONTH(post_date) = %d"", get_query_var('monthnum'));
  if ( get_query_var('day') )
    $where .= $wpdb->prepare("" AND DAYOFMONTH(post_date) = %d"", get_query_var('day'));
}}}

fixes the problem for me.

Can this case be solved in the trunk and the code above removed, or logic improved? My .htaccess file is filled with 301 redirects to correct wrong dates.

Thank you.",archon810
24054,(get_)comment_class() should include a is_user_member_of_blog() class,,Comments,3.5.1,normal,normal,Awaiting Review,enhancement,new,has-patch,2013-04-11T22:35:04Z,2013-04-11T23:27:06Z,"On multi-site, there's no way to style comments that are members of the site. You can either style the post author or all registered users (who may not have access to the site's admin area). Example use case would be a multi-author site where you want comments from all authors highlighted.

I think it'd also be cool to include what role they are so that you could style say all authors, editors, and administrators but not style contributors or something like that.

I'm not sure if this would an information exposure issue though (does it matter if it is known what role a user is or that they are a member of the site?).",Viper007Bond
19256,Ability to mark a comment as spam from the trash,,Comments,2.9,normal,normal,Awaiting Review,enhancement,new,,2011-11-16T03:07:48Z,2011-11-16T09:42:58Z,"Say you're scrolling through comments in the trash and you realize a comment should have ended up in spam instead.

There's no easy way to untrash then re-spam the comment — you'd lose it and it'd get restored to its previous status. You can't edit it and modify its status from there, either.

I think there should probably be a way to spam a comment from the trash. (For that matter, I don't think there's an issue with being able to edit a trashed comment, too. Perhaps you want to modify it then untrash/approve it.)",nacin
20977,Add Dynamic Comment Statuses,,Comments,3.4,normal,normal,Awaiting Review,enhancement,new,,2012-06-15T17:12:07Z,2012-06-15T17:21:37Z,It would be great to add some filters/actions that would allow plugin developers to add additional statuses to comments.,supercleanse
14856,Add an $args parameter to comment_text filter,,Comments,,normal,normal,3.6,enhancement,new,has-patch,2010-09-12T12:20:06Z,2013-05-04T23:25:53Z,"When using the {{{comment_text}}} filter, there are times when the context provided by {{{$args}}} would be extremely useful. For example to know the depth of the commen. I propose adding an additional parameter for {{{comment_text}}} to add the {{{$args}}}.

I've incorporated the proposed {{{$comment_ID}}} parameter from #14261, which looks to add a {{{$comment_id}}} parameter to the same filter, in the hope that this is helpful... let me know if not and I'll refactor.

I've included a small plugin to demo the use and prove the new parameters are working, and the diff for a small tweak to Twenty Ten v1.1 which is needed to use this plugin with that theme.",simonwheatley
11334,Add caching to get_page_of_comment(),,Comments,2.9,high,major,Future Release,enhancement,new,has-patch,2009-12-05T07:33:50Z,2013-02-05T05:10:21Z,"Ack. `get_page_of_comment()` lacks caching which means if you call `get_comment_link()` for the same comment ID on the same page multiple times (and outside of the loop), it will query multiple times. You also can't cache the result between page loads (the big ""uh oh"").

Attached patch introduces a cache that stores comment ID => older comment count (in short, the result of the function's query) on a per-post basis.

When any comment's status is changed, the entire cache for that comment's parent post is deleted as it will likely affect other comments (for example, deleting a comment can change the page of newer comments).

I opted to make a new cache flag (group), but I'm not sure if using an existing one would be better or not.

Oh, and this patch needs through testing and/or a good review.",Viper007Bond
20446,Add comment form submit button class attribute,,Comments,3.3.1,normal,normal,Awaiting Review,enhancement,new,has-patch,2012-04-15T07:34:55Z,2012-05-03T15:59:12Z,"The comment_form() is packed with filters all over the place to customize the from just the way you need, but one thing i find missing is a class on the submit input tag and if there was a class attribute then it should be filterable.

I know you can set the input ID and simply style based on the ID selector but when designing themes usually you have some kind of class defined for buttons, especially when using any of the html5/responsive theme frameworks and if the comment submit input had a class which was filterable then it would make our lives much easier.

",bainternet
22922,Add filter 'comment_notification_email_to' in wp_notify_postauthor(),,Comments,3.5,normal,normal,Awaiting Review,enhancement,new,has-patch,2012-12-13T17:53:32Z,2013-01-03T17:57:54Z,"Currently, mailto: address is not filterable in pluggable function `wp_notify_postauthor()`. Thus, in order to send replies to email addresses other than the post author, the entire function must be overridden.

Patch makes mailto: filterable for `wp_notify_postauthor()`, moving `$author->user_email` to an array, and applying the `'comment_notification_email_to'` filter.",chipbennett
20353,Add filter for email recipients in wp_notify_moderator(),,Comments,3.3.1,normal,minor,Awaiting Review,enhancement,new,has-patch,2012-04-04T12:35:36Z,2013-01-03T17:57:33Z,"As administrator, I would like more control over email notifications when comments are marked for moderation without having to overwrite the pluggable function wp_notify_moderator. 

The function wp_notify_moderator sends emails to post authors (when they have sufficient roles) and the admin by hard coding the $email_to array. I'd like to see the $email_to array sent to a filter with $comment before wp_mail() is called. That would allow me to write a theme function to manipulate the $email_to array to add or delete recipients. 

My workaround was to write a site specific plugin that overwrote wp_notify_moderator() to manipulate the $email_to array.",lexhair
761,Add hook to conditionally disable comment notifications [w/ patch],matt,Comments,1.2.2,normal,normal,Future Release,enhancement,reopened,has-patch,2005-01-27T07:42:58Z,2012-11-07T07:56:15Z,"E-mail notifications for posted comments are controlled by the  'comments_notify' setting.  E-mail notifications for comments needing modification are controlled by the 'moderation_notify' setting.  Each is an all or nothing setting, i.e. if 'on', ALL post authors will receive notifications when appropriate.  AFAIK, there isn't a  clean way for a plugin to insert itself into the notification process.",coffee2code
16944,Add new 'bynetworkuser' CSS class to output from comment-template.php,,Comments,,normal,normal,Awaiting Review,enhancement,new,has-patch,2011-03-23T06:28:46Z,2011-06-08T05:23:43Z,"Currently, the comment-template.php file checks to see whether a comment author is in the wp_user table.

If they are, then WordPress will emit a 'byuser' class as part of the comment div markup.

However, this behaviour is not ideal from multisite installations. 'byuser' should be restricted on a per-blog basis.

I propose that the current behaviour be assigned to a new CSS class, 'bynetworkuser'.",jacques_chester
23988,Add post info on comment.php?action=editcomment,,Comments,3.5.1,normal,minor,Awaiting Review,enhancement,new,,2013-04-08T12:58:20Z,2013-04-08T14:54:39Z,"When you get a comment notification, if you click on a link to mark as spam, etc, when you get to the edit comment screen, there's no indication of which post/page the comment was in response to, which can be a determining factor in deciding if a comment is valuable, off-topic, or spam. 

We should add an ""In response to"" area that lists the post title, date/timestamp like on comment list screen. If it's in response to another comment that should show as well, but since we don't have that in comment screen functionality yet, at least adding the post info that we already have and show on the list would be a clue and a step in the right direction.",jenmylo
16882,Add support for fetching comments posted since a specific date,,Comments,3.1,normal,normal,Awaiting Review,enhancement,new,has-patch,2011-03-17T21:08:51Z,2011-03-22T14:30:12Z,"Adding a ""since"" option to wp.getComments and get_comments() could help reducing bandwidth used by mobile apps.

Probably useful for themes/plugins too",koke
21571,Add support multiple comment types in get_comments,,Comments,,normal,normal,Awaiting Review,enhancement,new,,2012-08-14T00:49:42Z,2012-08-24T19:54:42Z,"Custom comment types are a nice way to categorize comments, however, if you wish to retrieve multiple comment types you cannot use ''get_comments''.  This enhancement request (patch attached) adds support for multiple comment types a la:

{{{
$comments = get_comments( array(
  'post_id' => $post->ID,
  'type' => array(
    'a-sweet-comment-type',
    'some-other-comment-type',
  ),
));
}}}",borkweb
20597,Allow WP_Comment_Query::query to filter by category,,Comments,3.4,normal,normal,Awaiting Review,enhancement,new,has-patch,2012-05-02T03:35:35Z,2012-05-02T03:45:58Z,"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
20302,Allow comment_form() to add attributes to <form> tag,,Comments,3.3.1,normal,normal,Awaiting Review,enhancement,new,has-patch,2012-03-25T15:48:53Z,2012-04-01T18:23:56Z,"The standard method to allow Google Analytics to track comment submissions as a 'goal' is to add a piece of JavaScript code wrapped in an 'onsumbit' attribute:
http://www.optimisationbeacon.com/analytics/track-blog-comments-in-google-analytics/
http://code.google.com/apis/analytics/docs/tracking/eventTrackerGuide.html

We want something like the following:

{{{
<form action=""http://www.example.com/wp-comments-post.php"" method=""post"" id=""commentform"" onsubmit=""_gaq.push(['_trackEvent', 'Comments', 'Submit', 'POST TITLE']);"">
}}}

However the current arguments submitted to comment_form() do not provide for adding attributes to <form>
http://codex.wordpress.org/Function_Reference/comment_form

I was forced to perform a workaround in which the onsubmit code was inserted by JavaScript on the fly at runtime.

So this is request to alter comment_form() such that arguments accepted provide for 'onsubmit' or other custom attributes to be appended on the <form> tag.",psbook
10569,Allow filtering of reply text with comment context,,Comments,,normal,normal,Future Release,enhancement,new,has-patch,2009-08-08T13:55:54Z,2011-02-01T16:30:36Z,"I know you can specify the reply text for comments, but you can't make them specific to each comment such as ""`Reply to comment #1234 by Joe`"".  This will let you do that by adding a filter called `comment_reply_link_text` to `get_comment_reply_link()` that passes along $args, $comment, and $post (just like the existing `comment_reply_link` filter).

I know you COULD do this with some processing on the link, but it would require pulling comment and post IDs from the URL and/or onclick, then replacing the text in the link itself.  This way would be a lot simpler and only adds a single filter.",aaroncampbell
12991,Allow setting default_comment_status specifically for Pages (or for any post type),messenlehner,Comments,3.0,normal,normal,Future Release,enhancement,assigned,has-patch,2010-04-13T22:52:28Z,2012-11-25T01:22:22Z,"Now that the default theme has {{{comments_template}}} in Pages too, I have been thinking that maybe we should offer a way of setting {{{default_comment_status}}} specifically for Pages (as distinguished from Posts).

Why?

Say that I select Twenty Ten as my theme.  I leave the global option for comments ON, because, like most people, I want comments on my Posts.  However, like most people, I do not want comments on Pages, or I want comments only on a few selected Pages.  So, every time I make a new Page, I have to untick the checkbox on the Edit screen, in order to override the global setting.  That’s not convenient!

I think we need to do something about that:

Either we leave Twenty Ten as is and change something at the level of post type registration, or we change something in Twenty Ten.

(I have no idea what would be a satisfactory way to deal with this at the theme level.  Sandbox, for instance, displayed the form on Pages only if there was a certain custom field with a certain value, which may seem very unfriendly at first sight, but I find it is much friendlier than what we have now in Twenty Ten.)",demetris
15520,Break date/time into a separate column in Comments views,,Comments,,normal,normal,Future Release,enhancement,new,needs-refresh,2010-11-20T15:30:35Z,2012-03-08T10:18:38Z,"Now that column sorting is in, it makes sense to break the date and time a comment was made into a separate column in the Comments view so they can be sorted chronologically.

Currently, the time is part of the content column, which can be confusing as if someone sorts by that column it becomes an alphabetical sort.",markel
23851,Can we get some classes on the comment form output?,,Comments,3.0,normal,normal,Awaiting Review,enhancement,new,has-patch,2013-03-22T20:02:00Z,2013-04-04T03:32:41Z,"The `comment_form()` function is quite useful, but styling it pretty much requires that you target the IDs, since the the outermost div and the form itself don't have classes.

If you're trying to stay as low on the specificity scale when writing CSS, not having classes available to target pretty much stops you cold.

I don't really care about the class names, though something descriptive and somewhat semantic would be preferable.

Anybody have thoughts?",nathanrice
21834,Comment History,,Comments,,normal,normal,Awaiting Review,enhancement,new,has-patch,2012-09-07T20:30:47Z,2012-09-08T03:37:40Z,"This ticket provides a simple patch for comment history in core.

''The Problem'':  

In at least a few  places:  ([comment:ticket:9117:10], [comment:ticket:15534:4], [comment:ticket:9495:3]) Nacin has mused about the desirability of introducing comment history to core, citing Akismet’s implementation as a model for how this might be done.

There are good reasons for wanting this, as comment history could serve as a solid underpinning for a variety of other features such as more informative moderation emails, some indication of why a message was marked as spam, and even comment versioning.

The idea is that to implement any of that, we really should have basic comment versioning in core, a la Akisment.


''The Solution'':

Our goal was to expand the API so as to reproduce and streamline the basic history functionality provided by Akismet, port and tweak Akismet’s nice history UI, and keep the change set minimal.

Comment history API:

* added simple functions to /wp-includes/comment.php to get and update comment history.  These in turn use existing comment_meta functions.

UI:  

* there’s now a comment history meta box on the comment edit screen.  It looks just like Akismet’s.  This was implemented as a real meta box.  A sorting function is also included.

History Events:

* this patch supports the following history events, each of which has a nice, plain-english (internationalizable) history message, which always includes the user responsible for the action and a timesince. 
 * edit_comment (“edited by user”)
 * trashed_comment (“trashed by user”)
 * untrashed_comment (“un-trashed by user”)
 * comment_unapproved_to_approved (“user approved this comment”)
* comment_approved_to_unapproved (“user unapproved this comment”)
* spammed_comment (“user marked this comment as spam”)
* unspammed_comment (“user marked this comment as ham”)

''Next steps'':

Here’s what we’d think of doing next if this were to be introduced into core:
* support more history events and provide more detail. In particular, support events where the comment is spammed as a result of a blacklist word or other reason.
* include some of this detail in moderation emails

''Note'':

* the Akismet plugin should be updated to use this new API instead of its own history functions
* meta boxes on edit comment did not work properly until this: http://core.trac.wordpress.org/ticket/21499 (in 3.5)

''Who we are'':

This patch comes from [http://profiles.wordpress.org/bbrooks Ben Brooks], [http://profiles.wordpress.org/mattoperry Matt Perry] and [http://profiles.wordpress.org/natebot Nathan Letsinger].  Enjoy",mattoperry
20487,Comment search isn't customizable,,Comments,3.2.1,normal,normal,Future Release,enhancement,new,has-patch,2012-04-18T23:32:07Z,2012-07-12T16:05:07Z,"*cross-posted to the wp-hackers mailing list last night*


I work on a large news oriented WP site and first off, it actually scales remarkably well. We keep users, comments, and actual posts all in WordPress. However, due to our size, administering comments is causing us issues at the moment.

Our last outage was caused by one of our comment moderators doing a simple comment search in the admin. The query took 16 seconds to execute, the next query locked, and, with our traffic, the DB couldn't handle the resulting queued traffic.

Staying away from discussions of ""you should use Disqus"" or, ""you need more X for your mysql server,"" I think there is significant opportunity to improve the way WP handles comment searching. Every comment search takes the following form:

SELECT * FROM wp_comments  WHERE ( comment_approved = '0' OR comment_approved = '1' ) AND (comment_author LIKE '%TERM%' OR comment_author_email LIKE '%TERM%' OR comment_author_url LIKE '%TERM%' OR comment_author_IP LIKE '%TERM%' OR comment_content LIKE '%TERM%') ORDER BY comment_date_gmt DESC LIMIT #;

As we can all see, this is a beast of a query. Even when the term is clearly an specific term (say an email or IP), or when the intent of the admin is known (e.g. clicking the IP link on a specific comment). Furthermore, there are no hooks activated in this process for plugins to use to say create an advanced comment search plugin. One might expect hooks like those activated in post search to be activated here, like ""parse_request"" and ""get_search_query.""

Waxing philosophical, as posts, comments, and users are the three basic types of data to be stored and displayed in WP, one would expect them to have similar interfaces and functionality. They each have basic functionality of being able to retrieve a single item, a list (in full or in part), search for an element, or edit a single entry. For this reason I don't understand why each of their functionality isn't derived from something like an abstract class or an interface. The architecture here is also difficult in that you are not able to replace or extend a single class to change the functionality.

Back on target. I propose that we add functionality by which we'll be able to search by exact match in addition to the existing full wildcard (left, right, or full wildcard is probably excessive) as well as specifying the field to search. This would allow my earlier use case of searching by IP to look for an exact match in the ""comment_author_IP"" field only, not searching the fulltext of every comment.

This functionality can be created simply by:

1. Adding ""search_type"" and ""search_field"" to the WP_Comment_Query::query_vars data structure in wp_includes/comment.php
2. Replacing WP_Comment_Query::get_search_sql with something more robust, able to understand these new properties and construct the query on their basis
3. Upgrading WP_Comments_List_Table::prepare_items to accept the new queries and add them to the data structure it creates
4. Either modifying WP_List_Table::search_box to have some options of advanced search, or dropping a hook so that a plugin can easily modify it
5. Modifying the WP_Comments_List_Table::column_author to supply the correct query string to indicate an IP search

If I can figure out a way to make this more similar to the signature of posts and users, or at least add some hooks at the right places, I can do that as well.

This will add efficiency for everyone--particularly those who have lots of comments. I modified our core for this functionality today and we will fully QA it tomorrow. I made it on 3.2.1 as that is what we're running right now, and there are minimal changes in the affected files and functions between 3.2.1 and 3.3.1 and even the nightly.

I can submit a patch as long as it passes our QA--how should I do that, off the nightly?

Thanks,
-Kenton Jacobsen",brokentone
16365,Comment transition for new comments,,Comments,3.1,normal,minor,Future Release,enhancement,new,dev-feedback,2011-01-24T21:07:46Z,2012-05-28T12:39:19Z,"As far as I can tell wp_transitions_comment_status() does not get called for new 'comments' based on my testing and review of comment.php in wp-includes.

There is a similar transition for posts that gets called for new 'posts' including hooks like 'new_to_publish' and 'new_to_private'.

I feel that there should be a similar hook to this form comments so that plugins can hook into new comments differently from comments moved from one existing status to another (like comment_unapproved_to_approved'.",MattyRob
15015,Customisable submit button for comment form,,Comments,3.0.1,normal,normal,Future Release,enhancement,new,dev-feedback,2010-10-02T16:38:10Z,2012-12-16T00:07:37Z,"Note: I'm setting this as a blocker because it is a blocker '''to me'''. Set it whatever you feel appropriate.

I badly needed to customise the submit button because I wanted to add a tabindex.

I could reimplement the whole form with my markup, but as I already worked my way through all the other fields, I did want to continue this way.

Sadly I discovered it's not possible. So, after discussing this in IRC, I decided to hack the core and propose the attached patch.

Basically now you can create a filter and output your markup, like this:

{{{
function awesome_comment_form_submit_button($button) {
	$button =
		'<input name=""submit"" type=""submit"" class=""form-submit"" tabindex=""5"" id=""[args:id_submit]"" value=""[args:label_submit]"" />' .
		get_comment_id_fields();
	return $button;
}
add_filter('comment_form_submit_button', 'awesome_comment_form_submit_button');
}}}

and filter magic happens. Please notice that
1. you have to include [args:id_submit] and [args:label_submit] if you want the comment_form() parameters to work.
2. you have to use the get_comment_id_fields() function.

It may be better but it works for me. If anybody feels like making it better, be my guest.",morpheu5
7051,Delete blacklisted comments rather than mark them as spam,,Comments,2.5.1,normal,normal,Future Release,enhancement,new,has-patch,2008-05-28T11:37:11Z,2011-02-08T04:10:40Z,Comments that are blacklisted because of the Blacklist keys on options-discussion.php should be deleted immediately instead of being marked as spam. Patch attached.,donncha
12521,Disable Site Wide Discussions - Admin Settings,,Comments,3.0,normal,normal,Future Release,enhancement,new,,2010-03-05T01:44:26Z,2011-08-27T08:42:14Z,In the admin discussions options there should be an option to completely disable discussions site wide.,ceenz
23136,Do not notify the post author about comments if they are no longer a member of the blog,markjaquith,Comments,3.5,normal,normal,3.6,enhancement,reopened,dev-feedback,2013-01-07T18:45:21Z,2013-04-19T20:08:24Z,wp_notify_postauthor() should not notify the post author of comments if the author is no longer a member of the blog.,ryan
21758,Do not require a file in comments_template(),,Comments,3.4.1,normal,normal,Awaiting Review,enhancement,new,has-patch,2012-08-31T20:22:16Z,2012-09-01T11:23:07Z,"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
11359,Don't nofollow links in admin comments,,Comments,2.9,normal,normal,Future Release,enhancement,new,,2009-12-08T12:23:15Z,2011-04-15T08:25:24Z,"Links in admin comments shouldn't have rel=nofollow.

Admin comments are not user-generated content, and the site owner (admin) is vouching for the links just like when they link from the post itself. 

Therefore, this usage of nofollow is incorrect.

Also, if I go and edit a comment and remove nofollow from a link, WP adds it back. It shouldn't do that either.

Note that in the unlikely event of wanting a link in a comment to be nofollowed, this could still be done manually.",caesarsgrunt
11360,Don't nofollow links within the site,,Comments,2.9,normal,normal,Future Release,enhancement,new,has-patch,2009-12-08T12:24:42Z,2010-04-04T06:48:37Z,"Relative links or links with the site's own domain shouldn't be nofollowed.

This use of nofollow is damaging to the site's search engine rankings.",caesarsgrunt
9775,Duplicate comment check is too strict,,Comments,2.7.1,normal,normal,Awaiting Review,enhancement,reopened,,2009-05-09T21:27:38Z,2012-08-19T23:33:35Z,"The duplicate comment detection mechanism doesn't allow duplicate comments on the same post, even from the post author. That's not good.

The duplicate comment check should only block the new comment if there is no other comment posted between the new comment and the old comment.",scribu
13363,Edit Comments: Pending > Approving shouldn't make them disappear from screen,garyc40,Comments,3.0,normal,normal,Future Release,enhancement,assigned,has-patch,2010-05-11T23:35:45Z,2012-03-08T01:56:30Z,"Edit Comments: Pending > when clicking Approve the comments shouldn't just disappear from the screen.

They should collapse and have an undo status like when you trash or spam a comment.

ENV: WordPress trunk r14573 (3.0-beta2-14565)

",lloydbudd
10869,Eliminate moderation on admin comments,,Comments,,normal,normal,Future Release,enhancement,new,,2009-09-28T10:18:53Z,2009-11-28T12:34:10Z,"Currently, if comment moderation is enabled, comments left by the admin are also moderated, requiring approval before they're posted.  

Proposed change: If comment moderation is activated, all replies and comments left by the admin are auto-approved.",heather_r
13857,"Email notifications lack a link to the comment, from address could be improved",,Comments,,normal,normal,Future Release,enhancement,new,,2010-06-11T21:27:24Z,2010-10-28T01:47:17Z,"'''Email Notification'''
For the 6+ years I believe I have been using WordPress, the emails that notify me someone has made a comment have several links in them.

'''Fields within an email notification'''
Email, Url, Whois, Comment, All Comments, Delete, Spam

The comment, at least in plain text emails, contains html markup, which often is encoded making it hard to read, depending on the comment complexity.  I suggest a simple strip_html style function be ran on the comment copy.

The link to the comments only takes you to the comments, but does not add in the identifier in the url to take you to that specific comment.  The blog I am managing has 30+ comments on each page, making it harder than it should be to get to the comment and reply.

An example of a better method might be:
http://example.com/foo-bar-baz/#comment-7348
Compared to:
http://example.com/foo-bar-baz/#comments
----
'''Email Headers'''
The From header in the email is is correctly set to the ""Name"" value the user filled into the comment form, the email address is set to wordpress@example.com where example.com is the domain of the site.

However, the reply-to header is correctly set to the actual sender.  Bounces (NDR's) and the cosmetic view of an email could all be improved with a simple condition:

{{{
if is_valid(emaIl) then
  from = name & ' <' & email & '>'
  reply-to = from
else
  // looks like they did not set the data
  // fall back to some sane defaults
end if
}}}


",hexley
16979,Extra hooks needed in comment process,,Comments,,normal,normal,Future Release,enhancement,new,dev-feedback,2011-03-27T06:06:54Z,2012-05-22T16:29:11Z,"I'm running into a few commenting issues whilst building a plugin with a custom post type..

 * Duplicate comment check's cannot be bypassed
 * Empty comments are not allowed (In this case, the comment body is empty whilst a set of custom fields acting as metadata are set, meaning, the plugin wants to accept that comment)
 * being able to override the wp_die() in the commenting process would be useful (Currently: Duplicate comments, User not logged in, and not all fields filled in will cause this)

One potential solution would be to move [http://core.trac.wordpress.org/browser/trunk/wp-comments-post.php#L55 lines 55-84] from `wp-comments-post.php` to functions hooked to `preprocess_comment`",dd32
23800,"Filter Comment Blacklist, to delete duplicated terms",,Comments,,normal,normal,Awaiting Review,enhancement,new,,2013-03-16T23:37:13Z,2013-03-16T23:37:13Z,"Hi,

In Comment Blacklist, when I save terms, duplicates are not eliminated.

Would be good if the function array_unique would remove these duplicate terms.",shadowhck
13450,Filter Comments Link,,Comments,,normal,normal,Future Release,enhancement,new,has-patch,2010-05-19T01:19:50Z,2010-10-28T12:12:51Z,"This filter allows a developer to modify a post's comments link.

Useful for situations where one needs to add or modify components of the URL such as on-click javascript, or changes to the anchor text, etc...",ikailo
23870,Filter Glyph for Comment Required Fields,,Comments,3.5,normal,normal,Awaiting Review,enhancement,new,has-patch,2013-03-27T16:57:51Z,2013-03-31T15:31:37Z,"Currently the `comment-template.php` file uses an asterisk (*) as the default glyph for required fields used in the `comment_form()` function. This glyph is not easily manipulated without having to essentially over-write the entire `comment_form()` function.

I suggest the glyph be filtered. Therefore if one wants to change it, for example, to a hash (#) symbol then they can simply filter the output; or, if for any other reason one might want to enhance the glyph visibility or utility the filter would then allow for this while minimizing the impact on the default comment form.",cais
19739,Filter to override exit for comments on drafts (comment_on_draft),,Comments,3.3,normal,normal,Awaiting Review,enhancement,new,dev-feedback,2012-01-04T19:01:18Z,2012-01-05T18:45:37Z,"I'd like to use comments on draft posts as part of an editorial workflow. Will this be as easy as adding a filter to fire before the current comment_on_draft action that can be checked before exiting? I'll try that and add a patch if it looks good.

Related #13276. Not relevant to #18630, I think.",cyberhobo
7054,Generated avatars should not be shown on moderation pages.,ryan,Comments,,normal,normal,Future Release,enhancement,reopened,has-patch,2008-05-28T15:53:22Z,2011-02-01T04:44:25Z,"When moderating a lot of comments or checking the akismet queue the presence of an avatar can assist when checking for spammers. If generated avatars are shown on those pages it will increase the time to check comments and could lead to spam being inadvertently approved.

These 2 pages should not show generated avatars.

/edit-comments.php?comment_status=moderated

/edit-comments.php?page=akismet-admin

This does mean that avatar-free users who have had a previous comment approved would not have their generated avatar shown. In this case their avatar would need to be shown.",podz
10863,Gravatars without email all end up looking generic,,Comments,,low,minor,Future Release,enhancement,new,has-patch,2009-09-26T19:26:36Z,2011-01-06T14:50:54Z,"When your blog has this option turned on

  ""Comment author must fill out name and e-mail""

and multiple users leave comments, if these users do not provide email addresses it will appear that they are all the same user as the identicon/monsterid/etc icons will be the same.

With two additional lines of code, you can substitute the IP address in place of the email to get a unique hash in order to distinguish one anonymous/non-emailed user from another.

Patch is attached",thecodepro
23797,Hard coded HTML marking in comment_form(),,Comments,3.5.1,normal,normal,Awaiting Review,enhancement,new,,2013-03-16T21:16:23Z,2013-03-17T14:50:58Z,"Hello

it seems so ugly hard coding has slipped in the comment form. 

On line 1554 of comment-template.php, there is some hard-coded html :
 {{{
<h3 id=""reply-title"">
<?php comment_form_title( $args['title_reply'], $args['title_reply_to'] ); ?>
<small><?php cancel_comment_reply_link( $args['cancel_reply_link'] ); ?></small>
</h3>
 }}}

Semantically speaking, a H3 is far from being optimal. 
Also, filters exists for all other elements of the comment form. 
The h3 and small should not be hardcoded. 

A new value could be included in the defaults : 

 {{{
'comment_reply_markup' => 
    '<h3 id=""reply-title"">%1$s <small>%2$s</small></h3>',
 }}}

and line 1554 replaced by : 

 {{{
<?php printf( $args['comment_reply_markup'], 
comment_form_title( $args['title_reply'], 
$args['title_reply_to'] ), cancel_comment_reply_link( $args['cancel_reply_link'] ); ?>
 }}}

Thanks a lot, hope you'll take it :)",Marie-Aude
16219,"If you can edit comments on the post, 'Slow down Cowboy' shouldn't kick in",garyc40,Comments,,normal,normal,Future Release,enhancement,assigned,has-patch,2011-01-13T19:05:44Z,2011-01-14T02:51:10Z,Currently it's for administrators only. That doesn't make much sense for those who can already moderate comments.,nacin
6536,"Introduce the concept of ""read"" and ""unread"" comments for better workflow in the admin",markjaquith*,Comments,2.5,normal,normal,Future Release,enhancement,accepted,,2008-04-02T00:48:54Z,2012-03-08T01:31:11Z,"The Moderation Queue is a great way to manage your comment workflow.  All comments go in there, and you approve, spam, or delete them.  At the end you get a nice little ""0"" and you know you've dealt with all new comments.  This doesn't work for people who don't moderate every comment.  They have no idea when they are done, and which comments they have or have not looked at.

I'd like to add a {{{comment_read}}} column to the comments table.  It would be either ""1"" or ""0"".  There would be a new sub-tab for Comments: ""Unread comments (%d)""  This page would be just like the Moderation page, except that it would only show comments with {{{comment_read = 0}}}.  This could act as ""comment workflow central"" for both people who pre-moderate and people who post-moderate.  Unapproved comments would have the actions: Approve, Spam and Delete.  Approved comments would have the actions: Archive, Spam and Delete.  Clicking any of these actions would both carry out that action AND mark that comment as read, making it disappear from the ""Unread comments"" page.  (""Archive"" only marks it as read).

Enterprising theme developers could even have this status shown on the public blog, so that people know whether their comments have been seen.

For background on this idea, please see [http://markjaquith.wordpress.com/2008/03/20/the-comment-inbox/ The Comment Inbox]

Note that this has benefits for people who moderate every comment, because they can now store comments in the moderation queue (comments they want to remove from the blog, but not delete) without that getting in the way of their comment workflow.",markjaquith
22164,"Move comment ""keyboard shortcuts"" setting to comments -> screen options",,Comments,,normal,normal,Future Release,enhancement,new,has-patch,2012-10-11T14:14:23Z,2012-11-22T03:31:45Z,"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
12392,Move comment fields to meta data instead,,Comments,,normal,normal,Future Release,enhancement,new,,2010-02-26T20:09:24Z,2012-07-16T04:19:52Z,"Look at the comment table:
{{{
CREATE TABLE $wpdb->comments (
  comment_ID bigint(20) unsigned NOT NULL auto_increment,
  comment_post_ID bigint(20) unsigned NOT NULL default '0',
  comment_author tinytext NOT NULL,
  comment_author_email varchar(100) NOT NULL default '',
  comment_author_url varchar(200) NOT NULL default '',
  comment_author_IP varchar(100) NOT NULL default '',
  comment_date datetime NOT NULL default '0000-00-00 00:00:00',
  comment_date_gmt datetime NOT NULL default '0000-00-00 00:00:00',
  comment_content text NOT NULL,
  comment_karma int(11) NOT NULL default '0',
  comment_approved varchar(20) NOT NULL default '1',
  comment_agent varchar(255) NOT NULL default '',
  comment_type varchar(20) NOT NULL default '',
  comment_parent bigint(20) unsigned NOT NULL default '0',
  user_id bigint(20) unsigned NOT NULL default '0',
...
}}}
A lot of that is not actually being used on many sites and could be moved to standard meta data, available on demand, but not pulled out by default.

Specifically:

comment_author_IP - Used by Akismet and blacklist functions, included in emails sent to post authors/moderators, but once stored in the DB it's never really used again.

comment_karma - Used by some of the importers as a space to store temporary data. Not actually used by core for anything serious anywhere.

comment_agent - Used by Akismet and blacklist functions, but once stored in the DB it's never really used again.

These could be pushed to meta and thus still made available, but without them being in the main table.

This is a long term change, because some plugins would likely break. So the columns should be deprecated for a while first.
",Otto42
17951,Move or duplicate comment actions at top of each comment row,,Comments,,normal,normal,Awaiting Review,enhancement,new,close,2011-06-30T17:29:35Z,2013-01-21T23:31:29Z,"When I attempt to take an action on a comment and the comment is EXTREMELY long, it takes a while to get to the SPAM link since it's at the bottom of the comment.

This ticket is to simply propose moving the actions to the top, rather than the bottom of the comment. Or perhaps duplicate the actions there, since they are only visible on hover anyway.",chriswallace
20490,Move submit_button to wp-includes for frontend inclusion & use with comment-template.php,,Comments,,normal,normal,Awaiting Review,enhancement,new,,2012-04-19T18:04:55Z,2012-04-23T14:43:09Z,"It would be nice to be able to use submit_button() on the frontend as well (cf. #15064). It appears that #16066 ""fixed"" #16061, which it did, but moving the submit_button functions would enable to revert back to the use of submit_button(). Moreover, I recommend changing the comment-template.php in wp-includes ([http://core.trac.wordpress.org/changeset/16066#file2 16066#file2]) to use a filter with the submit_button to enable attributes like onClick. As it stands right now, if a user wants to track comments in their analytics they have to hide the original and add a function hooked into comment_form and redo all the args.",wpsmith
10856,Move unesential comment fields to the comment meta table,,Comments,2.9,normal,normal,Future Release,enhancement,new,dev-feedback,2009-09-26T03:07:47Z,2011-07-28T21:03:24Z,"The wp_comments table has 3 less-used fields that would be better placed in the new commentmeta table. These are:

- comment_author_IP

- comment_agent

- comment_karma",scribu
7532,Need comment_modified_date_gmt for approvals and edits,,Comments,2.6,low,minor,Future Release,enhancement,new,,2008-08-17T04:45:49Z,2009-06-11T12:39:18Z,"Summary:[[BR]]
Currently there is only one date field for comments, comment_date_gmt. This is insufficient, because it represents only the creation date, not the approval date. The function get_lastcommentmodified can only check comment_date_gmt, which means that it can return an earlier date than the approval date. This can lead to RSS feeds wrongly returned HTTP 304 Not Modified responses. There needs to be comment_modified_date_gmt in addition to comment_date_gmt.

Steps to Reproduce:[[BR]]
(1) First comment is submitted.[[BR]]
(2) First comment is mistakenly marked as spam by Akismet.[[BR]]
(3) Second comment is submitted and posted.[[BR]]
(4) Check comments feed in RSS reader. Second comment appears in feed, first comment does not.[[BR]]
(5) Mark first comment as not spam.[[BR]]
(6) Check comments feed in RSS reader again.

Expected results:[[BR]]
Comments feed returns HTTP 200, because there is a new comment in the feed.

Actual results:[[BR]]
Comments feed returns HTTP 304.

Notes:[[BR]]
The same bug could occur in other circumstances. For example, if a comment was held for moderation.

",lapcat
23179,New avatar related option - use gravatar  only for registered users,,Comments,,normal,normal,Awaiting Review,enhancement,new,,2013-01-11T15:40:59Z,2013-01-21T04:42:39Z,"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
23634,New hook for adding content after each comment,,Comments,,normal,normal,3.6,enhancement,new,has-patch,2013-02-26T19:29:57Z,2013-05-11T17:53:38Z,"Similar to #18561 (which is for a new ""after post"" hook) add a hook that fires after each comment output with {{{wp_list_comments}}}.",lancewillett
22889,Reconsider no-JS ?replytocom= links,,Comments,,normal,normal,Awaiting Review,enhancement,new,,2012-12-12T15:13:20Z,2012-12-14T13:05:31Z,"We have a no-JS fallback for comment replies. Normally JS moves the comment form around. For people with JavaScript disabled, they follow the `?replytocom={123}` link. This results in a lot of extra crawling by search engines (potentially an additional crawl per reply-able comment!) in exchange for enabling an awkwardly executed, likely underused, and non-essential feature for non-JS users.

I'd like to consider making comment reply JS-only.",markjaquith
12431,Record comment meta in wp_new_comment,,Comments,3.0,normal,normal,Future Release,enhancement,new,has-patch,2010-02-28T21:29:43Z,2010-10-28T09:01:14Z,"Spam filter plugins usually trigger on the preprocess_comment filter, which obviously happens prior to storing the comment (and thus prior to knowing comment_ID).

Comment meta would be ideal for storing spam status information, but since the comment_ID isn't known at that point, doing so involves jumping through some hoops.

This patch provides a simple way for spam filters to include comment metadata from preprocess_comment.  They simply include values in a 'comment_meta' array like this:

{{{
add_action('preprocess_comment', 'my_spam_handler');

function my_spam_handler($comment) {
    $comment['comment_meta']['my_spam_status'] = 'not-spam';
    return $comment;
}
}}}

Each key/value pair in the comment_meta array is stored as comment metadata.
",tellyworth
8071,Refrain from querying all the comments on a post when paged,,Comments,2.7,normal,normal,Future Release,enhancement,reopened,,2008-11-05T22:17:15Z,2012-07-16T04:35:24Z,"If a post has more than (comment_per_page) comments, we should query them specifically, not query all the comments and sort in PHP (doesn't scale well).

Logic:

if threading is off, use a simple limit query

elseif the page has equal or fewer comments than (comments_per_page), query them all

else query (comments_per_page) parent comments, and keep doing queries for their children, up to the threading limit (10).",markjaquith
17159,Return meaningful HTTP response for comment submitted with no POST body,,Comments,,normal,trivial,Awaiting Review,enhancement,new,has-patch,2011-04-17T19:45:03Z,2011-09-10T03:25:52Z,"A POST request to wp-comments-post.php currently returns a HTTP 200 response with an empty body if the body of the request was empty.

The server should die quickly and instruct the requesting agent not to repeat the request without modifications if minimum necessary key(s) are not present on $_POST.

I believe the possible creation of a comment requires at least a comment_post_ID. It's also the first $_POST key checked in the script. If the POST did not supply a comment_post_ID let's stop processing and provide a meaningful response. HTTP 400 Bad Request communicating the failure. Due to the spammy nature of the requestors we may or may not want to provide variable hints in the response.",niallkennedy
3842,Should make nofollow implementation cleaner and easier to remove,,Comments,2.1.1,normal,normal,Future Release,enhancement,new,,2007-02-22T10:08:56Z,2011-07-23T06:44:21Z,"{{{rel=""nofollow""}}} didn't appreciably stop comment spam, and there are many arguments for why it is a '''bad''' idea (and not just a failed idea).  We should consider axing it.",markjaquith
17913,Site-level comment options may override individual post settings. Improve communication.,,Comments,,normal,minor,Awaiting Review,enhancement,new,has-patch,2011-06-27T20:46:43Z,2011-06-27T20:46:43Z,"Post comments may be automatically closed for a  site's posts if site option 'close_comments_for_old_posts' is true and the post was published before 'close_comments_days_old' days ago. These two options are set in options-discussion and override the 'comment_status' of an individual post.

The edit posts screen's comment meta box displays comments open/close status, allowing publishers to open or close comments for a single post. It's possible the site-level discussion settings will override the individual post yet we still might display a different post comment status than the site settings allow.

1. Enable site-level option to close comments on articles ( wp-admin/options-discussion.php#close_comments_for_old_posts )
1. Enter a days value of 1 for maximum impact
1. Edit a post published over a day ago
1. View the Discussion meta box ( #commentstatusdiv )
1. Interact with the 'comment_status' field

I would like to better communicate expected failure and let the post author or editor know this particular setting has been overridden at the site options level. If the current user can manage options I might you could link to the override in the options page.

I created a new test blog, set comments to auto-close after a day, and checked allow comments in the post screen. I was wondering why comments_open() was false for the post when I was looking at a checked box on the post screen.",niallkennedy
17020,Some comment queries are not filterable,,Comments,3.1,normal,normal,Future Release,enhancement,new,has-patch,2011-04-02T16:56:32Z,2011-05-09T23:21:46Z,"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
17862,The second argument for wp_notify_postauthor() is unnecessary,,Comments,,normal,normal,Future Release,enhancement,new,has-patch,2011-06-21T17:04:39Z,2011-06-21T17:04:39Z,Only the comment id is needed. See patch.,scribu
17275,UI: Missing comments count in admin screen,,Comments,3.2,normal,normal,Future Release,enhancement,assigned,has-patch,2011-04-29T13:00:48Z,2013-02-23T11:29:14Z,See Attached image.,ramiy
4332,Unusable comment error pages,markjaquith*,Comments,1.5,normal,normal,Future Release,enhancement,accepted,,2007-05-24T20:53:17Z,2012-03-08T01:35:22Z,"No comment error page requires browser navigation to leave

ENV: WP trunk r5486

While viewing a post, I click Submit Comment without entering any information and the result is  (wp-comments-post.php):

WordPress [[br]]
Error: please type a comment.

Dead end: no link back to the page where I meant to comment or maybe accidentally clicked the button, and ""Error:"" makes me feel stupid ;-)

POSSIBLE SOLUTION

I don't see any reason to navigate away from the post post.

ADDITIONAL DETAILS

Assuming the error page is desirable (sure hope not), being able to style it might be useful.",foolswisdom
10653,Update comment_author when display_name changes,,Comments,,normal,normal,Future Release,enhancement,reopened,has-patch,2009-08-19T19:43:29Z,2010-12-18T11:08:18Z,One thing that has bothered me recently is the fact that your previous comments doesn't get updated when your display_name is being updated. Which could cause some confusion. I wrote a function (see attached file for further reference) that takes care of this but I would love to see a similiar feature in the WordPress core.,mptre
19623,"Use Comment API in comments_template, rather than hardcoded SQL",,Comments,3.3,normal,normal,Awaiting Review,enhancement,new,has-patch,2011-12-20T18:07:44Z,2012-08-14T08:36:00Z,"Currently the function {{{comments_template}}} uses hard-coded SQL queries, rather than {{{WP_Comment_Query}}} or {{{get_comments}}}. There's a note above the queries saying [http://core.trac.wordpress.org/browser/tags/3.3/wp-includes/comment-template.php#L888 /** @todo Use API instead of SELECTs. */].

To replace the queries using the API, the {{{WP_Comment_Query}}} class will need to be extended to allow querying for comments which are '''either''' approved '''or''' unapproved ({{{hold}}} status) but by a particular comment author email and comment author name ''or'' by a particular {{{user_id}}} to replace these two queries:

* {{{SELECT * FROM $wpdb->comments WHERE comment_post_ID = %d AND (comment_approved = '1' OR ( user_id = %d AND comment_approved = '0' ) )  ORDER BY comment_date_gmt}}}
* {{{SELECT * FROM $wpdb->comments WHERE comment_post_ID = %d AND ( comment_approved = '1' OR ( comment_author = %s AND comment_author_email = %s AND comment_approved = '0' ) ) ORDER BY comment_date_gmt}}}

If we change to use the API, there's also an opportunity to add a filter for the args, which would be lovely for plugin developers. :)",simonwheatley
10931,Verify Comment Email Addresses of Registered Users,,Comments,2.8.4,normal,normal,Future Release,enhancement,assigned,has-patch,2009-10-08T14:34:44Z,2013-01-13T21:45:07Z,"When leaving a comment with an email address of a registered user, WordPress should force the visitor to login or change the email address in the comment form.

Anyone can impersonate a blog's user if they know the user's email address.",mtdewvirus
21010,View Post Link on edit-comments.php,mordauk,Comments,3.4,normal,minor,Awaiting Review,enhancement,new,has-patch,2012-06-18T15:10:27Z,2012-12-23T03:47:41Z,"Anytime I approve a comment, I'm always irritated by the fact that there isn't a ""View Post"" link anywhere that links to the live post on the front end. The title of the post, such as ""Hello World"", is shown, but it links to post.php.

A lot of times I want to read back through the original post before I answer the comment, and I'd prefer to do that on the live site, not the admin, so I think there needs to be a ""View Post"" link next to the post title that links to the live site.",mordauk
17928,"When a comment is spammed/trashed, change the parent of it's children",,Comments,3.2,normal,normal,Future Release,enhancement,assigned,has-patch,2011-06-29T06:42:11Z,2012-03-08T02:17:19Z,"When removing (spam/trash) a comment that has children, everything goes to hell in terms of hierarchy and you're left with a bunch of orphaned comments.

See two attached images for what currently happens after removing a comment that has children.

When a comment is removed, all immediate children of the comment to be removed should have their parent changed that of the the parent of the comment being removed (or top level if the comment to be removed is top level). Each comment that has it's parent changed then gets that action logged to it's post meta so that it can be moved back in the case of it's previous comment being restored (on post un-delete/spam, find all matching comment metas).",Viper007Bond
16576,comment_form() fields being displayed only for non logged in users,,Comments,3.0.5,normal,normal,Awaiting Review,enhancement,new,,2011-02-16T18:15:44Z,2011-10-19T23:28:16Z,"I've just noticed this - When using the '''comment_form()''' function and adding some comment meta fields,using the fields array in the $args, these fields are being showed in the front-end only for non logged in users.
In this case, the registered users can never use these comment fields.

Look at wp-includes/comment-template, lines 1561-1573 (WP 3.0.5), it parse the $args['fields'] in the else block - 

{{{
<?php if ( is_user_logged_in() ) : ?>
	<?php echo apply_filters( 'comment_form_logged_in', $args['logged_in_as'], $commenter, $user_identity ); ?>
	<?php do_action( 'comment_form_logged_in_after', $commenter, $user_identity ); ?>
<?php else : ?>
	<?php echo $args['comment_notes_before']; ?>
	<?php
	do_action( 'comment_form_before_fields' );
	foreach ( (array) $args['fields'] as $name => $field ) {
		echo apply_filters( ""comment_form_field_{$name}"", $field ) . ""\n"";
	}
	do_action( 'comment_form_after_fields' );
	?>
<?php endif; ?>
}}}

I think it is better that added meta fields should be displayable for all users (logged in and not logged in), or even to add a parameter to let the developer decide which extra fields are shown to logged or not logged users.


",maorb
14510,comment_notes_before does not work.,,Comments,3.0.1,normal,normal,Future Release,enhancement,reopened,,2010-08-02T18:39:34Z,2011-02-18T04:51:54Z,"I am unable to get the comment_notes_before to work.

Using the code:

{{{
comment_form(array( 'comment_notes_before' => 'some text' ));
}}}

... does not work.  it just leaves the default text there.

{{{
comment_form(array( 'comment_notes_after' => 'some text' ));
}}}

... does work.  It allows you to put whatever text you want.",hotforwords
12104,edit-comments.php not available to roles with proper capabilities,,Comments,3.0,normal,normal,Future Release,enhancement,new,has-patch,2010-01-31T22:25:24Z,2012-10-12T15:49:22Z,"I tried to create a Comment Moderator role today and realized it wouldn't work. My intention was to create a role for people who can't write or edit posts, but can keep an eye on the comment threads. I created the role like so:

{{{
#!php
add_role('moderator', 'Moderator', array(
            'read' => 1,
            'moderate_comments' => 1,
        ));
}}}

... then created a new user with that role. When I logged in as my test user, I realized that it was for all intents and purposes a Subscriber. I couldn't see any admin panels but the Dashboard, my profile, and the Tools. I went poking around in edit-comments.php and discovered that it's checking for another capability altogether: 

{{{
#!php
if ( !current_user_can('edit_posts') )
	wp_die(__('Cheatin&#8217; uh?'));
}}}

I double-checked wp-admin/includes/menu.php and it agreed that 'edit_posts' was the minimum capability to see this page, so I tried adding 'edit_posts' to my new role, and I still couldn't get there.

Later on in edit-comments.php, when actually trashing a comment, there is a check for 'moderate_comments', but it's a moot point: this screen doesn't even show up in the admin menu, and if you navigate directly to it, you'll get the ""You do not have sufficient permissions to access this page"" message.

I thought it was entirely possible I'd missed some finer point of creating roles, so I redid it with Justin Tadlock's excellent Members plugin, and that didn't work either.

This behavior might be intentional, but if so, I'm not following the logic. I know roles are due for an overhaul in the next version or two.",sillybean
19893,get_comments_link() doesn't link properly if there are no responses,,Comments,,normal,minor,Awaiting Review,enhancement,new,has-patch,2012-01-25T03:35:53Z,2012-01-25T13:13:12Z,"Since the current implementation of get_comments_link() simply returns the permalink with `#comments` appended to the end of it, and the HTML element with an ID of `comments` only exists when existing comments are wrapped inside of it, it doesn't lead to anything when there are 0 comments on the post.

I've attached a patch that checks whether there are any comments on the post or not; and, if not, it appends `#respond` to the end of the link; otherwise it appends `#comments`.",cgrymala
19903,wp_count_comments() and get_comments_count() both do SQL queries,,Comments,3.3.1,normal,normal,Future Release,enhancement,new,,2012-01-26T22:16:42Z,2012-04-18T20:35:04Z,"{{{wp_count_comments()}}} and {{{get_comments_count()}}} are similar functions, with a few differences:

* Their results are returned in different formats:
 * {{{wp_count_comments()}}} returns an object of:
  * spam
  * approved
  * moderated
  * total_comments
  * trash
  * post-trashed
 * {{{get_comment_count()}}} returns an array of:
  * spam
  * approved
  * awaiting_moderation
  * total_comments
* {{{wp_count_comments()}}} caches, but {{{get_comment_count()}}} always hits the database.
* {{{get_comment_count()}}} is used nowhere in WordPress core.

I propose that we add 'trash' and 'post-trashed' reporting to {{{get_comment_count()}}}, and then have {{{wp_count_comments()}}}  use {{{get_comment_count()}}} instead of doing its own SQL queries.

See #6884 and #19901",markjaquith
14697,wp_list_comments not fully HTML5-friendly,,Comments,3.0.1,normal,minor,Future Release,enhancement,new,has-patch,2010-08-25T16:33:37Z,2012-07-04T09:47:48Z,"Currently, wp_list_comments supports ol, ul, and div as ""styles"" of nesting for threaded comments. While HTML5 is new enough that good markup practices are not entirely settled, the closest thing I've seen to a consensus is nested article elements.

This is currently not possible (except perhaps through a callback). Making it work right would also require inserting the comment classes as part of wp_list_comments' operation, which might require another parameter to turn it on.

I'm sure there are other WP functions that could use expanding to accommodate good HTML5 markup, but this is what jumped out at me.",adamrice
14601,wp_new_comment method doesn't allow passed in values for IP and user-agent,,Comments,3.0.1,normal,normal,3.6,enhancement,new,has-patch,2010-08-12T14:20:21Z,2013-05-04T12:03:02Z,"In a scenario where you have a client that receives comments from the internet and pre-processes those comments before feeding them into wordpress through xmlrpc the ip and user-agent of the commenting internet user gets lost because there is no way of passing those values into the wp_new_comment function. 

`$_SERVER['REMOTE_ADDR']` and `$_SERVER['HTTP_USER_AGENT']` are hard-coded, which in the above mentioned scenario will always have the IP and user-agent from the client that feeds the comments into wp through xmlrpc.

The attached patch will used passed in values and only fall back to `$_SERVER['REMOTE_ADDR']` and `$_SERVER['HTTP_USER_AGENT']` if not passed in.",mrutz
18471,Add action hook after cron processed it's jobs,,Cron,3.2.1,normal,normal,Awaiting Review,enhancement,new,has-patch,2011-08-18T12:30:19Z,2012-10-15T01:26:35Z,Sometimes it's hard to debug cron jobs or validate the results. A simple action fired after the wp-cron.php did his magic could help improve this experience.,tott
21072,CRON often returns ambiguous values,,Cron,,normal,normal,Awaiting Review,enhancement,new,has-patch,2012-06-26T02:18:27Z,2012-06-26T06:18:34Z,"Many of the cron API functions return ambiguous values.  For example, `wp_cron()` [http://core.trac.wordpress.org/browser/tags/3.4/wp-includes/cron.php#L251 returns] `null` (explicitly) when cron doesn't run, but it also returns `null` (implicitly) every other time.  This can make debugging harder.

Whenever possible, I think it's valuable to return meaningful values.  The attached patch does that.",evansolomon
15148,Cron Storage Abstraction,,Cron,,normal,normal,Future Release,enhancement,new,has-patch,2010-10-19T04:04:00Z,2011-06-02T07:03:36Z,Abstract cron storage to allow pluggable storage schemes.,ryan
23133,Display a warning in the admin if cron tasks fail due to blocked HTTP requests,,Cron,3.5,normal,major,Awaiting Review,enhancement,new,dev-feedback,2013-01-07T08:33:05Z,2013-01-29T20:08:25Z,"I recently upgraded my very simple WP site to 3.5 where the following was in use:

Theme: Twenty Eleven
Plugins: None Activated

I have been completely unable to submit a post for publishing in a future date, when the time occurs, I get a ""missed schedule"" message.

The schedule entry in cron is as follows:

Next due (GMT/UTC): Jan 4, 2013 @ 11:28 (1357298880)
          Schedule: One-off event
              Hook: publish_future_post
         Arguments: [0]: 358

Increasing the timeout value in cron.php has made no difference. 

I will need to remain on a lower release until this is fixed or a diagnosis ""kit"" is made available.

I am not using any software other that WP produced at this point and feel that the lack of wp-cron documentation and support in the public domain leaves alot of people clocking many hours googling in desperation...

Make a difference in 2013 and get 3.5 development priorities to de-mystify the methods of fixing wp-cron please :o)",prb22public@…
17957,wp_reschedule_event & daylight saving,,Cron,3.2,normal,normal,Awaiting Review,enhancement,reopened,,2011-07-01T09:03:28Z,2013-04-11T23:18:10Z,"When a recurring event is established using the WP cron functions the function takes a Unix timestamp and a recurrence interval.

In the situation where daylight saving changes the local time, the timing of an event can change by an hour. So, if a database backup is set to run at midnight when the clocks change this can start to happen at 11pm or 1am instead since the timing of the event is based on an initial static time (Unix timestamps reference point is January 1, 1970) and a static interval period.

An enhancement to the cron functions would be to account for an obey daylight saving changes so that events schedule for midnight actually occur at midnight irrespective of the time of year.",MattyRob
11717,Access to automatic database repair/optimize with admin rights,ryan,Database,2.9.1,normal,normal,Future Release,enhancement,new,dev-feedback,2010-01-05T07:35:10Z,2012-08-08T08:52:02Z,"Hi,

I read somewhere that the reason for using a constant as enabler for the automatic repairing/optimizing database functionality was, that some people are not able to access their back-end in case certain tables are broken.

Anyway, as db optimization (and not only repairing) is also included in ''/wp-admin/maint/repair.php'', it would be helpful, if we could avoid setting the constant and in addition grant users with the admin role the right to access the functionality.

I've added the necessary two lines and attached a patch to this ticket. - Hopefully this will make it into core, because it would really ease access and increase usability.

My Best,
Berny",neoxx
18736,Add REGEXP to 'compare' values in meta_query,,Database,3.2.1,normal,normal,Awaiting Review,enhancement,new,has-patch,2011-09-21T15:39:51Z,2013-01-16T23:18:07Z,"I wish to sort some queries using the alphabet.

My current query:
{{{
#!php
$getPostIds = $wpdb->get_col(""
    SELECT p.ID
    FROM $wpdb->posts p, $wpdb->postmeta pm
    WHERE p.ID = pm.post_id 
    AND pm.meta_key = 'prod-id' 
    AND pm.meta_value
    REGEXP '^"" . $wpdb->escape($alpha) . ""'
    AND p.post_status = 'publish' 
    AND p.post_type = 'review'
    AND p.post_date < NOW()
    ORDER BY pm.meta_value ASC""
);

$posts = new WP_Query(array(
    'post__in' => $getPostIds,
    'post_type' => 'review',
    'post_status' => 'publish',
    'showposts' => 20,
    'paged' => $paged,
    'caller_get_posts' => 1, // do not order sticky posts at the top
    'orderby' => 'title',
    'order' => 'ASC'
));
}}}

It would be much simpler if I could use the equivalent with meta_query:
{{{
#!php
query_posts(array(
    'post_type' => 'review',
    'post_status' => 'publish',
    'showposts' => 20,
    'paged' => $paged,
    'caller_get_posts' => 1, // do not order sticky posts at the top
    'orderby' => 'metal_value',
    'order' => 'ASC',
    'meta_query' => array(
        array(
            'key'   => 'prod-id',
            'value' => '^'.get_query_var('letter'),
            'compare' => 'REGEXP'
        )
    )
));
}}}

I'd love to see it implemented :)
Thanks!",FlashUK
15499,Add an index for get_lastpostmodified query,,Database,3.0.1,normal,normal,Future Release,enhancement,new,dev-feedback,2010-11-19T18:20:31Z,2012-12-04T21:50:27Z,"I had a friend (Jools Wills) look over a WordPress site recently, to get a fresh view on what might be optimised, and he noticed a query which might benefit from an additional index on ```WP_Posts```. The query ```SELECT post_modified_gmt FROM $wpdb->posts WHERE post_status = 'publish' AND post_type = 'post' ORDER BY post_modified_gmt DESC LIMIT 1``` in ```get_lastpostmodified``` is run for last modified date in GMT, and currently doesn't use an index. This SQL is run whenever certain types of feed are requested as far as I can see.

We added ```CREATE INDEX type_status_modified ON wp_posts (post_type, post_status, post_modified_gmt);``` and ```CREATE INDEX type_status_modified_no_id ON wp_posts (post_type, post_status, post_date_gmt);``` and the query runs a lot faster now. The following timings were taken running the first query (```post_modified_gmt```) on a 36,362 row posts table. Note that it doesn't use filesort after the index has been added.

''Before:''

{{{
mysql> EXPLAIN SELECT post_modified_gmt FROM slgr_posts WHERE post_status = 'publish' AND post_type = 'post' ORDER BY post_modified_gmt DESC LIMIT 1;
+----+-------------+------------+------+------------------+------------------+---------+-------------+-------+-----------------------------+
| id | select_type | table      | type | possible_keys    | key              | key_len | ref         | rows  | Extra                       |
+----+-------------+------------+------+------------------+------------------+---------+-------------+-------+-----------------------------+
|  1 | SIMPLE      | slgr_posts | ref  | type_status_date | type_status_date | 124     | const,const | 24718 | Using where; Using filesort |
+----+-------------+------------+------+------------------+------------------+---------+-------------+-------+-----------------------------+
1 row in set (0.03 sec)
}}}


 * 0.21290683746338ms
 * 0.25690102577209ms
 * 0.230553150177ms
 * 0.2274341583252ms
 * 0.23083996772766ms

''After:''

{{{
mysql> EXPLAIN SELECT post_modified_gmt FROM slgr_posts WHERE post_status = 'publish' AND post_type = 'post' ORDER BY post_modified_gmt DESC LIMIT 1;
+----+-------------+------------+------+---------------------------------------+----------------------+---------+-------------+-------+-------------+
| id | select_type | table      | type | possible_keys                         | key                  | key_len | ref         | rows  | Extra       |
+----+-------------+------------+------+---------------------------------------+----------------------+---------+-------------+-------+-------------+
|  1 | SIMPLE      | slgr_posts | ref  | type_status_date,type_status_modified | type_status_modified | 124     | const,const | 24718 | Using where |
+----+-------------+------------+------+---------------------------------------+----------------------+---------+-------------+-------+-------------+
1 row in set (0.00 sec)
}}}

 * 0.00082707405090332ms
 * 0.00072288513183594ms
 * 0.00074386596679688ms
 * 0.00066494941711426ms
 * 0.00066208839416504ms

In ```get_lastpostmodified``` both these queries are run, so the total savings in my case on a quiet server are nearly 0.5 seconds... worth having, I reckon.

I've not created a patch for schema changes before, but I think the only place the change would need to go would be ```scheme.php```? Suggested patch attached.",simonwheatley
18315,Add an index to the GUID column in the posts table,,Database,3.2.1,normal,normal,Awaiting Review,enhancement,new,has-patch,2011-08-02T04:31:01Z,2011-08-02T05:09:12Z,"Running queries on the GUID column in the posts table is slow because the column is not indexed. The attached patch adds an index.

Note, this affects ticket #18286 - I will update that ticket with appropriate patches to reflect this request.",alexkingorg
22117,Better backtrace,,Database,3.4.2,normal,normal,Awaiting Review,enhancement,new,dev-feedback,2012-10-06T14:06:50Z,2012-10-06T18:25:28Z,"Hey,
This is a small hack for a prettier backtrace info.

the file '''''/wp-includes/functions.php''''' at Line 3547

the new functions with added lines

{{{
function wp_debug_backtrace_summary( $ignore_class = null, $skip_frames = 0, $pretty = true ) {
	if ( version_compare( PHP_VERSION, '5.2.5', '>=' ) )
		$trace = debug_backtrace( false );
	else
		$trace = debug_backtrace();

	$caller = array();
	$check_class = ! is_null( $ignore_class );
	$skip_frames++; // skip this function
	$last_info = array();

	foreach ( $trace as $call ) {
		if ( isset( $call['class'] ) && 'wpdb' == $call['class'] )
		{
			$last_info['file'] = basename($call['file']);
			$last_info['line'] = $call['line'];
		}

		if ( $skip_frames > 0 ) {
			$skip_frames--;
		} elseif ( isset( $call['class'] ) ) {
			if ( $check_class && $ignore_class == $call['class'] )
				continue; // Filter out calls
			$caller[] = ""{$call['class']}{$call['type']}{$call['function']}"";
			if( empty( $last_info['func'] ) ) $last_info['func'] = $call['class'].'->'.$call['function'];
		} else {
			if ( in_array( $call['function'], array( 'do_action', 'apply_filters' ) ) ) {
				$caller[] = ""{$call['function']}('{$call['args'][0]}')"";
			} elseif ( in_array( $call['function'], array( 'include', 'include_once', 'require', 'require_once' ) ) ) {
				$caller[] = $call['function'] . ""('"" . str_replace( array( WP_CONTENT_DIR, ABSPATH ) , '', $call['args'][0] ) . ""')"";
			} else {
				$caller[] = $call['function'];
				if( empty( $last_info['func'] ) ) $last_info['func'] = $call['function'];
			}
		}
	}
	if ( $pretty )
		return sprintf(__(""Error at %s, at line %d, in function %s<br/>%s""), 
				$last_info['file'], $last_info['line'], $last_info['func'], join( ', ', array_reverse( $caller ) ) );
	else
		return $caller;
}
}}}",msolution
9642,Database Schema Optimizations,,Database,2.8,normal,normal,Future Release,enhancement,assigned,,2009-04-24T19:42:40Z,2013-02-16T16:15:57Z,Diffs coming...,Denis-de-Bernardy
13310,Extend option_name to varchar(255),ryan,Database,3.4.2,normal,normal,Future Release,enhancement,new,dev-feedback,2010-05-09T13:34:25Z,2012-10-19T09:39:28Z,"option_name is currently set to varchar(64). This raises problems when one tries to use transients with slightly longer names and a timeout:

{{{_transient_timeout_feed_mod_23a137101df6920fbf6047...}}} has 60 chars already.",scribu
22115,Further Simplifying errors,,Database,3.4.2,normal,normal,Future Release,enhancement,new,dev-feedback,2012-10-06T11:32:15Z,2013-05-16T11:55:15Z,"tracking errors while making API's and cron jobs, is a tad difficult.

from the latest wordpress pack, '''''/includes/wp-db.php'''''

{{{
function query( $query ) {
...
...
if ( defined( 'SAVEQUERIES' ) && SAVEQUERIES )
	$this->queries[] = array( $query, $this->timer_stop(), $this->get_caller() );

// If there is an error then take note of it..
if ( $this->last_error = mysql_error( $this->dbh ) ) {
	$this->print_error();
	return false;
}
...
...
}}}

if we change the above to simply

{{{
// If there is an error then take note of it..
$this->last_error = '';
if ( $this->last_error = mysql_error( $this->dbh ) )
	$this->print_error();

if ( defined( 'SAVEQUERIES' ) && SAVEQUERIES )
	$this->queries[] = array( $query, $this->timer_stop(), $this->get_caller(), $this->last_error );

// If there is an error then take note of it..
if ( ! empty( $this->last_error ) )
	return false;
}}}

then we have all required info in the array queries, for use later. may it be wp_footer, or for a plugin as debug info.",msolution
20316,Garbage collect transients,,Database,,normal,normal,Future Release,enhancement,new,dev-feedback,2012-03-28T22:04:35Z,2013-05-14T15:57:57Z,"Per an IRC discussion and long-considered changes:

 * In wp_scheduled_delete(), look for expired transients and purge them.

 * On DB upgrade, purge all transients, regardless of expiration. (This should probably happen on auto-update as well, but let's let that part slide for now, as DB upgrade will run on all major releases these days.)

We should only do this if ! $_wp_using_ext_object_cache.",nacin
18105,Improve JOIN efficency of tax_query,,Database,,normal,normal,Awaiting Review,enhancement,new,,2011-07-14T04:28:59Z,2012-06-04T23:40:00Z,"Use of multiple items in a tax_query creates an inner join for each entry. This seems unnecessary.

Example query:

{{{
array(
  'tax_query' => array(
    'relation' => 'OR',
    array('taxonomy' => 'tax1', 'field' => 'slug', 'terms' => 'term1'),
    array('taxonomy' => 'tax2', 'field' => 'slug', 'terms' => 'term2'),
  )
)
}}}

Resulting SQL:

{{{
SELECT SQL_CALC_FOUND_ROWS wp_posts.* FROM wp_posts  
INNER JOIN wp_term_relationships ON (wp_posts.ID = wp_term_relationships.object_id) 
INNER JOIN wp_term_relationships AS tt1 ON (wp_posts.ID = tt1.object_id) 
WHERE 1=1 AND
...
AND (wp_term_relationships.term_taxonomy_id IN (XXX) 
  OR tt1.term_taxonomy_id IN (YYY) ) 
...
}}}

Each new entry in the array creates another inner join on the term_relationships table, along with an associated select argument.

However, the term_relationships table is defined with these main keys:

{{{
CREATE TABLE $wpdb->term_taxonomy (
 term_taxonomy_id bigint(20) unsigned NOT NULL auto_increment,
 term_id bigint(20) unsigned NOT NULL default 0,
 taxonomy varchar(32) NOT NULL default '',
...
 PRIMARY KEY  (term_taxonomy_id),
 UNIQUE KEY term_id_taxonomy (term_id,taxonomy),
}}}


This basically means that the term_taxonomy_id is a unique ID for the row, and it's pointing to a unique relationship between some term and some taxonomy. Essentially, term_relationships defines what terms are in what taxonomies.

Therefore, the extra inner join and selection are entirely unnecessary. All references to a term in a taxonomy are unique. This isn't individual terms we're looking for in this query, but term+taxonomy. 

An equivalent SQL statement to the one given before would be this:

{{{
SELECT SQL_CALC_FOUND_ROWS wp_posts.* FROM wp_posts  
INNER JOIN wp_term_relationships ON (wp_posts.ID = wp_term_relationships.object_id) 
WHERE 1=1 AND
...
AND (wp_term_relationships.term_taxonomy_id IN (XXX, YYY) ) 
...
}}}

This is equivalent because both XXX and YYY point to a specific term+taxonomy combination, not just to a term.

For the similar relation = AND case (instead of relation = OR), this query would be equivalent:


{{{
SELECT SQL_CALC_FOUND_ROWS wp_posts.* FROM wp_posts  
INNER JOIN wp_term_relationships ON (wp_posts.ID = wp_term_relationships.object_id) 
WHERE 1=1 AND
...
AND (wp_term_relationships.term_taxonomy_id IN (XXX) 
AND (wp_term_relationships.term_taxonomy_id IN (YYY) ) 
...
}}}

We get a second statement in the where clause, but note the lack of a second inner join and lack of referencing it. This greatly improves performance. 

Only one inner join is ever actually required for any number of items in the tax_query, thanks to the pre-lookups being performed to find the proper term_relationship entries.

Similar enhancements might be available for the meta table, however that is more complex and may be more difficult to improve.
",Otto42
21212,MySQL tables should use utf8mb4 character set,,Database,3.4.1,normal,minor,Awaiting Review,enhancement,reopened,,2012-07-11T04:26:12Z,2012-10-09T06:56:41Z,"Historically, the MySQL utf8 character set has only supported the first character plane of UTF-8. With MySQL 5.5.3, it now supports the entire character plane, using the utf8mb4 character set. This character set is 100% backwards compatible, and does not require more space than utf8 for characters that fall within the utf8 set, only using an extra byte for characters outside of the utf8 set.

References:

http://en.wikipedia.org/wiki/Mapping_of_Unicode_character_planes [[BR]]
http://dev.mysql.com/doc/refman/5.5/en/charset-unicode-utf8mb4.html",pento
19019,Reduce duplication in $wpdb,,Database,,normal,minor,Future Release,enhancement,new,commit,2011-10-20T21:16:00Z,2013-04-22T19:53:27Z,"Currently, update(), insert() and soon delete() [see #18948] use the same code to generate the WHERE clause.

It should be moved into a helper method.",scribu
10819,Suggestion: Addition to dbDelta - returns FALSE on mySQL error,ryan,Database,2.8.4,normal,normal,Future Release,enhancement,new,dev-feedback,2009-09-20T22:07:46Z,2009-09-20T22:21:53Z,"I don't have any idea how to submit or recommend a change to the WordPress core, but I'm going to give this a shot anyway... having just spent a lot of time struggling with the dbDelta function while programming a plugin, I had a possible suggestion to make. It strikes me that said function would be a lot easier to use if something similar to the following code was added, starting on line 1363 of wp-admin/includes/upgrade.php:

	if($execute) {
		$query_error_num = 0;
		foreach($allqueries as $query) {
			//echo ""<pre style=\""border:1px solid #ccc;margin-top:5px;\"">"".print_r($query, true).""</pre>\n"";
			$qresult = $wpdb->query($query);
			if ($qresult === false) {
				$query_error_num++;
				$qerror = 'error' . $query_error_num;
				$for_update[$qerror] = ""Query error - The following query failed: "" . $query;
			}
		}
	}

	return $for_update;

There's probably a more optimized way to go about it - programming isn't my strong suit by any stretch of the means - but at least this way errors caused when *creating* tables with the function will return some kind of error message, even if it's PHP only.

Opinions?",tinwatchman
22884,What if I delete wp_posts table from database.,,Database,3.5,normal,normal,Awaiting Review,enhancement,new,dev-feedback,2012-12-12T12:48:24Z,2012-12-13T11:51:20Z,"I am not a experienced or mature programmer but I have seen it While I was playing with database of WordPress.

I have deleted wp_posts table in database in WordPress - 3.5(beta).

It looks normal on other pages at admin side but when i open single post it shows post-new.php and when hit save, it shows ""wp_error"" with this message ""You are not allowed to edit this post.""

That's OK. I was expecting error but not this type of error.

It seems WordPress doesn't know that its most important table has gone away and that's why admin may not know( well for a while). I think its not good. well I don't know its issue or it is way it behaves with database and its normal but I think WordPress should know what exactly happened.

when I have updated WordPress with stable 3.5 it has updated but database is still same which is normal.

Should we( can we )track tables( some of tables which are important ) by PHP ?",mukkundthanki
13657,When WP_DEBUG is true show better errors for establishing database connection,ryan,Database,,low,trivial,Future Release,enhancement,new,has-patch,2010-05-31T16:26:04Z,2012-12-30T09:35:09Z,"Right now no matter if WP_DEBUG is enabled or not we always show some generic errors for Error establishing a database connection

We should display the specific error when WP_DEBUG is enabled.",sivel
22196,add $wpdb->upsert function,,Database,3.4.2,normal,normal,Awaiting Review,enhancement,new,,2012-10-15T12:48:33Z,2012-10-15T14:53:24Z,"If i read http://codex.wordpress.org/Class_Reference/wpdb right, we have only insert and update functions, but for many occations, if would be lovely, if we would have upsert function as well (using INSERT ... ON DUPLICATE KEY UPDATE http://dev.mysql.com/doc/refman/5.1/en/insert-on-duplicate.html).

So when i am inserting e.g. posts using database function, i do not have to check if post with that id exist (good for some migration / importing tools etc.)",thomask
10883,db-error.php not used for all DB failures,ryan,Database,2.8.4,normal,normal,Future Release,enhancement,new,dev-feedback,2009-10-01T02:45:28Z,2013-01-25T04:39:55Z,"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
10404,dbDelta creates duplicate indexes when index definition contains spaces,,Database,2.8.1,normal,normal,Future Release,enhancement,new,has-patch,2009-07-14T10:59:54Z,2013-03-25T12:24:45Z,"I was adding a much needed index in wp_object_term_relationships, and testing revealed it was getting added multiple times.

This works as intended:

{{{
CREATE TABLE $wpdb->term_relationships (
 object_id bigint(20) unsigned NOT NULL default 0,
 term_taxonomy_id bigint(20) unsigned NOT NULL default 0,
 term_order int(11) NOT NULL default 0,
 PRIMARY KEY  (object_id,term_taxonomy_id),
 UNIQUE KEY reverse_pkey (term_taxonomy_id,object_id),
 KEY term_taxonomy_id (term_taxonomy_id)
) $charset_collate;"");
}}}


This doesn't:

{{{
CREATE TABLE $wpdb->term_relationships (
 object_id bigint(20) unsigned NOT NULL default 0,
 term_taxonomy_id bigint(20) unsigned NOT NULL default 0,
 term_order int(11) NOT NULL default 0,
 PRIMARY KEY  (object_id,term_taxonomy_id),
 UNIQUE KEY reverse_pkey (term_taxonomy_id, object_id),
 KEY term_taxonomy_id (term_taxonomy_id)
) $charset_collate;"");
}}}

the only difference between the two is a space in the reverse_pkey column list. we should remove spaces in there to avoid potential bugs.",Denis-de-Bernardy
20634,dbDelta is unforgiving about field declarations,,Database,1.5,normal,minor,Awaiting Review,enhancement,new,has-patch,2012-05-08T03:27:05Z,2012-05-24T07:31:40Z,"the variable type is case sensitive:
int(22) != INT(22)

the mysql type BOOL or BOOLEAN comes back from the db as tinyint(1):
tinyint(1) != BOOLEAN

Not a huge issue, just annoying. Makes dbDelta fire off unnecessary sql.
 ",SidHarrell
23061,get_post_meta() on post with large amount of meta keys uses too much memory,,Database,,normal,normal,Awaiting Review,enhancement,new,,2012-12-27T13:40:17Z,2012-12-27T14:54:48Z,"I think it's likely there has been a ticket on this in the past, but I couldn't find one so here goes!

If I have a post that have say 25k post meta entries, and I call `get_post_meta( $id, 'foo', true )` then `update_meta_cache` is going to cause all post metas to be loaded into memory.

In most cases I can see this makes sense, however I recently had an issue where I was storing contest votes as meta keys, a post had 30k votes, and would take about 70MB of memory to get any meta key of that post (even if I didn't want votes). This is fairly edgecase, but the idea that all meta for a post is always loaded even if you don't want it is perhaps over presumptuous as a dev may be storing a large amount of data in meta.

With persistant object caching this is somewhat worse, as the object cache store gets very large. 

I am not proposing this functionality is removed, maybe just a filter or something in http://core.trac.wordpress.org/browser/trunk/wp-includes/meta.php#L524 so one could either adjust the query or perhaps pass an array of meta keys to exclude from the sql query",joehoyle
14273,maybe_create_table cleanup,pento,Database,3.0,normal,normal,Future Release,enhancement,assigned,has-patch,2010-07-11T13:08:09Z,2012-08-08T07:47:23Z,"Cleaned up maybe_create_table() - no more iterations.
Cheers. Dragoonis aka Dr4g(irc).",dragoonis
20223,simulate mysql_real_escape_string when not yet connected to DB,,Database,3.3.1,normal,normal,Awaiting Review,enhancement,new,has-patch,2012-03-13T09:16:53Z,2012-05-16T19:49:33Z,"Currently wpdb::_real_escape() falls back to addslashes() when you're not yet connected to the database

Instead, have it fall back to a closer mimic of mysql_real_escape_string():

Use this to make patch:
http://pastebin.com/5vMaBhQe

Reference: 
http://dev.mysql.com/doc/refman/5.0/en/mysql-real-escape-string.html
http://www.php.net/manual/en/function.mysql-real-escape-string.php",scottconnerly
15158,wpdb insert & update with null values,sorich87*,Database,3.0.1,normal,normal,Future Release,enhancement,accepted,has-patch,2010-10-19T20:47:51Z,2013-01-08T13:39:21Z,"From: http://wordpress.org/support/topic/bug-fix-wpdb-insert-amp-update-with-null-values

""Some of you might have noticed but the wpdb's insert & update methods don't work well with null value (if you try to set null on a numeric field you'll end up with 0)""
",westi
5932,"wpdb should reconnect and retry query when ""MySQL server has gone away""",pento,Database,3.0,normal,normal,Future Release,enhancement,assigned,has-patch,2008-02-20T08:17:01Z,2012-11-07T06:15:56Z,"Using 2.3.3, here are the type of errors that crop up in error_log everyday. 


{{{

[25-Jan-2008 08:37:35] WordPress database error MySQL server has gone away for query UPDATE wp_options SET option_value = '0' WHERE option_name = 'doing_cron'
[25-Jan-2008 09:23:19] WordPress database error MySQL server has gone away for query UPDATE wp_options SET option_value = '0' WHERE option_name = 'doing_cron'
[26-Jan-2008 00:03:54] WordPress database error MySQL server has gone away for query UPDATE wp_options SET option_value = '0' WHERE option_name = 'doing_cron'
[26-Jan-2008 00:04:29] WordPress database error MySQL server has gone away for query SELECT * FROM wp_posts, wp_postmeta WHERE wp_posts.ID = wp_postmeta.post_id AND wp_postmeta.meta_key = '_pingme' LIMIT 1
[26-Jan-2008 00:04:29] WordPress database error MySQL server has gone away for query SELECT * FROM wp_posts, wp_postmeta WHERE wp_posts.ID = wp_postmeta.post_id AND wp_postmeta.meta_key = '_encloseme' LIMIT 1
[26-Jan-2008 00:04:29] WordPress database error MySQL server has gone away for query SELECT ID FROM wp_posts WHERE CHAR_LENGTH(TRIM(to_ping)) > 7 AND post_status = 'publish'
[26-Jan-2008 00:05:09] WordPress database error MySQL server has gone away for query SELECT * FROM wp_posts, wp_postmeta WHERE wp_posts.ID = wp_postmeta.post_id AND wp_postmeta.meta_key = '_pingme' LIMIT 1
[26-Jan-2008 00:05:09] WordPress database error MySQL server has gone away for query SELECT * FROM wp_posts, wp_postmeta WHERE wp_posts.ID = wp_postmeta.post_id AND wp_postmeta.meta_key = '_encloseme' LIMIT 1
[26-Jan-2008 00:05:09] WordPress database error MySQL server has gone away for query SELECT ID FROM wp_posts WHERE CHAR_LENGTH(TRIM(to_ping)) > 7 AND post_status = 'publish'
[26-Jan-2008 00:05:47] WordPress database error MySQL server has gone away for query SELECT * FROM wp_posts, wp_postmeta WHERE wp_posts.ID = wp_postmeta.post_id AND wp_postmeta.meta_key = '_pingme' LIMIT 1
[26-Jan-2008 00:05:47] WordPress database error MySQL server has gone away for query SELECT * FROM wp_posts, wp_postmeta WHERE wp_posts.ID = wp_postmeta.post_id AND wp_postmeta.meta_key = '_encloseme' LIMIT 1
[26-Jan-2008 00:05:47] WordPress database error MySQL server has gone away for query SELECT ID FROM wp_posts WHERE CHAR_LENGTH(TRIM(to_ping)) > 7 AND post_status = 'publish'
.................
}}}
",dtc
12819,wpdb::prepare support for null,ryan,Database,,normal,normal,Future Release,enhancement,reopened,,2010-04-02T18:15:19Z,2013-05-13T16:39:35Z,"now we can not submit null values using wpdb::prepare. if we lets say have datetime field that can be null, and execute query prepared with $wpdb->prepare(""update table set date_time_field = %s"", null) - it sets value of the field to 0, which results in 0000-00-00 00:00:00 date. what is happening here - null is quoted and passed as a string, that should not be the case.",roxaz
9272,Expand human_time_diff()'s abilities,Viper007Bond,Date/Time,2.8,normal,normal,Future Release,enhancement,new,has-patch,2009-03-04T10:42:21Z,2013-03-08T17:21:44Z,"This is partially related to #7250.

Currently `human_time_diff()` can only do days, hours, and minutes. I propose we expand it a bit, to at least weeks and possibly even months and years (although that can be tricky unless PHP has a shortcut).

It should also support the ability to trim to a certain accuracy, i.e. for a 2 year 1 month old post, minutes don't matter.

In short, I propose we integrate Time Since's functionality into the core by expanding the current `human_time_diff()`.",Viper007Bond
21653,Introduce current_date(),,Date/Time,,low,normal,Awaiting Review,enhancement,new,has-patch,2012-08-21T19:33:59Z,2013-01-07T09:25:24Z,"WordPress comes with a function called `current_time()` which returns the current time according to the timezone chosen on the General Settings screen. It's used when populating the post date, among other things.

It would be nice to have a date equivalent of this function for outputting the current date according to the timezone setting. Currently if you want to output the current date you need to do this:
{{{
echo date( 'd/m/Y', current_time( 'timestamp' ) );
}}}
I'd like to be able to use this instead:
{{{
echo current_date( 'd/m/Y' );
}}}

Note that just using `date()` doesn't give the desired effect as WordPress sets the default timezone (as used by `date()`) to UTC, not to the timezone chosen on the settings screen.",johnbillion
19813,Keyboard shortcuts for editing posted date,,Date/Time,3.3.1,normal,normal,Awaiting Review,enhancement,new,,2012-01-12T09:28:13Z,2012-01-12T17:39:31Z,"In short, I thought it would be a nice feature to be able to use the Up/Down arrow keys to increment or decrement the values within the post published date/time input boxes. I found this stackoverflow post with the basics of how to retrieve keystrokes and alter the value based on which one was pressed. 

http://stackoverflow.com/questions/7742364/incrementing-value-integer-in-an-input-type-field.

I then altered the code to prevent negative numbers and stay within the limits of each field type.

Days get 1-31
Year gets 1900+
Hours get 0-23
Minutes get 0-59

JS could probably be cleaned up a bit and condensed, but I wasn't quite sure how to separate them all out. Maybe someone with more js-fu can help out with that",tw2113
19849,Pass $comment_date to get_comment_time filter,,Date/Time,3.3.1,normal,minor,Awaiting Review,enhancement,new,,2012-01-17T17:50:50Z,2012-01-17T17:50:50Z,"I was writing a function to customize the formatted time to include the timezone in the comment meta data using the get_comment_time filter. In order for me to properly indicate whether daylight savings time was in effect at the time of the comment, I needed to globalize $comment to get the comment_time property. The filter passed the $date variable which is the formatted time part of the timestamp but not the $comment_date variable which contained the entire timestamp from $comment. In the function I developed, the $date string wasn't used at all. I returned the formatted time string from $comment->comment_date directly. 

Since get_comment_time() already establishes $comment_date, why not pass it to the filter as well?",lexhair
15921,date column filter in media list table,,Date/Time,3.1,normal,normal,Future Release,enhancement,new,,2010-12-20T18:25:49Z,2011-03-23T17:08:18Z,"please add a filter for date column in media list table, like posts list table.

in wp-admin\includes\class-wp-media-list-table.php @ line:288
replace:
{{{
<td <?php echo $attributes ?>><?php echo $h_time ?></td>
}}}

with:
{{{
<td <?php echo $attributes ?>><?php echo apply_filters( 'media_date_column_time', $h_time); ?></td>
}}}",gonahkar
23132,wp_timezone_override_offset() has noticeable performance hit,,Date/Time,3.5,normal,minor,3.6,enhancement,new,has-patch,2013-01-06T22:05:19Z,2013-03-03T05:01:15Z,"While wandering through XHProf generated callgraph of my test stack I came upon `wp_timezone_override_offset()` eating 3.4% of runtime (73 calls). I do not expect noticeable resource consumption from such minor configuration-related function.

The obvious performance aspect is that it creates and discards two objects (`DateTime` and `DateTimeZone` - latter seemingly more heavy) per each call, while calculating same result each run.

The less obvious aspect is that the only use of this function is to pre-filter `gmt_offset` option, and it essentially hijacks option cache for it.

Possible solutions:

 - calculate result once per run and cache in static variable inside function (straightforward, but retains multiple function call)
 - filter `gmt_offset` on set rather than get (more involved)
 - scrap the extra function and/or option altogether? is there still practical need for having two options for timezone information?",Rarst
16819,Accessibility: Internal Linking behaviour in Editor / TinyMCE,,Editor,3.1,normal,normal,Awaiting Review,enhancement,reopened,,2011-03-10T10:52:26Z,2012-10-22T15:58:33Z,"'''Issue'''

The default behaviour of the new 'Internal Linking' feature is to auto-insert the title attribute as a duplicate of the link text.

This is not best-practise and, contrary to some beliefs, doesn't actually aid accessibility.

'''Solution'''

The title field should be blank by default and only included if the uses enters data.

'''Why?'''

Title text is only useful when it is *different* to the actual link text AND provides additional information.  Duplicating the link text in this fashion just adds fuzz to the page.
",stencil
18979,Add $post_type parameter and a filter to meta_form(),,Editor,,normal,normal,Awaiting Review,enhancement,new,,2011-10-18T03:55:56Z,2012-04-01T12:29:54Z,"In the current version, meta_form(), the function which outputs Custom Fields form used in Edit Post pages, shows all meta keys you have used regardless of post type. Sometimes this gives users unwanted options.

I'd like to suggest adding $post_type parameter to meta_form() to show only meta keys you have used in the same post type. In addition, it would be better if there were a filter for the meta keys.",takayukister
14808,Add Editor Documentation Functions URL for theme-defined functions,,Editor,,normal,normal,Future Release,enhancement,new,has-patch,2010-09-08T00:57:20Z,2011-08-25T00:15:44Z,"Currently, functions that are called within template files shown on the editor are included in the list of functions that you can try and lookup documentation for.

(The $ignore_functions array only seems to be for functions defined, not called, in a file.)

As the http://api.wordpress.org/core/handbook/1.0/?function=... seems to be hard-coded in, it's not possible for themes to overwrite it for functions they've defined.

Is it possible to allow themes to define where the documentation lookup should be for their own functions?",GamajoTech
23159,Add Words Counter In The Excerpt Metabox,,Editor,3.5,normal,normal,Awaiting Review,enhancement,new,,2013-01-09T19:46:57Z,2013-01-11T17:26:24Z,"Hi WordPress Lovers :) , WordPress 3.6 fouces on ""Content Editing"" a small good idea is to add a words counter in the bottom of excerpt meta-box , and a small tip of the current theme max words count ..",alex-ye
22924,Add filter to theme editor accepted files,,Editor,3.5,normal,normal,Awaiting Review,enhancement,new,has-patch,2012-12-13T21:35:48Z,2013-02-22T20:41:09Z,"Proposing adding a filter to theme-editor.php so theme authors can add to the list of files that are editable. ie html/less/js files.

Hers an example of what could be possible:
{{{
add_filter( 'wp_theme_editor_filetypes', 'add_my_filetype', 10, 2 );
function add_my_filetype( $allowed_types, $theme ) {
	
	$extra = $theme->get_files( 'less', 1 );
	return $allowed_types += $extra;
}
}}}",pross
7665,Add jQuery UI's datepicker() where applicable,chsxf,Editor,2.7,lowest,minor,Future Release,enhancement,assigned,has-patch,2008-09-01T09:32:03Z,2013-05-14T07:48:59Z,"Obviously it'll need some skinning, but it's handy dandy:

http://jqueryui.com/demos/datepicker/

It'd be slick to have that for choosing dates (for example publish dates). We should still allow manual entry though.",Viper007Bond
11268,Allow Image Map in KSES,,Editor,2.9,low,minor,Future Release,enhancement,new,has-patch,2009-11-26T00:12:31Z,2010-03-31T08:50:20Z,Add image maps in allowed post tags.,mtdewvirus
19992,Auto-fill URL field on Insert/edit link popup,,Editor,3.3.1,normal,normal,Awaiting Review,enhancement,new,has-patch,2012-02-08T22:38:14Z,2012-11-26T00:14:21Z,"I'd like to see the following behavior: When I select a plain URL or email address in the editor and click on ""Insert/edit link"" the URL field is already populated with either the URL or with a ""mailto:<email-address>"". Any thoughts? I'd more than happy to write a patch.",tillkruess
15631,Custom fields auto-focus,,Editor,3.1,normal,normal,Future Release,enhancement,new,has-patch,2010-12-01T19:02:16Z,2013-01-22T15:23:25Z,"When you are on the post editor (page editor, whatever), if you want to create a new custom field and click on Create New, it should auto-focus on the text input field that appears. ",jane
23339,DFW in HTML mode should have switch text direction button for RTL languages,,Editor,,normal,normal,Awaiting Review,enhancement,new,,2013-01-31T12:22:55Z,2013-02-01T19:14:02Z,It is hard to edit HTML when the flow of the text is right to left. The normal HTML editor has this button when used in RTL environment.,mark-k
20237,Default editor needs support for non-DFW fullscreen mode,,Editor,3.3.1,normal,minor,Awaiting Review,enhancement,new,close,2012-03-14T23:13:51Z,2012-12-27T22:54:22Z,"There's currently no way to change whether or not to use distraction-free-writing (DFW) mode for the default WYSIWYG editor. When inserting a new editor via the wp_editor() function, you can pass 'dfw' => false as one of the settings arguments; but in 'edit-form-advanced.php', the editor is hard-coded to use DFW.

Many people prefer to make layout and styling adjustments in full-screen view, so it seems strange to have this preference hard-coded. Recommend adding an option to Settings > Writing to select between DFW and classic full-screen.",danblaker
20186,Default font in the Visual Editor doesn't work well in all languages,,Editor,,normal,normal,Future Release,enhancement,new,,2012-03-06T20:41:53Z,2012-05-02T20:25:57Z,As the title. This is somewhat unnoticed as most themes seem set the fonts there with editor-style.css. However we would need a default that works well for themes that don't set that.,azaozz
16276,Default value for search field - (#11420 Easy within-site linking from new content),,Editor,3.1,normal,minor,3.6,enhancement,new,has-patch,2011-01-17T20:14:42Z,2013-05-05T00:33:59Z,"The within-site linking available in the current release candidate looks like a great idea, but I'm wondering if it might make sense to pre-popular the search box area with the selected text that is highlighted.

Currently the search box (which is actually more of a filter box) is empty by default, but it seems to me that most of the time if you are linking to internal content, you will be linking to the material you are highlighting which will have a similar title.",jamie.richard
17388,Distraction free writing mode submit button text,,Editor,3.2,normal,normal,Awaiting Review,enhancement,new,,2011-05-12T12:11:09Z,2011-05-12T12:11:09Z,"The text on the submit button in distraction free writing mode should match that of the submit button on the main editing screen. Currently it always says ""Update"" for published posts, and ""Save"" for other statuses. It should say ""Save Draft"", ""Save as Pending"" etc when relevant (and change when you change the post status dropdown too).",johnbillion
2702,Easier way to change page order (AJAX/jQuery?),mdawaffe,Editor,2.3,normal,normal,Future Release,enhancement,new,,2006-05-03T21:36:37Z,2011-10-08T03:23:13Z,"When having a lot of pages, they get harder to manage (see also Ticket #2004 [Pages page should page]).

When needing to change the page order, it's very inefficient to manually change the page order value, or whole series of page order values, just to move one page up or down the list. Suggestions for alternative ways to change the page order are:

In ""Manage - Pages""
1) With up/down arrows (page goes one up or down when the button/link is clicked).
2) or: Drag+Drop (The post/page settings can be dragged and dropped, so why can't this, too?)
",FireMotion
14640,"Feature Requst:  Add Action Hook ""post_submitbox_end""",,Editor,3.0.1,normal,normal,Future Release,enhancement,new,has-patch,2010-08-18T21:09:53Z,2013-01-10T02:55:26Z,"I'd like to add a button UNDER the Publish button on an edit post page.  There is an action for adding a button (or other elements) BEFORE the Publish button (post_submitbox_start), but I'd like one at the end.  I know that I can address this w/ CSS if necessary, but it would be nice to be able to position my button in the HTML as well.",ancawonka
18820,Formatting bar loading experience is subpar,azaozz,Editor,3.2.1,normal,normal,Future Release,enhancement,reopened,,2011-09-29T21:51:41Z,2011-11-18T07:23:24Z,"When you save a post, the way the formatting bar loads in (Visual and HTML both) is subpar. It pops in really late, and shoves your post content down.

Screencast: http://s3.amazonaws.com/txfx/screencasts/Formatting-Toolbar.mov

Let's make this better.",markjaquith
22980,Get Shortlink button should be appended using the get_sample_permalink_html filter,,Editor,3.5,normal,normal,Awaiting Review,enhancement,new,has-patch,2012-12-17T18:39:43Z,2012-12-17T18:49:00Z,"Currently the Get Shortlink button is appended directly to the output of get_sample_permalink_html(), which makes it impossible (without CSS/JS) to append items to the HTML.

The get_sample_permalink_html filter should be used inside of 
[source:/trunk/wp-admin/edit-form-advanced.php?rev=23180#L334 edit-form-advanced.php] so the user has complete control over the generated output.",coreygilmore
24047,Line numbers in post editor text mode?,,Editor,3.5.1,normal,normal,Awaiting Review,enhancement,new,,2013-04-11T17:48:32Z,2013-04-11T22:23:28Z,"I would love to see line numbers in the post editor when in text mode. This and/or the cursor returning to the editing point when updating a post.

It can be very annoying that the cursor always returns to the top of the editor when a manual update is initiated. Making a lot of small edits in various parts of a longish post can be really tedious.",dgwyer
18423,Make internal linking's River + Query constructors public,koopersmith,Editor,3.2,normal,normal,Future Release,enhancement,reviewing,has-patch,2011-08-16T02:00:07Z,2011-12-19T00:24:45Z,"...and restructure them so that they're slightly more configurable, i.e. making the AJAX endpoint URL and result rendering overrideable.",mitchoyoshitaka
18306,Make sample permalink clickable,,Editor,3.2,normal,normal,Future Release,enhancement,new,has-patch,2011-07-31T14:41:39Z,2012-11-01T20:02:13Z,"Following the lead from #17282, the ""View Post"" button next to the sample permalink is also just a link to another screen.

I propose we get rid of it and make the sample permalink itself clickable",scribu
18245,Make the visual editor KSES filter/user capabilities aware,,Editor,,normal,normal,Future Release,enhancement,new,,2011-07-25T18:11:21Z,2011-08-23T20:16:45Z,"Currently the visual editor assumes ""unlimited html"" for all users. This can result in some surprises when a user doesn't have that capability.

We can make a function that translates the KSES allowed tags and attributes into TinyMCE format and sets the editor accordingly.",azaozz
18042,Need a way to override wp_link_query(),,Editor,3.2,normal,normal,3.6,enhancement,new,has-patch,2011-07-08T22:24:44Z,2013-05-05T04:18:55Z,"In previous versions of !WordPress, we were able to write a plugin which called add_filter on `tiny_mce_before_init` and then we were able to specify `external_link_list_url` which we gave it a list of all of the URLs on our site (we primarily linked to non-WordPress URLs on our site from this tool). Then when an author created a Link in the post tool the little popup would include a dropdown of all of the URLs/page titles that we specified.

In !WordPress 3.2 you have the new fancy ""link to existing content"" feature in the popup.

The problem is that there is NO hook, filter, or pluggable function whatsoever to allow you to override the functionality of this.

I needed to make the search results box return a list of pages (urls and titles) that I specified from a different database. In order order to do that I had to re-create the entire `wp_link_query()` function from wp-admin/includes/internal-linking.php to make it return search results from my own database. I put that function into a Plugin (to keep it out of Core) but then I had to hack core to rename `wp_link_query()` to `wp_link_query_ORIGINAL()` to get it to use my function and not the existing one.

Either `wp_link_query()` needs to be a pluggable function or there need to be hooks that let you completely replace how it works.",philfreo
18254,Preserve image aspect ratio when editing dimensions manually in post editor,,Editor,3.2.1,normal,normal,Awaiting Review,enhancement,new,dev-feedback,2011-07-26T01:57:16Z,2011-10-09T14:09:17Z,"The dialog box that pops up when the user clicks the ""edit image"" icon that appears on hovering over an image in the visual editor has an ""Advanced settings"" tab with input fields for the pixel dimensions of the image.

When one is updated, the other does not change. A popular feature of image management software is to ""link"" the values and preserve the aspect ratio of the image.

I propose that WordPress have the option (a checkbox by the inputs?) to do this.

Sorry if this is terse; I'm about to be kicked off this library machine and I can't come back until tomorrow. Comment with anything I need to add and I'll update when I can.",voyagerfan5761
16284,Remove the wpdialog plugin from TinyMCE,azaozz,Editor,3.1,high,normal,Future Release,enhancement,new,,2011-01-18T14:26:28Z,2011-01-18T14:26:28Z,"Combining TinyMCE with jQueryUI is not a very good idea IMHO:

 * TinyMCE has all the functionality to create dialogs which is native, more extended and seems more robust than jQuery UI.
 * The reason why most dialog type scripts use an iframe is to remove any possibility of conflicts with the parent page. In out case such conflict might be introduced by a plugin that alters the edit screen.
 * There were suggestions some time ago to stop using jQuery UI in WordPress admin and replace it with one of the other jQuery plugins with similar functionality that are a lot more concise and robust.",azaozz
22412,Save posts via Ajax,,Editor,3.4.2,normal,normal,Awaiting Review,enhancement,new,,2012-11-11T12:18:09Z,2012-11-12T09:39:16Z,"When editing a post/page (as with any other type of document) one of the primary benefits is the undo/redo feature.

However, as soon as you update your changes you lose access to undo your previous keystrokes before the update. If you could save posts via Ajax then you would still be able to undo/redo post edits seamlessly.

Perhaps there could be a toggle in general settings for this option, and have it enabled by default?",dgwyer
8368,Scheduling post time behavior and language refinements,garyc40,Editor,2.7,low,minor,Future Release,enhancement,assigned,early,2008-11-26T17:56:19Z,2013-01-22T17:38:00Z,"On post editor, in publish module, at Publish Immediately-Edit. 

If click Edit, layer opens revealing the entry boxes for date and time of publication but still says Publish Immediately. Text should change to say ""Publish at:"" b/c it's weird if you change time and screen still says immediately until you click OK. 

Move OK button to the right side of module (submission buttons to the right as standard placement) with cancel to left (as with other places).

If you start to type in an alternate time then hit cancel, it reverts to publish immediately, which makes sense. If you have already scheduled the publish time but you decide to change it and start typing a different alternate time, if you hit cancel it does not revert to your originally scheduled time, but to publish immediately. It should revert to your previously saved schedule time. Should have a separate link to revert to publish immediately. ",jane
18943,Scroll back to previous editor position after post save/update,,Editor,3.2.1,normal,normal,Awaiting Review,enhancement,new,,2011-10-14T10:23:05Z,2012-09-21T14:38:47Z,"I work exclusively in html mode in the WordPress editor, but this probably applies to the visual mode too.

When editing long(ish) posts it is really frustrating that the cursor position defaults to the beginning of the post after saving/updating.

Constantly having to manually scroll back down to the previous cursor position after updating, soon gets really tedious.

Focus always seems to be returned to the post title text box after saving/updating a post. It would be more intuitive to return focus to the main editor instead and automatically jump to the previous cursor position.",dgwyer
23630,Simplify the DFW implementation,,Editor,,normal,normal,Future Release,enhancement,new,early,2013-02-26T16:44:57Z,2013-03-06T20:04:42Z,"I was sad to see that distraction free writing [http://make.wordpress.org/core/2013/01/08/wordpress-3-6-distraction-free-writing-improvements/#comment-7469 didn't get picked up] for 3.6.  I decided to play around with a rough proof of concept to see how difficult it would be to use the existing TinyMCE instance for DFW.

Benefits of handling it this way include:

- It eliminates the need (and complexity) of juggling multiple instances of TinyMCE
- We'll be able to remove a bunch of the old DFW code
- It makes the transition between regular mode and DFW mode much more smooth
- It can be as fully featured as we want it to be",lessbloat
15139,Texteditor: link button always enabled,,Editor,,normal,normal,Future Release,enhancement,assigned,,2010-10-17T08:27:06Z,2012-01-06T01:32:10Z,"When you make a link you are forced to write the text in the editor and select the text before the link button is usable. I have seen users fail to understad this and getting stuck at creating links.

It might be better if the link button was enabled as default and if no text was selected a textfield with the link text appeared in the insert/edit link.

Another alternative is that the link text textfield (just mentioned) is visible all times but if text is selected it's written there by default. Otherwise it's left blank.",olalindberg
22154,The 'More' tag placeholder looks terrible,,Editor,,normal,minor,Awaiting Review,enhancement,new,,2012-10-10T20:12:36Z,2012-10-11T05:17:18Z,"Really, it does.",johnbillion
20309,Visual Editor: Editor styles overwrite FF minimum font size settings when a small size is set,,Editor,3.4,normal,normal,Awaiting Review,enhancement,new,,2012-03-27T14:08:50Z,2012-03-27T14:08:50Z,"This issue can be found when using Minimum font size accessibility settings in Firefox, instead of the Zoom settings.

* When editor-style.css defines a specific font size, the text in the visual editor cannot be made smaller than this font size.
* If I set the default font size to a bigger value than the one set in editor-style.css, it works.

Could we change this, so that all contents in the dashboard always fit the minimum font size defined in FF, whether that size is a small value or a big one?

Possibly related: #12825",hd-J
18222,Visual clue after saving in fullscreen edit mode,,Editor,,normal,minor,Awaiting Review,enhancement,new,close,2011-07-22T19:45:00Z,2011-07-23T08:09:24Z,"You can save your current state while writing an article in fullscreen edit mode by pressing Ctrl+S.

However, there is no visual indication after this that the article has been saved or while saving.

This should be added.",mathbr
21649,_WP_Editor class is currently marked as final,,Editor,,normal,normal,Awaiting Review,enhancement,new,,2012-08-21T13:13:08Z,2012-08-21T17:16:30Z,"Revision [19420] turned

{{{
class _WP_Editors{}
}}}

from wp-includes/class-wp-editor.php into 

{{{
final class _WP_Editors{}
}}}

I'm aware that editor API is currently under large changes but it would be great if plugins could extend _WP_Editors class by removing ""final"" keyword.",Marko-M
23323,"img quicktag is so inferior to add media, should be merged or removed",,Editor,3.5,normal,normal,Awaiting Review,enhancement,new,close,2013-01-30T09:55:50Z,2013-01-30T20:16:31Z,"Right now, in the text editor there are two ways to add an image, with the ""img"" button or the ""add media"" button. ""Add media"" contains all the functionality of ""img"" and adds much more, while ""img"" is ugly and feels like an historical artifact.

IMO ""img"" should be deleted or be an alias to ""add media""",mark-k
11319,oEmbed should be integrated into Add ... from URL experiences,,Editor,2.9,normal,normal,Future Release,enhancement,new,,2009-12-03T22:55:05Z,2010-10-28T08:50:33Z,"oEmbed should be integrated into Add ... from URL experiences

enhancement, ENV: WP 2.9-beta-2 ++ (trunk r12320)

For WP 2.9 we removed oEmbed from the UI, #11288.

The ""Embed"" field did not validate the oEmbed, that is part of the reason I recommended not incorporating UI for WP 2.9 -- I think JS based validation is essential to a good experience.

If you use the ""Insert an image from another web site"", once you input a URL, WordPress should automatically check if it is an oEmbed link and adjust and populate the fields as appropriate.

ADDITIONAL DETAILS

If JS is disabled, I see little benefit to including a oEmbed form. The ability just to include oEmbeds on their own line in the content seems like a good balance.",lloydbudd
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,2009-11-20T20:32:33Z,"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
24381,A little more abstraction in the WP_oEmbed class,,Embeds,2.9,normal,normal,Awaiting Review,enhancement,new,,2013-05-21T11:33:49Z,2013-05-21T11:33:49Z,"The logic for determining the oEmbed provider for a given URL is contained within the `get_html()` method of the `WP_oEmbed` class.

I'd like to be able to determine whether or not a given URL has a supported oEmbed provider. There's no method in the `WP_oEmbed` class to do this, and I've copied the logic from `get_html()` into my own function.

Patch coming up shortly.",johnbillion
23171,Add Meetup.com oEmbed support,,Embeds,3.5,normal,normal,Awaiting Review,enhancement,new,has-patch,2013-01-10T12:21:01Z,2013-04-25T23:19:37Z,"Given the number of meetups people are doing around the world I think it would be nice to add Meetup.com to the list of oEmbed providers.

http://www.meetup.com/meetup_api/docs/oembed/

Currently there is a ''minor issue'' with their oEmbed API as it fails when the Meetup group has a custom domain for the group. I've had to do some ''dodgy'' code for our Aussie custom domains to get around that:

https://github.com/BronsonQuick/wpaustralia/blob/master/plugins/wpoz-meetups/wpoz_meetups.php

Seeing their is a new agreement between http://make.wordpress.org/events/ and Meetup.com hopefully one of the Automatticians can let Meetup.com know that their API needs a patch for custom domains ;)",sennza
21540,Add support for responsive video embeds,Viper007Bond,Embeds,,normal,normal,Awaiting Review,enhancement,assigned,,2012-08-10T17:15:50Z,2013-01-17T17:27:31Z,"By wrapping the html content of a video embed with a container (incl. class name), we could provide a simplified way for Theme authors to make video embeds truly responsive, through basic CSS.

See #21480",obenland
21632,Adding Imgur as an oEmbed provider,markjaquith,Embeds,,normal,normal,Future Release,enhancement,reopened,dev-feedback,2012-08-19T15:51:15Z,2012-09-23T18:26:36Z,Adding imgur to the list of oEmbed providers! (wcgr rocks),bradparbs
23442,Allow wp_remote_get args to be filtered for oEmbed calls,,Embeds,3.5,normal,normal,Awaiting Review,enhancement,new,has-patch,2013-02-10T21:48:10Z,2013-02-15T20:36:04Z,"Currently, the oEmbed code use wp_remote_get() to communicate with the oEmbedded service. However, there's no way to filter the arguments that get used - it simply uses the system wide defaults. 

Filtering the defaults (E.g. http_request_timeout) seems overkill when you know that you only want to change things for something specific like an oEmbed call that you know may take longer than 5 seconds (E.g. 
https://github.com/leewillis77/wp-github-oembed/blob/1.2/github-api.php#L35)

The attached patch adds a new filter oembed_remote_get_args which allows plugins to override the wp_remote_get args for oembed calls (Including discovery)",leewillis77
14759,Improve the way oEmbed deals with caching,,Embeds,3.0.1,normal,normal,Future Release,enhancement,new,,2010-09-01T23:47:30Z,2013-03-15T07:57:59Z,"As Matt pointed to me today, caching oEmbed results to post meta is kinda lame.

I originally did this because I didn't want the HTML in old posts changing on it's own, say for example if the oEmbed provider got compromised. However I think that's extremely unlikely since we only whitelist major websites that can be trusted.

Perhaps instead we should use transients to cache this data. That way when embed HTML is updated, posts will eventually be updated too due to expiring caches. I'm thinking a cache time of a week would be good, but with some random +/- to make sure multiple caches don't all expire at once.

A good example of this is Vimeo. Anyone who embedded a Vimeo embed in their post before a few weeks ago got `<object>`-based embeds. However now Vimeo gives out `<iframe>` based ones. The only way currently to update the old embeds to the new HTML (without using a few lines of code) is to edit all of the posts and re-save them to trigger a cache update. That's painful.

Alternate suggestions welcome though.",Viper007Bond
23149,YouTube Embedding is incorrect for https:// URLs,,Embeds,3.5,normal,normal,Awaiting Review,enhancement,new,,2013-01-08T19:46:28Z,2013-04-07T01:52:09Z,"Reference: #18719, #20102, Conversation from 9-19-2012:
https://irclogs.wordpress.org/chanlog.php?channel=wordpress-dev&day=2012-09-19&sort=asc#m459455

This is incorrect and a bug. If the user has posted an https link, then we should send the correct parameters to YouTube to get an https value in the resulting HTML returned.

At present, there is no way within WordPress to get the proper https code in a YouTube oEmbed iframe when https is actually desired.

",Otto42
24170,oEmbed / Vimeo: Support player.vimeo.com-style URLs,,Embeds,,low,minor,Awaiting Review,enhancement,new,,2013-04-23T21:24:58Z,2013-04-23T21:24:58Z,Vimeo also supports URLs like http://player.vimeo.com/video/64213430 for its oEmbed endpoint. It would be nice if the core regex also handled these URLs.,danielbachhuber
24318,oEmbeds in feeds,,Embeds,trunk,normal,normal,Awaiting Review,enhancement,new,,2013-05-11T16:31:46Z,2013-05-13T19:06:43Z,"The [http://wordpress.org/news/2013/05/wordpress-3-6-beta-3/ latest blog post] on wordpress.org included links to a playlist on Rdio and Spotify. As per #24242 these are converted to oEmbeds.

When viewing this post in Google Reader, neither the Rdio or the Spotify embeds are displayed, presumably because they both use an iframe. This led to the paragraph above it not making a lot of sense (see screenshot).

Is it safe to assume that any oEmbed which uses an iframe will not be displayed in an RSS reader? I genuinely don't know the answer to this as I only use Google Reader (not for much longer of course).

Should we implement a fallback (ie. just display the link as-is) in the RSS feed if the oEmbed uses an iframe?",johnbillion
19864,Abstract export_wp() for use by CLI scripts,,Export,3.3.1,normal,normal,Awaiting Review,enhancement,reopened,,2012-01-20T18:16:17Z,2012-05-20T04:15:19Z,"Need to be able to execute an export from the PHP CLI for the purpose of running cron / maintenance scripts that write out exports.

This would include writing additional hooks that allow the arguments to be pulled from the cli as well as hooks that allow the output to redirected from the output buffer to a file.

Related ticket: #19863, extra hooks for manipulating content and arguments of an export",scottconnerly
22435,Export API,,Export,,normal,normal,Awaiting Review,enhancement,new,dev-feedback,2012-11-13T16:41:55Z,2013-02-19T07:22:45Z,"From experience and from tickets (#19864, #19307, #17379) it's evident that we need to update the export API.

High level goals:
 * To be usable from different parts of the code. From the web backend, from a CLI script, from an async job.
 * To allow more control of the output format – serve over HTTP, write a single XML file to disk, split it and write many smaller XML files, write a big zip with many XML files, etc.
 * To allow exporting the data without querying all the posts at once, so that we can fit the exports to memory.
 * Keep {{{export_wp()}}} for backwards compatibility without the need to keep all (even any) of its code.

Here's my idea for the part of the API 99% of the developers touching export would use and be happy:

{{{
#!php
<?php
// WP_WXR_Export is an aimmutable representing all the data needed for the export and allows us to have it in multiple formats
$export = new WP_WXR_Export( array( 'start_date' => '2011-10-10', 'post_type' => 'event', … ) );

backup( $export->get_xml() ); // string

$export->export_to_xml_file( 'mom.xml' );
send_to_mom_to_import( 'mom.xml');

$export->serve_xml(); // with all the headers and stuff

$export->export_to_xml_files( '/files/exports-for-my-awesome-website/', 'export-%02d.wxr.xml', 5 * MB_IN_BYTES );
}}}

Before I dive into implementation details (in the comments, not to pollute the ticket), I'd like to hear what use cases for extending this code you have in mind and where should we draw the line. Adding more output writers? Adding custom export data? Adding formats different from WXR?




",nbachiyski
19307,"Need ability to export ""All content"" but limited to date range",,Export,3.1,normal,normal,Future Release,enhancement,new,early,2011-11-20T23:19:43Z,2012-07-11T07:39:18Z,"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
20206,WXR unnecessarily includes all post authors,,Export,3.3,normal,normal,Awaiting Review,enhancement,new,has-patch,2012-03-09T01:06:58Z,2012-03-09T02:26:14Z,"If you're exporting just one post type (from Tools -> Export), the resulting WXR file still includes all authors from the posts table, regardless if they are the author of a post of the post type being exported. This can be particularly noticable for Pages (which are often only authored by a small number of different users on the site) and for custom post types.

This means when you subsequently import the file you'll be asked to map a complete list of all authors from the exported site, even if they have no posts in the WXR file being imported.",johnbillion
14757,users with no posts are not exported,,Export,3.0.1,normal,normal,Awaiting Review,enhancement,reopened,dev-feedback,2010-09-01T18:14:31Z,2011-04-02T19:49:19Z,"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
24132,Add jQuery 2.0 to available scripts to enqueue,,External Libraries,trunk,normal,normal,Awaiting Review,enhancement,new,,2013-04-18T23:09:24Z,2013-04-22T07:02:25Z,"jQuery 2.0 was released, and is a major release, more than previous ones. the 2.0 branch removes support for IE8 and down. Personally, I think it'd be best to add it alongside jQuery 1.9.x instead of outright replace. That way people who want to use the 2.0 branch can, but those who need legacy IE support still, can still use 1.9.x.

My thoughts were for a new enqueue handle of 'jquery2'.",tw2113
18909,Bundled jQuery UI should have CSS,,External Libraries,3.3,normal,normal,Future Release,enhancement,assigned,has-patch,2011-10-11T18:53:57Z,2013-05-13T16:14:29Z,"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
21769,Can we remove un-minified versions of all external libraries?,,External Libraries,3.5,normal,normal,Future Release,enhancement,new,dev-feedback,2012-09-02T09:32:35Z,2012-10-24T20:50:12Z,"With [21646] and [21648] we had removed the un-minified versions of Jcrop and jQuery Color.

A quick search through the plugin repo shows that there is only one plugin which includes the script directly:

Pie Register: http://plugins.trac.wordpress.org/browser/pie-register/trunk/pie-register.php#L1444

Should we be consistent and remove the un-minified versions of other external libraries too? These would be:

* colorpicker.js
* hoverIntent.js
* jquery.imgareaselect.js
* cropper.js (not used in core anymore and no minified version exists)
* json2.js
* tw-sack.js",ocean90
19489,Consider updating jquery.hotkeys plugin,,External Libraries,3.3,normal,normal,Future Release,enhancement,reopened,,2011-12-09T18:50:05Z,2013-01-22T19:40:32Z,"The current version of the jquery.hotkeys plugin in trunk is ""(beta)(0.0.3)"", where as the [https://github.com/tzuryby/jquery.hotkeys/blob/master/jquery.hotkeys.js latest version] (as linked to from the credits screen) is 0.8.

Incidentally, this 0.8 version from tzuryby is credited as being authored by John Resig (and indeed, he appears to have his own [https://github.com/jeresig/jquery.hotkeys repo] for it.",GaryJ
19449,"Fix Farbtastic to make it work with empty input fields, too",,External Libraries,3.3,normal,normal,Awaiting Review,enhancement,new,dev-feedback,2011-12-05T17:38:08Z,2011-12-05T17:38:08Z,"Farbtastic requires that the color input field has either a color value or at least a '#' character. If it's empty it won't work. This seems like an artificial limitation and requires workarounds if the integrated Farbtastic is used for input fields that may be empty, i.e. for theme or plugin options where the color is optional. If the color fields has a default value there's no issue but having empty color fields is a useful and valid use case. 

This could be fixed in /wp-admin/js/farbtastic.js, line 192

Old:
if (this.value && this.value != fb.color) {

New:
if (this.value != fb.color) {


Looks like WP is working around this for the 'custom background' for themes (which is empty by default) by adding a hardcoded '#' and saving the background-color without '#' 

/wp-includes/theme.php, line 1772:
$style = $color ? ""background-color: #$color;"" : '';

/wp-admin/custom-background.php, line 303:
<input type=""text"" name=""background-color"" id=""background-color"" value=""#<?php echo esc_attr(get_background_color()) ?>"" />

",BytesForAll
19719,PHPMailer allows invalid characters in display-name,westi,External Libraries,,normal,normal,Awaiting Review,enhancement,new,has-patch,2012-01-03T16:06:27Z,2012-01-03T16:06:27Z,"[http://tools.ietf.org/html/rfc5322 RFC5322] defines the display name portion of an email address as follows:

{{{
display-name => phrase
phrase => word / obs-phrase
obs-phrase => word / whitespace / dot
word => atom / quoted strings
atom => whitespace / atext
atext => 

                       ALPHA / DIGIT /    ; Printable US-ASCII
                       ""!"" / ""#"" /        ;  characters not including
                       ""$"" / ""%"" /        ;  specials.  Used for atoms.
                       ""&"" / ""'"" /
                       ""*"" / ""+"" /
                       ""-"" / ""/"" /
                       ""="" / ""?"" /
                       ""^"" / ""_"" /
                       ""`"" / ""{"" /
                       ""|"" / ""}"" /
                       ""~""
}}}

So, the display-name can contain the list of characters defined as atext plus dots plus whitespace plus quoted stringss.

Notable exclusions include things like >, <, ( and ). At present, PHPMailer does no validation of the display-name field. The attached patch adds validation that does the following:

* Make sure we decode any utf8 characters
* Compare the original value against a value with invalid characters stripped out
* Fail validation if the original and the stripped version do not match (ie, we stripped something invalid, so the string must have been invalid)

The patch does not handle assuring proper pairing of quoted strings (it doesn't validate that quotes nest properly or occur only in pairs).

The following code works for testing the patch:

{{{
<?php

require_once 'class-phpmailer.php';
require_once 'class-smtp.php';

$to_address = 'dllh@mailinator.com';
$to_name = 'DLLH';
$from_address = 'dllh@mailinator.com';
$from_name = 'DLLH test';
$subject = 'PHPMailer display-name validation test';
$body = ""To Address: $to_address\nTo Name: $to_name\nFrom Address: $from_address\nFrom Name: $from_name"";

try {
        $phpmailer = new PHPMailer( true );
        $phpmailer->AddAddress( $to_address, $to_name );
        $phpmailer->SetFrom( $from_address, $from_name );
        $phpmailer->Subject = $subject;
        $phpmailer->Body = $body;
        $phpmailer->Send();
} catch ( phpmailerException $e ) {
        print_r( $e->getMessage() );
}
}}}

To provoke an error, add a disallowed character such as > or ) to one of the _name variables. The code will bail with an invalid_display_name exception.",dllh
19549,Please remove X-Mailer from class-phpmailer,westi,External Libraries,3.3,normal,minor,Future Release,enhancement,assigned,dev-feedback,2011-12-14T20:37:14Z,2012-06-02T13:32:25Z,"It is nobody's business what software I am using to send mail, or what version number it is. Providing version numbers of server-side packages to strangers is an unnecessary security exposure.  With each update to WordPress, I apply this patch.  I would appreciate it if you would either include this patch yourselves, or provide a hook where I can do this myself without modifying the source.


{{{
--- wp-includes/class-phpmailer.php	5 Jul 2011 20:53:19 -0000	1.3
+++ wp-includes/class-phpmailer.php	14 Dec 2011 19:43:32 -0000
@@ -1129,8 +1129,8 @@
     } else {
       $result .= sprintf(""Message-ID: <%s@%s>%s"", $uniq_id, $this->ServerHostname(), $this->LE);
     }
-// jwz: no.    $result .= $this->HeaderLine('X-Priority', $this->Priority);
-// jwz: no.    $result .= $this->HeaderLine('X-Mailer', 'PHPMailer (phpmailer.sourceforge.net) [version ' . $this->Version . ']');
+    $result .= $this->HeaderLine('X-Priority', $this->Priority);
+    $result .= $this->HeaderLine('X-Mailer', 'PHPMailer '.$this->Version.' (phpmailer.sourceforge.net)');
 
     if($this->ConfirmReadingTo != '') {
       $result .= $this->HeaderLine('Disposition-Notification-To', '<' . trim($this->ConfirmReadingTo) . '>');

}}}",jwz
16494,"Remove ""no conflict"" mode from bundled jquery",,External Libraries,3.1,low,minor,Awaiting Review,enhancement,new,close,2011-02-08T18:45:49Z,2012-07-14T11:04:26Z,"Remove ""no conflict"" mode from jquery

Over the last six months more and more of the themes I review for large sites have being using Google's CDN version of jquery (deregistering the bundled), not to get the benefit of CDN, but because most jquery libraries are dependent on $ and the developers don't know or want to deal with getting them to work in ""no conflict"".

I image we originally put in place ""no conflict"" mode for bundled jquery, as part of the transition from Prototype.

I appreciate it is hard to measure the impact of this type of change, but wanted to trac this all the same.

=== Additional Info ===

http://codex.wordpress.org/Function_Reference/wp_enqueue_script#jQuery_noConflict_wrappers

http://docs.jquery.com/Using_jQuery_with_Other_Libraries",lloydbudd
22975,Remove deprecated jQuery methods from core to be safe for jQuery 1.9,,External Libraries,,normal,normal,3.6,enhancement,new,,2012-12-17T15:47:26Z,2013-05-14T17:22:58Z,"Today [http://blog.jquery.com/2012/12/17/jquery-1-9-beta-1-released/ jQuery 1.9 Beta was released].

> jQuery 1.9 has removed many of the items we deprecated during the last few versions of jQuery. 
> To test, we recommend that you start with the jQuery Migrate plugin since it will warn you about any deprecated features the code may depend on. Just include these two script tags in your code, replacing your existing jQuery script include:
>
> `<script src=""http://code.jquery.com/jquery-1.9.0b1.js""></script>`
>
> `<script src=""http://code.jquery.com/jquery-migrate-1.0.0b1.js""></script>`

The attached patch adds both scripts to core so that you can test it. There are already some notices which we should try to reduce.
",ocean90
10955,Replace ThickBox,,External Libraries,2.9,normal,normal,Future Release,enhancement,new,dev-feedback,2009-10-14T14:37:42Z,2013-02-01T15:59:30Z,"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
16668,SWFUpload 2.2.1,,External Libraries,,normal,minor,Awaiting Review,enhancement,new,has-patch,2011-02-25T20:38:07Z,2011-09-19T15:24:55Z,"Update SWFUpload to version ""2.2.1 2009-03-30"" from ""2.2.0 2009-03-25.""

Changes how settings are passed to functions, using function scope instead of object scope. Looks like some other code simplification during those five days.

[http://code.google.com/p/swfupload/source/browse/swfupload/trunk/core/ SWFUpload repo]

Updates the SWF as well. Looks like an ExternalInterface change based on project commits.

Files swfupload-all.js and handlers.js left as is since they are not part of the external repo. If swfupload-all.js is a rollup it should obviously be updated.",niallkennedy
16026,Stop using ereg() and eregi(),NorwayFun,External Libraries,,normal,minor,Future Release,enhancement,new,has-patch,2010-12-29T16:48:39Z,2011-04-23T23:59:46Z,"see attached file. ereg(), eregi() and so on deprecated functions was replaced by mb_ suffix ones. also, checker for set_magic_quotes_runtime
disabler for 5.2 and 5.3 series PHP included",NorwayFun
23944,Update to latest jquery.form,,External Libraries,trunk,normal,normal,Awaiting Review,enhancement,new,has-patch,2013-04-04T21:16:51Z,2013-04-04T21:37:17Z,"Any chance of getting the included jquery.form update to the latest version?  We keep running into various script errors (mostly access) within jquery.form with IE.  Updating to the latest jquery.form corrects these errors.

WP using version 2.73 and the latest is 3.32

Thanks for consideration...",usermrpapa
19419,wp-admin/media.php: allow to add a default src,,External Libraries,3.2.1,normal,normal,Awaiting Review,enhancement,new,,2011-12-02T21:15:34Z,2011-12-22T23:01:36Z,"something like 

in file wp-admin/media.php :

function type_url_form_image($image_url) { 
  
    .
    .
    .
    <input id=""src"" name=""src"" value=""'.$image_url.'"" type=""text"" 
    .
    .
    .

    }

might be helpful because the function can be reused for plugins",mostyk
17150,Atom category terms and labels,,Feeds,,normal,normal,Awaiting Review,enhancement,new,has-patch,2011-04-16T22:46:37Z,2011-04-16T22:46:37Z,"An [http://tools.ietf.org/html/rfc4287#section-4.2.2 Atom category] supports both machine-facing and human-facing text through its 'term' and 'label' attributes respectively. WordPress Atom template currently outputs category or tag name as the 'term' attribute. I would like to output the category or tag's slug as 'term' and its name as 'label'

Before:
<category scheme=""!http://wordpress.org/"" term=""Open Source"" />

After:
<category scheme=""!http://wordpress.org/"" term=""open-source"" label=""Open Source"" />

Attached is a patch for get_the_category_rss() inside wp-includes/feed.php. I constructed an associative array with slug as the key and name as the value. The slug column is a unique key on the terms table and can also be used to enforce uniqueness in the array.

A possible downside: it's possible two entry categories or tags might have the same name, which would produce two identical outputted lines in RSS 2.0 and RDF feeds while correcting the previous lossy behavior in the Atom feed.",niallkennedy
4253,Category feeds don't indicate they are category feeds,,Feeds,,normal,normal,Future Release,enhancement,new,,2007-05-13T04:35:10Z,2009-06-14T13:43:40Z,"Okay guys, here is a patch for WordPress that properly titles and describes category RSS/Atom feeds.  I didn't know how to set the URL for the feed to the URL of the category, so what I'm doing is just leaving the bloginfo URL as it is, but I hope you can whip that out from your fabulous hacking heads.

This patch makes sense because of several reasons.  My personal reason is that I'm running a magazine with different sections (using categories as the section) at rudd-o.com, and I'm encouraging subscriptions to the section feeds instead of the whole magazine, but the feeds themselves don't say which category they're from.  Now with this patch they do.

Another thing that I'm not sure about, and I'd like a response in the form of a comment here (I'm tracking this bug via RSS): do I have to htmlspecialchars() before doing the print's ""..."" in this patch?  The question, more properly phrased, is: if I print a get_category_name(), should I print it htmlspecialchar()red, or should I just print it out, and trust that the WordPress category administrator won't let people type random HTML?  Another way of posing the question would be: if I type an ampersand (&amp;) in the category name, what should the theme display, ""&amp;"" or ""&""?  This is keeping me up at night, need some sleep, please help =).

",RuddO
11053,Conditional Tags should work in feeds as well,,Feeds,2.8.5,normal,normal,Future Release,enhancement,new,,2009-10-31T14:56:17Z,2010-01-17T14:20:19Z,"I try to get the following to work:

{{{
function xxx_filter_cat()
{
	if (is_author()) query_posts(""cat=4"");
	if (is_front_page()) query_posts(""cat=2,3"");
}

add_action('rss2_head', 'xxx_filter_cat');
}}}

It should alter the rss2 feed, depending if it should get generated for the general homepage, or for a single author.

But: It doesn't work at all - is_author and all the other is_* functions I tried always trigger false. is_feed works, but well, doesn't help me very much.

It would be easy to manipulate the generated feeds if wp would support the already built-in conditional tags in the feeds as well.",pampfelimetten
19890,Filter auto enclosure links before processing,,Feeds,,normal,minor,Awaiting Review,enhancement,new,has-patch,2012-01-24T21:37:48Z,2012-01-24T21:44:05Z,"[http://core.trac.wordpress.org/browser/tags/3.3.1/wp-includes/functions.php#L1182 The do_enclose() function] looks through post content for enclosure-worthy URLs, requests the URLs it finds, and stores in post meta.

I use sample code and dummy URLs in my posts: e.g. !http://example.com/song.mp3. Right now `do_enclose()` finds the mention of the MP3, adds it to post meta, which later outputs in `rss_enclosure()` or `atom_enclosure()`. If I want to remove the enclosure from final markup I can attach to the `added_postmeta` action to remove a value after it was requested and inserted or act on the markup generated by `rss_enclosure()` or `atom_enclosure()` by emptying the string.

I would like to filter out the auto-discovered enclosure link before it is processed by !WordPress, looked up in the database, and HEAD requested. If a filter existed on the parsed enclosure links I could remove links from dummy domains such as ""example.com.""",niallkennedy
9611,Make comment feeds fail with an error code when comments are closed,,Feeds,2.8,normal,minor,Future Release,enhancement,new,dev-feedback,2009-04-21T14:12:42Z,2011-01-12T12:40:06Z,"This is mostly a suggestion as an enhancement.

When you close a post's comments and pings, it should no longer output an rss feed. Instead, it should return a not found (404) or gone (410) error and die.

Likewise, if all posts and pages on a site disallow comments and pings, the comments feeds should not be broadcast, and should return the same error code.

Thoughts?",Denis-de-Bernardy
9510,Multiple feed fixes and enhancements,,Feeds,2.7.1,high,major,Future Release,enhancement,new,has-patch,2009-04-11T09:36:47Z,2009-11-17T20:28:06Z,"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
13867,New filter for comment RSS feed's title,,Feeds,3.0,normal,normal,Future Release,enhancement,new,has-patch,2010-06-12T21:53:07Z,2010-10-28T12:18:31Z,"I'd like to be able to customize comments titles in RSS feed.

Currently it's hardcoded and has no way to be changed, so I added 2 new filters so that plugins can edit them.

I've tested and patch is working for me.",shidouhikari
16983,Pass $sep to 'wp_title_rss' filter,,Feeds,,normal,normal,Future Release,enhancement,new,commit,2011-03-27T21:11:14Z,2011-03-27T21:11:14Z,Same for 'get_wp_title_rss'.,scribu
7092,Should support separate setting for limiting comments feed,,Feeds,2.9,normal,normal,Future Release,enhancement,reopened,has-patch,2008-06-04T15:48:34Z,2010-05-14T13:07:07Z,"Right now the comments feeds are throttled by the same limiting number the user chooses for ""posts feeds"" (posts_per_rss).

It makes sense that a blog owner would want to set a higher threshold for comments than for posts, for these reasons:

- Readers who subscribe to comment feeds are fewer in number and less likely to burden the system in aggregate.

- Comments are typically shorter per entry than posts are.

- Comments are liable to expand much more quickly than posts, making it difficult for readers to ""keep up"" without wrapping past the limit.

For instance in my blog I limit post feeds to 10 entries, but I'd like to offer a much larger limit for comments subscribers.

Establishing a ""comments_per_feed"" variable that is used in place of the ""posts_per_rss"" would accomplish this.

",redsweater
8828,Tags and Categories are undifferentiable in Atom and RSS feeds,,Feeds,2.7,normal,normal,Future Release,enhancement,new,needs-review,2009-01-09T11:48:18Z,2009-11-23T19:48:49Z,"In RSS feeds this can be achieved using the 'domain' attributes of the category element. This is already done in Wordpress export through the wxr_post_taxonomy function, so we just have to do the same in RSS feeds. 

In Atom feeds this can be achieved using the 'scheme' attributes of the category element. The Atom standard is not explicit about what to put in this scheme attributes. There is [http://edward.oconnor.cx/2007/02/representing-tags-in-atom an interesting topic on Edward O’Connor blog]. In my proposed patch, i decided to use the 1st representation and i also considered seriously the 2nd.

In the patch, i'm also adding the 'label' attribute to the atom category element and changed the 'term' attribute to be the tag slug. Seems this are currently the best practices in the Atom community.",znarfor
21017,Using force_feed() for simplepie in core,nacin,Feeds,3.4,normal,minor,Awaiting Review,enhancement,reviewing,dev-feedback,2012-06-18T22:21:48Z,2012-06-27T14:32:13Z,"Receiving the following error in the ""Incoming Links"" widget in the admin dashboard:
[[BR]]

{{{
RSS Error: A feed could not be found at http://www.google.com/search?
ie=utf-8&partner=wordpress&q=link:http://mysite.com/
&tbm=blg&tbs=sbd:1&output=rss. A feed with an invalid mime type may fall
victim to this error, or SimplePie was unable to auto-discover it.. Use
force_feed() if you are certain this URL is a real feed.
}}}

[[BR]]
The support forum thread which can provide more specific information can be found here:
[http://wordpress.org/support/topic/incoming-links-error-message-1?replies=41]
[[BR]][[BR]]

It has been suggested adding '''force_feed()''' to the core might alleviate this issue in future dev.
",josh401
14493,"do_enclose() can ping the same URL many times, can't filter URLs to ping",nacin*,Feeds,3.0.1,normal,normal,Future Release,enhancement,accepted,has-patch,2010-07-31T18:52:01Z,2012-11-07T09:14:47Z,"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
23692,feed_links should have a parameter to choose which feed to display,,Feeds,,normal,minor,Awaiting Review,enhancement,new,dev-feedback,2013-03-05T14:02:12Z,2013-04-05T08:52:19Z,"Hello,

'''feed_links''' is a function located in wp_includes/general_template.php. It displays 2 feeds in the header : the main feed and the comment feed. The function is activated along with feed_links_extra when automatic-feed-links support is activated.

Currently, developers can't choose if they want both feeds to be displayed, or just one of them. I think this function should be improved.

Here is the current function :
{{{
function feed_links( $args = array() ) {
	if ( !current_theme_supports('automatic-feed-links') )
		return;

	$defaults = array(
		/* translators: Separator between blog name and feed type in feed links */
		'separator'	=> _x('&raquo;', 'feed link'),
		/* translators: 1: blog title, 2: separator (raquo) */
		'feedtitle'	=> __('%1$s %2$s Feed'),
		/* translators: %s: blog title, 2: separator (raquo) */
		'comstitle'	=> __('%1$s %2$s Comments Feed'),
	);

	$args = wp_parse_args( $args, $defaults );

	echo '<link rel=""alternate"" type=""' . feed_content_type() . '"" title=""' . esc_attr(sprintf( $args['feedtitle'], get_bloginfo('name'), $args['separator'] )) . '"" href=""' . get_feed_link() . ""\"" />\n"";
	echo '<link rel=""alternate"" type=""' . feed_content_type() . '"" title=""' . esc_attr(sprintf( $args['comstitle'], get_bloginfo('name'), $args['separator'] )) . '"" href=""' . get_feed_link( 'comments_' . get_default_feed() ) . ""\"" />\n"";
}
}}}

Currently, the only way to display only one feed (the main post feed or the main comment feed) so is to deactivate feed_links with :
{{{
remove_action('wp_head', 'feed_links', 2);
}}}
and then to create our own function to only display one feed.

Do you think this should be improved ?

Regards,",Confridin
21453,Appending hyphen before numbers when creating a create unique filename in wp_unique_filename(),,Filesystem,3.4.1,normal,normal,Awaiting Review,enhancement,new,,2012-08-02T13:32:00Z,2012-08-02T13:32:00Z,"When WordPress appends a number to a file to create a unique filename, it just adds a number to the file.
ie If ""photo.jpg"" exists then ""photo1.jpg"" is created

I suggest that it should include a hyphen so the file would be called ""photo-1.jpg""

The main reason is that if you upload files ending in numbers then then the new filename is less easy to read.
ie If ""photo234.jpg"" exists then ""photo2341.jpg"" is created

Would be nicer if it produced ""photo234-1.jpg""

It's only cosmetic but it does make it easier to search for images in the uploads folder if you need to for any reason, especially if you have uploaded a load of images from a camera DSC123.jpg, DSC124.jpg etc",husobj
20716,Control how and when request_filesystem_credentials outputs creds form,,Filesystem,3.4,normal,normal,Awaiting Review,enhancement,new,reporter-feedback,2012-05-21T02:02:08Z,2012-05-21T02:05:10Z,"When using WP_Filesystem in a plugin or other external app, you can initialize it this way:

{{{
if ( false == ( $creds = request_filesystem_credentials( $url, $method, false, false, $form_fields ) ) ) {
    return true;
}
}}}

Makes sense. If the method isn't direct or we don't have the credentials we need, `request_filesystem_credentials` outputs a form and returns false. Then we check again to make sure the credentials can be verified, and it not, we continue to output the form until the credentials are good.

{{{
if ( ! WP_Filesystem( $creds ) ) {
    request_filesystem_credentials( $url, $method, true, false, $form_fields );
    return true;
}
}}}

`request_filesystem_credentials` arbitrarily outputs the form whether you want it to or not, unless you explicitly filter the `request_filesystem_credentials` function itself. Using this in conjunction with Ajax, you have to use output buffering to catch the output and return it to the Ajax script for processing or else you get errors. This definitely isn't ideal.

I'd suggest storing the form in a variable and possibly pass a parameter that determines whether or not we want to actually output the form or not. Or, if there is another (better) way, that's cool too. Just some way to help `request_filesystem_credentials` determine how we want to interact with credentials should we need them.

",griffinjt
18476,Duplicate code in filesystem classes,kurtpayne,Filesystem,3.2.1,normal,minor,Awaiting Review,enhancement,new,dev-feedback,2011-08-18T17:54:33Z,2012-07-06T14:09:04Z,"Each filesystem class extends a base class and most, but not all, include an implementation of chown.  I propose a slight refactoring to include a default implementation of chown in the base class and let each subclass override chown when necessary.",kurtpayne
22772,Introduce HOMEPATH,,Filesystem,3.5,normal,normal,Awaiting Review,enhancement,new,,2012-12-06T03:05:42Z,2013-03-03T20:23:48Z,"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
21403,"Introduce wp_scandir, remove opendir / closedir code",,Filesystem,3.0,normal,normal,Awaiting Review,enhancement,new,has-patch,2012-07-28T08:57:20Z,2012-07-29T18:29:23Z,"There is {{{@opendir}}} code all over the place that is not standardized. On top of that, there is plenty of code that is duplicated and could be condensed into one handy function. Plus, in all of the places we are using {{{opendir()}}}, we really want to be using {{{scandir()}}}. 

I have created a master function in {{{load.php}}} called {{{wp_scandir()}}} that does the basics:
* scans a directory for files / subdirectories
* filters list by extension(s)
* optionally returns ONLY files

This cleans up code in many places.",wonderboymusic
22267,Make trailingslashit() and untrailingslashit() work with backslashes,,Filesystem,2.2,normal,normal,Awaiting Review,enhancement,new,has-patch,2012-10-24T04:09:58Z,2013-02-24T22:19:38Z,"#20778 demonstrates that untrailinhslashit(), hence trailingslashit(), are unable to remove a trailing backslash from file paths on Windows.

As Windows accepts a slash as directory separator, DIRECTORY_SEPARATOR is not needed to make portable code, except when parsing or exploding a path that comes from the system [http://alanhogan.com/tips/php/directory-separator-not-necessary]. We neeed to tell trailingslashit() and untrailingslashit() that we want to remove the trailing slash a file path from system, not a generated one and not a URL path.

My idea is:
{{{
function untrailingslashit( $string, $is_path = false ) {
    if ( $is_path )
        return rtrim( $string, DIRECTORY_SEPARATOR . '/' );
    else
        return rtrim( $string, '/');
}

function trailingslashit( $string, $is_path = false ) {
    if ( $is_path )
        return untrailingslashit( $string, $is_path ) . DIRECTORY_SEPARATOR;
    else
        return untrailingslashit( $string ) . '/';
}
}}}

Expected results that is true:

{{{
  trailingslashit( '/mypath'  ) == '/mypath/'
  trailingslashit( '/mypath/' ) == '/mypath/'
  trailingslashit( '/mypath//') == '/mypath/'
untrailingslashit( '/mypath/' ) == '/mypath'
untrailingslashit( '/mypath//') == '/mypath'
  trailingslashit( '/usr/tmp/', true ) == '/usr/tmp/' // On non-Windows
  trailingslashit( '/usr/tmp',  true ) == '/usr/tmp/' // On non-Windows
  trailingslashit( '/usr/tmp//',true ) == '/usr/tmp/' // On non-Windows
  trailingslashit( 'C:\TEMP',   true ) == 'C:\TEMP\'  // On Windows
  trailingslashit( 'C://TEMP//',true ) == 'C://TEMP\' // On Windows
  trailingslashit( 'C:/TEMP/',  true ) == 'C:/TEMP\'  // On Windows
untrailingslashit( 'C:\TEMP\',  true ) == 'C:\TEMP'   // On Windows
}}}

On Windows, for making a path to $subdir one may use either

{{{
$path = trailingslashit( $path, true ) . $subdir;
$path = untrailingslashit( $path, true ) . '/' . $subdir;
}}}
according to preference in the situation, knowing that '/' is a valid separator in any case.

The added DIRECTORY_SEPARATOR in trailingslashit() code suggestion above could be '/', but it might produce an unexpected result, some someone when deliberately wants to make a true native path for the system.

The second parameter to rtrim() in untrailingslashit() should instruct rtrim() to remove both characters, as we cannot assume a Windows file path is always delimited or trailed with ""\"".

I will make the patch, and will test the all the expected results on Windows and Linux. That is, if I am not convinced this is no way to go (adding optional parameters and ""messing"" with an old formatting function).

== Alternatives ==

We could make untrailingslashpath() and trailingslashpath() which assumes a path string, and no extra argument. This would require, at least softly, a replace all over the code, where a path is to be (un)trailingslashed.

We could make untrailingbackslashit() and trailingbackslashit() instead, but this would force us to check either DIRECTORY_SEPARATOR or $is_win before selecting which function to use, bloating code all over the place. A good helper function should be a real help, especially in edge cases.
",knutsp
10205,getmyuid() called instead of posix_getuid() in get_filesystem_method() (wp-admin/includes/file.php),dd32,Filesystem,2.8,normal,normal,Future Release,enhancement,reopened,dev-feedback,2009-06-18T09:53:55Z,2013-04-25T23:19:21Z,"In wp-admin/includes/file.php, the function get_filesystem_method() attempts to figure out whether it is able to write files correctly, and therefore whether it can update or install files directly, or needs to use some other method.

As part of the function, in a particular case it writes a temporary file and compares it to the return value of getmyuid(). I think this is a mistake - the return value of getmyuid() is the owner of the current _file_ that's being run, not the current process - so if the file is owned by a user other than that of the web server's UID, it thinks it can't install directly (even if it actually can, because the directories are group writable).

This can be worked around by simply changing the owner of the file to another user, although this isn't always going to be possible for the person running Wordpress.

To fix this, change the function call to check the return value of posix_getuid() instead of getmyuid(). (NB: this function isn't available on Windows.)",pgl
12134,Add image dimensions to smiley img element,nacin,Formatting,3.0,normal,normal,Future Release,enhancement,reviewing,dev-feedback,2010-02-05T02:55:19Z,2011-02-09T06:10:45Z,All smileys are 15x15. Add dimensions to the img element to avoid a double paint by web browsers during page load.,niallkennedy
14102,Additional CSS class in wp_list_pages when a page has children,,Formatting,3.0,normal,normal,Future Release,enhancement,new,has-patch,2010-06-26T13:28:23Z,2010-12-06T20:35:17Z,"A great addition to the wp_list_pages function would be to add an extra CSS class of 'page_has_children' (or similar) to a list item for when it has child pages.

This would enable theme authors to style the list items with CSS to differentiate between those pages that have child pages, and those that don't at whatever depth you are viewing in really simple CSS.

Here is how it could be implemented in the WP3.0 codebase. I have simply amended the 'start_el' function as shown below.

'''FILE: wp-includes/classes.php - from line 1173'''

{{{

/**
 * @see Walker::start_el()
 * @since 2.1.0
 *
 * @param string $output Passed by reference. Used to append additional content.
 * @param object $page Page data object.
 * @param int $depth Depth of page. Used for padding.
 * @param int $current_page Page ID.
 * @param array $args
 */
function start_el(&$output, $page, $depth, $args, $current_page) {
	if ( $depth )
		$indent = str_repeat(""\t"", $depth);
	else
		$indent = '';

	extract($args, EXTR_SKIP);
	$css_class = array('page_item', 'page-item-'.$page->ID);
	
	//JA ADDITION START 1 of 2 - DETECT IF PAGE HAS CHILDREN START
	$has_children = wp_list_pages('&child_of='.$page->ID.'&echo=0');
	//JA ADDITION END 1 of 2 - DETECT IF PAGE HAS CHILDREN
	
	if ( !empty($current_page) ) {
		$_current_page = get_page( $current_page );
		if ( isset($_current_page->ancestors) && in_array($page->ID, (array) $_current_page->ancestors) )
			$css_class[] = 'current_page_ancestor';
		if ( $page->ID == $current_page )
			$css_class[] = 'current_page_item';

		//JA ADDITION START 2 of 2 - DETECT IF PAGE HAS CHILDREN START
		if ( !empty($has_children) )
			$css_class[] = 'page_has_children';
		//JA ADDITION START 2 of 2 - DETECT IF PAGE HAS CHILDREN END

		elseif ( $_current_page && $page->ID == $_current_page->post_parent )
			$css_class[] = 'current_page_parent';
	} elseif ( $page->ID == get_option('page_for_posts') ) {
		$css_class[] = 'current_page_parent';
	}

	$css_class = implode(' ', apply_filters('page_css_class', $css_class, $page));

	$output .= $indent . '<li class=""' . $css_class . '""><a href=""' . get_page_link($page->ID) . '"" title=""' . esc_attr( wp_strip_all_tags( apply_filters( 'the_title', $page->post_title, $page->ID ) ) ) . '"">' . $link_before . apply_filters( 'the_title', $page->post_title, $page->ID ) . $link_after . '</a>';

	if ( !empty($show_date) ) {
		if ( 'modified' == $show_date )
			$time = $page->post_modified;
		else
			$time = $page->post_date;

		$output .= "" "" . mysql2date($date_format, $time);
	}
}

}}}
",Jonnyauk
9306,Additional smart quote suggestion,,Formatting,,low,trivial,Future Release,enhancement,new,close,2009-03-09T05:09:36Z,2011-02-05T11:04:09Z,"If a user writes a post that contains a quotation inside parentheses, the open quote mark is not used. I suggest that when a quotation mark (double or single) is used after an open parenthesis, it should be a left-quote “ instead of a right quote ”. In order to be as complete as possible, it would probably be best to ensure that this is only done in the event that white space is used prior to the open parenthesis so as to prevent it printing the wrong one if, say, a sad-face smiley is used inside a quotation, like so:

'''''She told me, ""Aw, you make me a sad panda now. :(""'''''

If it's done so that it will only open the quote correctly after white space \s or a carriage return, I think that will cover the vast majority, if not all, of the situations where it would need to be used.",cloak42
19308,"C-style hexadecimal is incorrectly ""fixed"" to change the 'x' into a mathematical '×'",,Formatting,2.1,normal,normal,Awaiting Review,enhancement,new,needs-unit-tests,2011-11-21T00:39:00Z,2011-11-30T16:49:55Z,"Pretty much what the title says. I'm running trunk. ""0x07"" gets converted to ""0×07"".

I've attached a patch which fixes this issue by not performing the conversion if the first number starts with a zero -- this is not perfect, and I might have a go at something better when it's not 0030, if you guys decide this should be changed.

My $0.02 - since it's a bit odd to multiply zero by something, I don't think that very many people will expect/want this conversion to happen -- and the lack of conversion is unlikely to confuse those that do. 

On the other hand, this conversion is confusing for any blog post using this hex notation, and does make those posts actually wrong.

",harrym
6969,Don't apply wptexturize() to the insides of shortcode tags,tellyworth,Formatting,2.5.1,normal,normal,Future Release,enhancement,new,needs-unit-tests,2008-05-14T11:47:58Z,2011-05-31T08:45:13Z,"I have this for my post contents:

{{{
[code lang=""php""]$foo = 'bar';[/code]
}}}

The problem is my shortcode function gets this passed to it for the content string:

{{{
$foo = &#8216;bar&#8217;;
}}}

`wptexturize()` should be smart enough to not format the contents of registered shortcodes. If plugins want their contents formatted, they can pass the contents to the `wptexturize()` function itself.",Viper007Bond
23135,Filter for Block Elements in wpautop(),,Formatting,3.5,normal,normal,Awaiting Review,enhancement,new,dev-feedback,2013-01-07T16:21:44Z,2013-01-08T12:55:40Z,"This addresses the need to exclude certain block elements (iframe, img) from wpautop.  Using the newly defined filter '''wpautop_block_elements''' every plugin dev, theme dev etc. can redefine, modify and enhance the list of block elements. 

Exsample for functions.php
{{{
#!php
function add_block_elements($block_elements){	
	$block_elements[] = ""iframe"";	
	$block_elements[] = ""img"";	
	
	return $block_elements;
}
add_filter(""wpautop_block_elements"", add_block_elements);
}}}

Thanks for reviewing! :)

Regards,
Hendrik",luehrsen
20166,Function url_shorten() enhancement,,Formatting,,normal,normal,Awaiting Review,enhancement,new,has-patch,2012-03-03T23:03:47Z,2012-03-04T03:37:59Z,"The function url_open is included in the wp_admin/includes/misc.php and is not usable unless loaded. This is not loaded by default so not available site wide. Also, the function is very static as of right now in its use with no defined options. Options to set length of the shortened url and the ability to turn on off the cutting of the leading ""http://www"" and the trailing slashes are included in this patch.",mulvane
16790,Functional spec for wpautop,,Formatting,,normal,minor,Awaiting Review,enhancement,reviewing,,2011-03-07T22:06:30Z,2012-09-17T05:55:42Z,"I've put together an algorithm-based [http://www.mrclay.org/wpautop-functional-specification/ functional spec] that I hope could be useful in maintaining wpautop. Also might be handy is this combination of [http://code.google.com/p/mrclay/source/browse/trunk/tests/php/MrClay/AutoP/wpautop-fails.in.html wpautop failure cases].

The algorithm is based on work I've started on a DOMDocument-based implementation (a project I contribute to needs an MIT-licensed version), and although it's incomplete and slow, it does a bang-up job so far.

DOMDocument may just be too slow or strict in its parsing to allow the variety of markup that wpautop needs to accept, but it's ace at the level of surgical precision needed to do this right.",mrclay
16496,Make $sample_permalink_html human-readable on Edit Post screen,,Formatting,,normal,normal,Future Release,enhancement,new,has-patch,2011-02-08T19:40:23Z,2011-11-06T12:00:31Z,"If the permalink contains words with non-latin characters (for example the permalink structure is /%category%/%postname%/ and the assigned category is non-English) the $sample_permalink_html, which is echoed by [http://core.trac.wordpress.org/browser/branches/3.1/wp-admin/edit-form-advanced.php#L260 edit-form-advanced.php], is not human readable on Edit Post screen (below the title). The editable part of the permalink (the one that comes from the title of the post) ''is'' readable.

$sample_permalink_html should be urldecoded at some stage before echoed.

Screenshot attached.",linuxologos
18604,New hook for paginate_links() result,lightningspirit,Formatting,3.3,normal,major,Awaiting Review,enhancement,new,dev-feedback,2011-09-06T17:40:06Z,2012-04-27T23:28:53Z,"I'd like to propose two new hooks to paginate_links() in http://core.trac.wordpress.org/browser/trunk/wp-includes/general-template.php#L1950


This two hooks ''paginate_links_array'' and ''paginate_links_html'' will allow plugins to add, remove or alter html and links in admin pagination output, including the media uploader.


'''Background:''' sites with more than a thousand media objects have 140+ pages in media uploader interface. I had to be able to create a input box to enter page number manually.
",lightningspirit
19550,Please provide option to disable wptexturize entirely,,Formatting,3.3,normal,minor,Awaiting Review,enhancement,reopened,has-patch,2011-12-14T20:42:52Z,2012-01-04T16:53:05Z,"I assume this is controversial, but I want wptexturize to *always* be a no-op.  I know I'm not alone on this.  There exists a 3rd-party ""wpuntexturize"" plugin, but it is insufficient; even using that plugin, I keep running in to places where texturization is happening anyway.

Rather than making us play whack-a-mole with all the places it gets turned back on, can't we please just have a checkbox to disable it globally?

Alternately, if you would make wptexturize be a pluggable function, I could just re-define it.

As it is, with each new release, I am forced to modify the source to add ""return $text"" as the first line of the function.",jwz
10303,Provide better user feedback when content is changed by filters.,tott*,Formatting,,normal,normal,Future Release,enhancement,accepted,has-patch,2009-06-30T10:37:01Z,2013-01-22T01:03:33Z,"When filtering content via kses, adjusting bad nested xhtml or similar no feedback is given to the user. The content is just stripped and the user is not informed about the changes made and why they happened.

Presenting a diff in the admin message should increase the UX. ",tott
24106,Simplify wp_slash(),,Formatting,trunk,normal,normal,Awaiting Review,enhancement,new,has-patch,2013-04-16T19:37:12Z,2013-04-17T03:12:26Z,"[23416] added the function {{{wp_slash()}}} for the slashing sanitization in #21767.

[https://irclogs.wordpress.org/chanlog.php?channel=wordpress-dev&day=2013-04-16&sort=asc#m595515 According to ryan], it has been modelled after {{{$wpdb->prepare()}}}, and therefore uses a custom {{{foreach}}} loop with an {{{if}}}-check in it.
I suggest to instead model it after {{{stripslashes_deep()}}} and {{{urlencode_deep()}}} to simplify the function and make it better readable.

The attached patch also makes it clearer that this function works in a recursive manner.",TobiasBg
16448,Smilies should not be placed inside of pre or code tags,,Formatting,3.1,normal,normal,Awaiting Review,enhancement,new,has-patch,2011-02-03T04:00:52Z,2011-07-13T09:46:36Z,Smilies should ignore content inside of `<pre>` and `<code>` tags. The author likely is posting code and doesn't need smilies messing it up.,Viper007Bond
20120,Space before slash to close BR,,Formatting,3.4,normal,trivial,Awaiting Review,enhancement,new,,2012-02-25T04:08:58Z,2012-02-28T14:57:50Z,"Kind of a petty, I admit, but I noticed http://codex.wordpress.org/WordPress_Coding_Standards shows this as the standard, and I figured I'd help out by checking if any such occurrences exist (using the following):

`find -name '*.php' -type f | xargs egrep -n ""<br\/>""`

Diff attached (my first)...but I won't have my feelings hurt if the ticket is closed and I am banned from trac :)",bananastalktome
22402,Stripping non-alphanumeric multi-byte characters from slugs,,Formatting,,normal,normal,Awaiting Review,enhancement,new,,2012-11-10T05:07:10Z,2012-11-22T03:13:41Z,"`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
11616,Text copied form visual editor don't store font color,,Formatting,2.9,normal,minor,Future Release,enhancement,new,close,2009-12-25T09:14:51Z,2011-03-26T18:56:14Z,"if i copy something out of the post editing tool, and if i paste it into another, the color is not copied too.
Just the ""bold / underline ect...""

i have to ajust the color every time myself :(
",warsheep
15409,Top-Level Domain (TLD) validation function and email validation/sanitization,stephdau*,Formatting,3.1,normal,normal,Future Release,enhancement,accepted,has-patch,2010-11-12T20:40:33Z,2010-11-22T16:57:56Z,"The following patch proposes a new global function, does_value_end_in_valid_tld, to allow for a string value to be tested for as ending in a valid TLD.

TLD list as per http://data.iana.org/TLD/tlds-alpha-by-domain.txt

Regex inspired by http://gitorious.org/statusnet/mainline/blobs/master/lib/util.php#line724

The patch also implements using does_value_end_in_valid_tld() in is_email() and sanitize_email(), to start with.",stephdau
8213,WP text formatting functions handle block-level INS tag incorrectly,markjaquith*,Formatting,2.7,low,minor,Future Release,enhancement,accepted,,2008-11-14T14:51:09Z,2009-06-11T14:26:44Z,"From W3C documentation:

""INS and DEL are used to markup sections of the document that have been inserted or deleted with respect to a different version of a document (e.g., in draft legislation where lawmakers need to view the changes).

These two elements are unusual for HTML in that they may serve as either BLOCK-LEVEL or INLINE elements (but not both). They may contain one or more words within a paragraph or contain one or more block-level elements such as paragraphs, lists and tables.""


----


When I want to use INS tag as BLOCK-LEVEL element (to wrap to paragraphs for example) wrong HTML is produced:


{{{
<p><ins datetime=""2008-11-14T14:45:27+00:00"">First paragraph.</p>
<p>Second paragraph.</ins></p>
}}}

Correct HTML should look like this:

{{{
<ins datetime=""2008-11-14T14:45:27+00:00""><p>First paragraph.</p>
<p>Second paragraph.</p></ins>
}}}

I think the same sitiuation occurs for DEL tag.

",misieg772
12084,allow preserving HTML in the_excerpt (specify allowed tags for strip_tags in wp_trim_excerpt),,Formatting,3.0,normal,minor,Future Release,enhancement,new,has-patch,2010-01-29T22:36:40Z,2012-08-13T12:48:48Z,"Right now, `wp_trim_excerpt` is destructive. You can filter it, but once tags are stripped, you can't get them back without recreating the excerpt from the raw input. It would be nice if theme developers had an option to preserve at least some of the HTML formatting when using excerpts as post teasers (see #9260). ",sillybean
10792,ampersands and slashes stripped out of slugs,,Formatting,,low,trivial,Future Release,enhancement,new,has-patch,2009-09-15T22:56:00Z,2012-01-05T06:42:43Z,"In slugs for taxonomies or post permalinks, slashes (/\) and ampersands (&) are stripped out. More useful URLs would be created by turning slashes into hyphens, and ampersands into the word ""and"".

e.g.:

""songs by Lennon/McCartney""[[BR]]
expected slug: ""songs-by-lennon-mccartney""[[BR]]
actual slug: ""songs-by-lennonmccartney""

""Us & Them""[[BR]]
expected slug: ""us-and-them""[[BR]]
actual slug: ""us-them""",alxndr
5161,balance_tags option should not be in the user interface,,Formatting,2.3,normal,normal,Future Release,enhancement,new,dev-feedback,2007-10-08T08:02:49Z,2013-01-22T01:19:58Z,"In the WP Admin → Options → Writing ({{{options-writing.php}}}), there is an option ""!WordPress should correct invalidly nested XHTML automatically"" which controls whether {{{balance_tags()}}} is run on post content or not.

I'm fully supportive of this feature — I think it's important to ensure the HTML that is output to browsers is valid. There have been a few situations where users needed to turn this off, e.g. bugs in the function, or a plugin misbehaves with it on (if I remember correctly, runPHP).

However, this is a KDE-style option where it is put there for a niche case. In 99% of cases, you will want it on.

A few people on the mailing lists have stated a number of times that we should take a GNOME-like approach to these sort of features, and let them be controlled only by plugins. This option is left over from the dark ages of !WordPress, and I don't think the cases for turning it off are big enough to warrant its inclusion in the user interface.

If a plugin has a problem with balancing tags (e.g. runPHP), the offending plugin can simply remove the filter.

{{{
remove_filter('content_save_pre', 'balance_tags);
}}}

(...or whatever the code would be.)

The new canonical redirect feature has far more many problems, and far more justification for it to be turned off, yet I don't see a checkbox ""Redirect links to their canonical URL"" anywhere in the user interface. If anything should have a checkbox, it's the canonical redirect feature — but, it doesn't have any such thing. So, we should remove this checkbox as well.",JeremyVisser
20771,esc_url() instead of esc_html() in wp_nonce_url(),SergeyBiryukov,Formatting,3.4,normal,normal,Future Release,enhancement,reopened,dev-feedback,2012-05-29T06:21:37Z,2013-03-18T19:44:48Z,"The `wp_nonce_url()` function currently uses `esc_html()` in its output, which doesn't really seem to be the appropriate escaping function since it's generating a URL.

Attached patch changes the output to use `esc_url()`",jkudish
5689,smilies should not wrap on line-break,,Formatting,,low,minor,Future Release,enhancement,new,has-patch,2008-01-19T10:49:42Z,2010-07-15T01:44:30Z,When smilies are not converted to images they still should not wrap on line-break.,gpoul
20522,the sanitize_file_name_chars filter and ch(0),,Formatting,,normal,minor,Awaiting Review,enhancement,new,needs-unit-tests,2012-04-23T08:26:28Z,2012-04-24T00:41:12Z,"the sanitize_file_name_chars filter is tricky to use due to the chr(0) ending the array :

both 
{{{
special_chars[] = $my_char; 
}}}
and 
{{{
array_push($special_chars, $mychar);
}}}
have no effect.

so the only way to add some char to the array is to use array_unshift :
{{{
array_unshift($special_chars, $mychar);
}}}

adding 

this is mostly a php issue, but it could be useful to add some notice to the WordPress documentation.

",olivM
13340,wpautop breaks inline MathMl,,Formatting,2.9.2,normal,normal,Future Release,enhancement,new,needs-unit-tests,2010-05-11T14:04:58Z,2012-04-07T01:41:16Z,"wpautop treats inline &lt;math&gt; tags as block; they in fact may be placed block or inline, with their flow model dependent on the mode or CSS display property.

Trivial to fix; just needs someone to commit the change. Remove ""|math"" from $allblocks in file wp-includes/formatting.php. math tags on their own will be wrapped in a paragraph, which is fine.

As a very convenient enhancement, please replace on line 210:

{{{
     if ($br) {
-        $pee = preg_replace_callback('/<(script|style). ....
+        $pee = preg_replace_callback('/<(script|style|math) ...
}}}

to prevent MathML being polluted with breaks (current required workaround people are using is to have the whole block on one line, which is very messy to edit).",nicholaswilson
22773,"""Gallery Settings"" should be extensible",,Gallery,3.5,normal,minor,Awaiting Review,enhancement,new,,2012-12-06T03:17:19Z,2013-01-06T02:29:57Z,"This isn't necessarily new to 3.5, but now that we have a great gallery management system, I think we need to allow developers to customize the Gallery Settings fields (other than Link To / Columns / Random).

My specific use - which I think is common - is a completely custom gallery shortcode for a client. First and foremost, the client would like to be able to ""title"" the gallery itself, so a hook allowing the addition of custom field(s) would be needed. Ideally, the default fields would also be filterable so they can be removed as well (though I suppose we can do that with CSS now): for instance, most custom gallery implementations don't use the ""columns"" option.",jakemgold
18178,"Add ""none"" option to $attr['link'] for [gallery] shortcode",,Gallery,3.2.1,normal,normal,3.6,enhancement,new,has-patch,2011-07-19T20:02:27Z,2013-04-08T08:13:15Z,"Currently, the `[gallery]` shortcode only supports output of linked images. By default, each gallery image links to the attachment page, or directly to the file, if `link=""file""` is passed to the shortcode. Both cases use `wp_get_attachment_image_link()`.

Attached patch adds support for `link=""none""`, enabling the gallery images to be output as flat image files, rather than linked, via `wp_get_attachment_image()`.",chipbennett
18143,Add size for Gallery Settings,nacin*,Gallery,3.2.1,normal,normal,Future Release,enhancement,accepted,has-patch,2011-07-17T00:02:49Z,2012-05-02T20:25:00Z,Add a size option for gallery settings so it's easy to insert a single column gallery with large or full size images.,designsimply
11101,Gallery column width calculation needs more granularity,,Gallery,,normal,minor,Future Release,enhancement,new,has-patch,2009-11-08T07:36:13Z,2011-02-23T10:12:06Z,"In line 712 of wp-includes/media.php where the column width is calculated for the gallery css snippet:


{{{
$columns = intval($columns);
        $itemwidth = $columns > 0 ? floor(100/$columns) : 100;

        $selector = ""gallery-{$instance}"";

        $output = apply_filters('gallery_style', ""
                <style type='text/css'>
                        #{$selector} {
                                margin: auto;
                        }
                        #{$selector} .gallery-item {
                                float: left;
                                margin-top: 10px;
                                text-align: center;
                                width: {$itemwidth}%;                   }
}}}


itemwidth should be calculated as 

{{{
$itemwidth = $columns > 0 ? round(100/$columns,1) : 100;
}}}

This gives the width better precision. I've read that IE ignores the decimal, but it works on at least Firefox, so there is no reason not to let it have a decimal value. You could even increase the number of decimal points.",akozak
6820,Post image / attachment reparenting,matt,Gallery,,low,minor,Future Release,enhancement,new,has-patch,2008-04-23T01:24:09Z,2012-12-02T00:00:17Z,You should be able to change the parent of an attachment to attach it to a different post.,matt
10489,UI Improvements for the gallery tab (edit post),,Gallery,2.8.1,normal,normal,Future Release,enhancement,new,,2009-07-26T11:52:10Z,2010-10-28T08:48:06Z,"It would be nice to ever display the ""Gallery Settings"" Section on the gallery tab, even if only one image exists. That would help if you talk via phone and explain someone something. Often from-sections are helpfull to validate wether or not the other is on the same page as you are while explaining something.
",hakre
16686,$user argument of get_edit_profile_url() should be optional,,General,3.1,normal,normal,Future Release,enhancement,new,has-patch,2011-02-27T05:40:21Z,2011-02-27T09:54:36Z,It should default to the current user.,nacin
19332,'Edit Category' page lacks hooks to edit form fields,,General,3.2.1,normal,minor,Awaiting Review,enhancement,new,,2011-11-22T17:18:13Z,2011-11-22T17:18:13Z,"The default 'Name', 'Slug' and 'Description' form fields are stuck in place on Categories and Custom Taxonomies. 
There are hooks before and after the form (eg {$taxonomy}_pre_edit_form), but nothing to modify the basic output. 
These fields, especially 'slug', can scare civilians and it would be nice not to have to use JS to hide them.",duncanjbrown
22325,Abstract GPCS away from the superglobals,,General,,normal,minor,Future Release,enhancement,new,,2012-10-30T21:15:41Z,2013-03-21T00:27:16Z,"As discussed at #wpcs, it looks like we want to move away from directly using the GPCS superglobals. This gives us a way to handle slashing backwards compatibility moving forward.

This is still a heap of versions away, but this is a way to keep any notes central.",rmccue
23471,"Abstraction of post format parameters (wp_update_post(), XML-RPC, template tags)",,General,trunk,normal,normal,Future Release,enhancement,new,,2013-02-13T19:55:58Z,2013-05-16T12:07:38Z,"#19570 is introducing a UI for post formats. Correspondingly, various post meta fields will be introduced to store the extended data that's used in some post formats (eg. the URL field for a link or the source field for a quote).

Anything that interacts with the XML-RPC API and wants to support post formats (eg. future versions of the [http://wordpress.org/extend/mobile/ WordPress mobile apps]) will therefore need to:

 1. Send the various post format meta fields in its requests, and
 2. Receive the various post format meta fields in responses.

There should be some abstraction available at all levels of saving and fetching posts, don't we have to deal with the post meta fields directly. We should:

 1. Introduce a new parameter to the `wp.newPost` and `wp.editPost` XML-RPC methods for specifying the values of the extended post format fields when saving posts,
 2. Introduce a new parameter to the `wp.getPost` and `wp.getPosts` XML-RPC methods for returning the values of the extended post format fields when fetching posts,
 3. Introduce a new parameter to `wp_update_post()` for specifying the values of the extended post format fields when saving posts, and
 4. Introduce template tags for displaying/returning the values of the extended post format fields.

Point number 4 may be being covered somewhere else. I know it's been mentioned in IRC but I couldn't find mention of it on Trac.

The end result of this is that extended post format data is abstracted from its storage method.

Consideration: Which of these fields will be required and which are optional (on a per-post-format basis).

Thoughts? I'm happy to volunteer a first patch (or patches).",johnbillion
18804,"Add ""has-post-thumbnail"" class to post_class() when there's a featured image",danielbachhuber,General,,normal,minor,Awaiting Review,enhancement,assigned,dev-feedback,2011-09-28T17:55:45Z,2011-12-03T11:11:00Z,"It would be nice to have an ""has-post-thumbnail"" or similar class added when there's a featured image associated with the post.",danielbachhuber
17455,Add $post_type argument to get_lastpostdate/get_lastpostmodified/_get_last_post_time,,General,,normal,normal,Awaiting Review,enhancement,new,has-patch,2011-05-16T15:05:59Z,2011-05-16T16:00:05Z,As title says. You can currently use these functions to only get the latest [modification] date of all publicly queryable content types.,duck_
18816,Add 'offset' parameter and 'ancestral' boolean to wp_nav_menu,,General,,normal,normal,Awaiting Review,enhancement,new,,2011-09-29T16:13:42Z,2011-09-29T16:13:42Z,"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
21014,Add Action to Form Tags In Settings Pages,,General,3.4,normal,normal,Awaiting Review,enhancement,new,,2012-06-18T19:04:14Z,2012-06-18T19:04:14Z,"It would be nice to have additional hooks that allow adding attributes to form tags in settings pages.

For example, if you would like to allow a user to upload an image in a settings page, you need to add the enctype attribute to the form tag. Having a hook would allow you to avoid doing this with JS.

user-edit.php and user-new.php allow this using the 'user_edit_form_tag' and 'user_new_form_tag' hooks respectively, and it appears that edit-tag-form.php is adding this also. (http://core.trac.wordpress.org/ticket/15261)",desrosj
21488,Add Default Callback Functions for add_settings_field(),,General,,normal,normal,Future Release,enhancement,reopened,dev-feedback,2012-08-05T23:22:00Z,2013-02-24T04:57:58Z,"By default, when creating options in plugins and themes, every developer is required to create custom callback functions for rendering their option's HTML. The HTML for most options is nothing more than a standard INPUT field, a SELECT field, TEXTAREA field, etc, so there's really no reason there shouldn't be default callback options in place.

For example, if I have a plugin that registers one text field option in the General settings page, it really doesn't make sense that I should be forced to create a callback function, especially not when probably 99% of all text fields are outputted in exactly the same way: 

{{{
<input name=""FIELD NAME"" id=""FIELD ID"" value=""FIELD VALUE"" class=""regular-text""/>
<div class=""description"">The description of the field (if present)</div>
}}}

With default field callbacks available, developers can do this:


{{{
function pw_register_settings() {
	register_setting( 'general', 'pw_sample_option', 'esc_attr' );
	add_settings_section( 'pw_sample_section', 'This is a Sample Section', 'pw_sample_section_cb', 'general');
	add_settings_field( 'pw_sample_option', 'A Sample Setting', 'text', 'general', 'pw_sample_section', array( 'description' => 'The field description' ) );
}
add_action('admin_init', 'pw_test_settings');

function pw_sample_section_cb() {
	// this is the section HTML (if you want it)
}
}}}

This is much simpler than also having to write the callback function to render the HTML for the option.

The patch attached adds the following default callbacks:

* text
* textarea
* select
* radio
* checkbox
* checkbox_group

For select, radio, and checkbox groups, the options are passed as an array of ""choices"" in the last, optional $args parameter for add_settings_field():

{{{
$options = array( 
	'one' => 'The Choice Name',
	'two' => 'The Second name', 
	'three' => 'The Third option'
);
add_settings_field( 'pw_sample_option', 'A Sample Setting', 'select', 'general', 'pw_sample_section', array( 'choices' => $options, 'description' => 'This is a select' ) );

}}}

When a user wants to create a custom callback function, this is still allowed as call_user_func() is the default in the `$field['callback']` switch statement for the do_settings_fields() function.",mordauk
14960,Add More bulk actions to the link manager,edwardw*,General,,low,normal,Future Release,enhancement,accepted,dev-feedback,2010-09-25T22:11:35Z,2011-09-23T21:26:10Z,"Currently, the link manager supports only one bulk action, which is delete. 
If there are a lot of links, making links visible and invisible is now a tedious process. A bulk action for ""make visible"" and ""make hidden"" would be a good enhancement, IMHO.",teraom
19514,Add Per Page Filter for Nav Menu Post Type Meta Box,,General,,normal,normal,Awaiting Review,enhancement,new,has-patch,2011-12-12T15:40:53Z,2011-12-12T15:40:53Z,"Currently, there is a default (50) for paginating Post Type Entries on the wp_nav_menu_item_post_type_meta_box(). While there are other ways to filter this, it would be great for larger sites or larger number of post objects to be able to increase this for UX reasons.",wpsmith
20357,Add Return Empty String Function,,General,,normal,normal,Awaiting Review,enhancement,new,has-patch,2012-04-04T21:20:39Z,2013-03-07T16:53:39Z,"There's an easy way to return boolean, integer (0), and an empty array. But what about an empty string?
root\wp-includes\functions.php
{{{
/**
 * Returns an empty string.
 *
 * Useful for returning an empty string to filters easily.
 *
 * @since 3.0.0
 * @see __return_empty_string()
 * @return string Empty string
 */
function __return_empty_string() {
	return '';
}
}}}",wpsmith
21168,Add ability to remove a parent theme's page templates,,General,,normal,normal,Awaiting Review,enhancement,new,,2012-07-05T19:32:31Z,2012-08-05T23:54:15Z,"When building a website using a child theme, I'll often want to remove page templates that the parent theme provides but aren't useful/relevant to the specific site I'm building. 

You can create a page template with the same name to override the parent theme's, but you can't simply remove it.

This could be a use case of #13265, or we could add function that leverages #13265",billerickson
21089,Add admin url to install notification email,,General,3.4,normal,minor,Awaiting Review,enhancement,new,has-patch,2012-06-27T21:50:40Z,2012-06-29T23:07:34Z,"I've seen a number of individuals inquiring as to the login url of their WordPress site for administration purposes.  Let's give it to them by changing:

Your new WordPress site has been successfully set up at:

http://wordpress.url

You can log in to the administrator account with the following information:

Username: admin
Password: The password you chose during the install.

We hope you enjoy your new site. Thanks!

--The WordPress Team
http://wordpress.org/

to

Your new WordPress site has been successfully set up at:

http://wordpress.url

You can log in to the administrator account with the following information:

Username: admin
Password: The password you chose during the install.
Location: http://wordpress.url/wp-admin

We hope you enjoy your new site. Thanks!

--The WordPress Team
http://wordpress.org/",georgestephanis
18296,Add an action to Custom_Image_Header admin_page(),,General,,normal,minor,Awaiting Review,enhancement,new,,2011-07-29T17:31:17Z,2011-09-01T15:25:24Z,Add an action (do_action('custom_header_top');) to the admin page for themers to add more settings using the settings api.,wpsmith
18550,Add args to signup_finished action,,General,3.2.1,normal,normal,Awaiting Review,enhancement,new,,2011-08-31T00:07:01Z,2011-08-31T00:31:40Z,"In wp-signup.php there are 2 calls to do_action( 'signup_finished' );

1) When an user sings up.
2) When a new user sing up and a new site (in Multisite) is created.

It'd be good to have a way to diferenciare this differente scenarios. Also, it'd be good to have the registered user info passed to this action.
",rabino
18244,Add autoload flag to update_option,,General,,normal,normal,Awaiting Review,enhancement,new,has-patch,2011-07-25T16:21:21Z,2011-07-25T16:21:21Z,I think having an autoload flag in update_option would be beneficial in terms of making sure developers aren't unknowingly autoloading every single option. I've created a patch that allows developers to define autoload using update_option and force a change if needed.,wpdavis
14541,Add boolean at remove_meta_box action,,General,3.0.1,normal,normal,Future Release,enhancement,new,has-patch,2010-08-05T09:09:51Z,2010-11-18T10:09:59Z,"Add the possibility of getting the status of the remove_meta_box action by boolean.
Can be useful if you want to add/remove other metaboxes if one other is present or not.",Rahe
11581,Add category description to wp_list_bookmarks(),,General,2.9,normal,normal,Future Release,enhancement,new,has-patch,2009-12-23T20:09:22Z,2010-07-15T09:02:13Z,Add a parameter to display the link category description under the category title in wp_list_bookmarks() in bookmark-template.php. Setting a link category description is an option in the manager panel but there is not a good way to display it without modifying the core function itself a la http://www.brainshitting.com/index.php/archives/241,nedsferatu
18574,Add class_name support to wpdb,,General,,normal,normal,Awaiting Review,enhancement,new,dev-feedback,2011-09-02T20:03:58Z,2011-09-02T20:03:58Z,"As of PHP 5.0.0, the second parameter to mysql_fetch_object takes a class name which will be instantiated instead of stdClass. This will be handy as we upgrade core objects (see #12267 and #15458). I am using the attached patch on WordPress.com to simplify a lazy process. The effect is similar to what  does with WP_User but the code is much simpler.

The attached patch is fully backward-compatible unless you have defined classes named OBJECT, OBJECT_K, ARRAY_A, or ARRAY_N.

It could be improved by supporting the third parameter to mysql_fetch_object, an array of parameters to pass to the constructor. (For instance, you might want to pass $blog_id when constructing a WP_User). Adding this parameter would be perfectly simple if get_row did not already have a third parameter, $y, which is not used in core and should be removed because it invites wasteful queries.",andy
11212,Add filter to wp_parse_args(),,General,2.9,lowest,normal,Future Release,enhancement,reopened,,2009-11-21T05:23:01Z,2011-02-02T09:23:16Z,"This will allow for some l33t hackery (basically being able to modify a wide variety of functions).

Think we could squeeze it into 2.9 since it's just a filter?",Viper007Bond
18546,Add index.php to wp-includes and wp-admin/includes,,General,3.2,low,minor,Awaiting Review,enhancement,reopened,dev-feedback,2011-08-30T11:42:40Z,2012-09-05T19:12:08Z,"In [comment:ticket:17601:15], dd32 suggested an idea of adding `index.php` to `wp-includes`:

> /wp-includes/index.php doesnt exist however, leading to that entire folder being indexed by google in some cases (which [http://www.google.com/search?hl=en&client=opera&hs=4Ba&rls=en&q=intitle%3A%22Index+Of%22+inurl%3Awp-includes&aq=f&aqi=&aql=&oq= does happen]), this will cause Search Engines to index the contents of these files, leading to the errors being logged.

The patch adds `index.php` to `wp-includes` and `wp-admin/includes`.
",SergeyBiryukov
23257,Add plural versions of Post Format strings,,General,3.5,normal,normal,Awaiting Review,enhancement,new,has-patch,2013-01-22T00:59:30Z,2013-02-04T08:45:32Z,"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
17594,Add pre_get_home_url hook for plugins,,General,3.2,normal,normal,Awaiting Review,enhancement,new,reporter-feedback,2011-05-27T20:07:46Z,2011-08-26T02:46:22Z,"We need to allow plugins to ""do stuff"" in pre_get_home_url. In profiling today, we wrote some code that, if we have this hook, would allow a reduction of computations from x (in our case, 4000) down to 1 using a pseudo-cache technique. 

While that code isn't core-worthy, having a hook to allow plugin modification would incredibly enhance the ability to make WP more efficient on scale.",technosailor
16945,Add relative URIs containing a query in esc_url(),,General,3.1,normal,normal,Awaiting Review,enhancement,new,has-patch,2011-03-23T06:37:36Z,2011-03-23T08:18:14Z,"I'd like to enhance the esc_url function to accept an url starting with ? (query) to not require a protocol.

That's comparable with the # (fragment) case we already have in.

This is useful to create links to the current page that need a query only. Otherwise the php file must be added and for frontend pages it won't work with pretty permalinks.",hakre
10946,Add set_post_field(),,General,,normal,normal,Future Release,enhancement,new,has-patch,2009-10-12T16:58:43Z,2009-11-17T15:05:33Z,"get_post_field() should have a matching function that updates a certain field.

Very useful both for Core and for plugins.",scribu
23237,Add tag function to format markup,,General,,normal,normal,Awaiting Review,enhancement,new,,2013-01-19T06:46:55Z,2013-05-16T04:32:30Z,"Related to #23236 I'd like to add a generic function for making html tags:

{{{
wp_tag( $tagname, $attrs, $inner_html ) // returns an html tag
wp_tag_e( $tagname, $attrs, $inner_html ) // echoes an html tag
}}}

$attrs could be an array|string, and the tag should only close if $inner_html is defined, like tag() in [http://phat.airve.com phat].",ryanve
20706,Adding a link without a name or web address yields no (error) feedback,,General,,normal,minor,Awaiting Review,enhancement,new,dev-feedback,2012-05-19T00:42:57Z,2012-05-20T16:12:51Z,"If a user successfully creates a link (on link-add.php), the user receives the message ""Link added."" However, there are no measures taken to notify the user if the link was ''not'' successfully added.

Links are not added when the link name and web address fields are left blank, so I have included a little patch to let the user know when this occurs.

This could be done with some JavaScript form validation that makes an alert box pop up, but half the (PHP/HTML) code was already present for this, and I think it looks better this way, personally. This is my first attempt at submitting a patch to any open source project, so I appreciate your feedback. Thanks!",AVReidy
16431,Adding include to wp_list_comments(),,General,,normal,normal,Awaiting Review,enhancement,new,,2011-02-01T04:27:50Z,2011-02-01T07:23:31Z,"I have been building a simple forum on Wordpress using posts as questions, top-level comments as answers, replies as comments on answers. 

Choosing a best answer is available, which adds the ID of the chosen answer (comment) ti the postmeta of the question. 

I would like to arrange my answers so that the first one is the chosen best answer, and below you can view the normal flow of answers.

It would be nice if this could be done using wp_list_comments(). I would call it once and use ""include"" to show just the one comment, and then I would call it again without the include to show the usual flow of comments. 

I believe this might be generally helpful in other cases as well though.  ",danielpataki
23387,Adding priority to individual settings via the settings API.,,General,3.5,normal,normal,Awaiting Review,enhancement,new,has-patch,2013-02-05T00:05:19Z,2013-02-05T11:54:36Z,"Currently there is no way (at least that I could find) to specify the order of settings on a settings page (for example, a theme options page). Use case: a child theme adding a setting to the parent theme's ""Theme Options"" page has no way of specifying the order in which the new setting should be inserted. 

I've modified the add_settings_field() function to allow for a priority to be set (much like when adding settings to the theme customizer). I also added uasort($wp_settings_fields[$page][$section], 'compare_priority'); to the do_settings_fields() function, where 'compare_priority' is a slightly modified version of the compare function used to set the priority of the theme customizer sections.

This patch is loosely related to #22487 which adds priority to settings sections, but not individual settings.",alexmansfield
22487,Adding priority to settings sections.,,General,,normal,normal,Awaiting Review,enhancement,new,has-patch,2012-11-17T09:08:34Z,2013-02-05T10:35:14Z,"Currently there is no way (at least that I could find) to specify the order of settings sections on a settings page (for example, a theme options page). Use case: a child theme adding a settings section to the parent theme's ""Theme Options"" page has no way of specifying where on the page the new section should be placed.

I've modified the add_settings_section() function to allow for a priority to be set (much like when adding sections to the theme customizer). I also added `uasort($wp_settings_sections[$page], 'compare_priority');` to the do_settings_section() function, where 'compare_priority' is a slightly modified version of the compare function used to set the priority of the theme customizer sections. The patch is based on version 3.4.2, but I'd be happy to make another for the development version if that would help.

This is my first patch submitted, so please let me know if I need to do anything differently. Thanks!",alexmansfield
16886,Adding readonly function to wp-includes/general-template.php,,General,3.1,normal,minor,Awaiting Review,enhancement,new,has-patch,2011-03-18T16:00:34Z,2011-03-18T19:40:01Z,"A quite simple improvement, really. 

Just like the ''checked'', ''selected'' and ''disabled'' function, ''readonly'' would be a shortcut to ''__checked_selected_helper''.

I was doing a theme option page and realized that disabling fields removes the data from the data submission.

I have a bunch of fields that gets used (or not) in the theme, depending on a on/off switch. At first, depending on the switch, I was disabling the fields, but all the data is removed on submit if the switch is at off. Meaning that the user would have to reenter every fields if he wants to activate the functionality.

Putting the fields on readonly gives a nice feedback to the user that those fields are not use, depending on the switch, AND the data is kept if the user changes his mind.

So, here's the patch.

{{{
/**
 * Outputs the html readonly attribute.
 *
 * Compares the first two arguments and if identical marks as readonly
 *
 * @since 3.1.#
 *
 * @param mixed $disabled One of the values to compare
 * @param mixed $current (true) The other value to compare if not just true
 * @param bool $echo Whether to echo or just return the string
 * @return string html attribute or empty string
 */
function readonly( $readonly, $current = true, $echo = true ) {
    return __checked_selected_helper( $readonly, $current, $echo, 'readonly' );
}
}}}

",kakidcm
14741,Allow MS sites to share a posts table,filosofo,General,3.0.1,normal,normal,Future Release,enhancement,new,,2010-08-30T22:20:24Z,2010-08-30T22:20:24Z,"MS should allow admins to set a constant in `wp-config.php` that looks for all post objects to be in the main `posts` table.  When that constant is true, one could distinguish sites by a postmeta value.

This would make activity-stream like stuff across sites much easier to do as well as allow network-wide custom post types.",filosofo
24068,Allow absolute paths to be passed into content_url(),,General,,normal,trivial,Awaiting Review,enhancement,new,has-patch,2013-04-12T20:13:59Z,2013-04-12T20:13:59Z,"It would be very useful if `content_url()` allowed an absolute path to be supplied just like `plugin_dir_url()` does. This would allow a script within a theme subdirectory to easily obtain the URL to that subdirectory, for example via `content_url(__DIR__)`, instead of having to add relative paths after `get_stylesheet_directory_uri()`. This would also allow code living somewhere else under `wp-content/` (not in plugins or themes) to likewise obtain its full URL.

http://codex.wordpress.org/Function_Reference/content_url
http://codex.wordpress.org/Function_Reference/plugin_dir_url
http://codex.wordpress.org/Function_Reference/get_stylesheet_directory_uri",westonruter
22631,Allow change of dropins folder,,General,3.5,normal,normal,Awaiting Review,enhancement,new,,2012-11-29T07:02:44Z,2012-11-29T15:44:06Z,"Dropins are stored in the `wp-content` directory. Currently there is no way to alter this (short of editing core code).

The `get_dropins()` function does not utilize filters or predefined constants in any way.

Probably the best method here would be to define `WP_DROPINS_DIR` constant in `/wp-includes/default-constants.php` that can be overridden in wp-config.php.",bungeshea
10722,Allow filtering of whether or not 404 should be handled.,markjaquith,General,2.8.5,normal,normal,Future Release,enhancement,assigned,has-patch,2009-09-02T17:50:14Z,2012-09-24T02:22:27Z,"There are certain situations where a user may not want the page to always 404 when there are no posts for the given permalink.  IE, author pages, dates, etc.  There should be a filter available to allow the 404 handling to be bypassed.",prettyboymp
21930,Allow hooks to define avatar before Gravatar processing,,General,3.4,normal,trivial,Awaiting Review,enhancement,new,has-patch,2012-09-19T16:30:35Z,2012-09-28T08:13:29Z,"The get_avatar() function allows for developers to override avatar output in two ways. You can replace the function (pluggable) - not a good idea in my view, especially if you still want the ability to fallback and use Gravatar sometimes. You can also filter the output at the very end of the function with the 'get_avatar' hook. This works fine, but in highly common instances where a plug-in might want to override the avatar on a case by case basis, this forces each get_avatar call to needlessly process through the entire default avatar / Gravatar ""construction"".

Admittedly, that processing is mostly trivial string manipulation and conditionals with an md5 in the mix, but it still seems like needless overhead in instances where many avatars might get called in a comments thread or authors list.

Proposing a pretty trivial change that allows an avatar to be defined by a filter hook before proceeding through Gravatar / default avatar processing, skipping over all of that if one is, in fact, defined.

My inspiration for this is an attempt to improve the performance of my fairly popular Simple Local Avatars plug-in, that allows users to upload local avatars: http://wordpress.org/extend/plugins/simple-local-avatars/",jakemgold
20048,Allow mt.getRecentPostTitles to return the sticky flag,,General,3.3.1,normal,normal,Awaiting Review,enhancement,new,,2012-02-15T14:02:03Z,2012-02-15T14:02:03Z,"Would be nice to return the value of the sticky flag in the mt.getRecentPostTitles response. This XML-RPC call is mostly used on mobile clients, and we need to show a visual indicator on ""sticky"" posts. Obviously, we can  call metaWeblog.getRecentPosts, but it is a ""more expensive"" XML-RPC call.",daniloercoli
21466,Allow post password cookie expiry to be customized,,General,3.4.1,lowest,minor,Future Release,enhancement,new,has-patch,2012-08-04T20:52:35Z,2013-04-16T11:23:29Z,"It'd be nice if you could customize the expiry time for the post password cookie that is set in `wp-login.php?action=postpass`.

The only solution right now is [https://gist.github.com/3259814 pretty ugly].",Viper007Bond
12721,Allow post_type's _edit_link to be outside of the admin.,,General,,normal,normal,Future Release,enhancement,new,has-patch,2010-03-26T13:07:49Z,2010-05-15T10:06:36Z,get_edit_post_link runs the post_type's _edit_link through admin_url() always forcing the edit page to be within wp-admin.  There are times where this isn't desired.  I'm submitting a patch to check that the url of the _edit_link doesn't begin with http(s?): before running it through admin_url ,prettyboymp
12494,Allow selectable value in Walker_*Dropdown classes,,General,,normal,normal,Future Release,enhancement,new,dev-feedback,2010-03-03T06:17:50Z,2010-03-26T03:04:47Z,I think we should be able to select either term_id or term_slug as the output value for Walker_CategoryDropdown class and likewise either ID or post_name for Walker_PageDropdown class.,jfarthing84
21472,Allow supplying a custom text to status_header(),,General,,normal,minor,Awaiting Review,enhancement,new,has-patch,2012-08-05T20:19:54Z,2012-08-05T20:19:54Z,"Problem: I'd like to issue a HTTP 500 error, but include a text different from Internal Server Error, so that the client knows what caused the error.

Currently for a known error code the {{{status_header()}}} function always uses the global array {{{$wp_header_to_desc}}} and the only way to have my own text is to set the value in the global array.

The patch adds a second a argument to {{{status_header()}}}.",nbachiyski
14804,Allow the_title_attribute() to accept a post ID,,General,,normal,normal,Future Release,enhancement,new,has-patch,2010-09-07T15:41:38Z,2011-01-14T03:48:09Z,"`the_title_attribute()` does not currently accept being passed a post object/ID and therefore, via its call to `get_the_title()` without an argument, always assumes the current post.  By simply allowing its `$args` array to accept and use a ""post"" value, then the function can be used to generate an attribute-friendly post title for any specified post.

Attached is the patch enabling this.  The `$args` array is amended with a ""post"" element, default of 0 (which maintains current default behavior).  Since `get_post()`, by way of `get_the_title()`, accepts a post ID or post object, either type can be assigned as value for the ""post"" element.
",coffee2code
17526,Allow themes and plugins to disable options in the admin,,General,,normal,normal,Future Release,enhancement,new,,2011-05-20T20:19:50Z,2011-05-20T22:09:04Z,"I frequently set options in functions.php by hooking 'pre_option_*', thus whatever the user does in the admin interface they can't change it.

There should be a filter to make the option obviously disabled to the user (it should probably also set the disabled attribute on the form fields) and perhaps add a short message saying for instance ""This option was changed by $plugin_name, visit $link to change it."" or ""This option has been set by the '$theme_name' theme. It cannot be changed.""",holizz
11642,Allow to define upload path and url in wp-config.php,,General,2.9,normal,normal,Future Release,enhancement,new,,2009-12-27T11:11:35Z,2012-09-28T11:44:33Z,"When someone wants to move default directories elsewhere, he/she must do work in two places: add defines to wp-config.php and change upload path on settings page. I think it will be good to introduce two new defines: UPLOAD_PATH and UPLOAD_URL_PATH. When they will be defined, WordPress should use them and do not allow to change these on settings page - similarly to home and site url options.",sirzooro
16734,Allowing multiple selection when using wp_dropdown_categories,,General,3.1,normal,normal,Awaiting Review,enhancement,new,dev-feedback,2011-03-02T22:58:25Z,2012-01-11T23:40:00Z,"I would like to be able to pass an argument to wp_dropdown_categories() to allow the user to select more than one category using a CTRL-CLICK. I can use a preg_replace to add the multiple tag to the html select tag, but I cannot pass multiple selections in the ""selected"" argument. 

I modified two files (wp-includes/category-template.php and wp-admin/css/wp-admin.css) to add this option and will include patches for these files. It adds a boolean argument for ""multiple"" to wp_dropdown_categories and uses in_array to check if terms are listed in an array in the ""selected"" argument, casting it as an array if it is not. I have tested this patch to work in the latest trunk (3.1).

The change in the w-admin.css is so the multiple selection box is tall enough to show the slider and more than one category.",grandslambert
21521,Audit use of set_time_limit(),,General,3.4.1,normal,normal,Future Release,enhancement,new,,2012-08-08T17:28:21Z,2012-10-18T13:07:12Z,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
18954,Automatically whitelist screen options added via add_screen_option(),,General,,normal,normal,Future Release,enhancement,new,early,2011-10-14T22:54:08Z,2011-11-25T19:27:18Z,"{{{set_screen_options()}}} currently maintains a hardcoded whitelist of screens that can set options.

The list is extendable via the filter:

{{{
apply_filters('set-screen-option', false, $option, $value);
}}}

but that's sort of a pain.  If a plugin calls {{{add_screen_option()}}}, it should be added to the whitelist automatically.

Also note that {{{set_screen_options()}}} is called so early, there's no convenient place for plugins to add to the {{{set-screen-option}}} filter.  The best workaround I've been able to come up with is to manually call {{{set_screen_options()}}} again inside the page's {{{load-$hook}}}.

Example naive plugin code that does not work in <=3.3.

{{{
# Inside a menu page's load-$hook
// Display per-page settings in screen options
add_screen_option( 'per_page', array( 'label' => __( 'Things' ) ) );
}}}",mdawaffe
21258,Autosuggest for tags suggests tag already chosen,,General,,normal,normal,Awaiting Review,enhancement,new,,2012-07-13T12:38:03Z,2012-07-13T12:38:03Z,"When entering tags in the meta box on a post (or page) edit screen in admin, the AJAX autosuggest will suggest tags that have already been added to the post (i.e. shown below the input field).

Steps to reproduce:

1. Go to the post edit screen.
2. Add a tag (example: ""Apple"") to the current post.
3. Type ""App"" in the tag entry field and wait for autosuggest to come up.
4. ""Apple"" is listed in the suggestions dropdown.

I've investigated this a little, and I don't think there's a really easy patch for this (mostly because of how suggest.js works). However, it would imho be very elegant to fix this. Perhaps autocomplete.js can be of service here (see issue #12399)?",roytanck
18561,Better Way to Insert Things Below Individual Posts,,General,3.2.1,normal,minor,Awaiting Review,enhancement,new,,2011-09-01T03:56:21Z,2013-04-22T19:02:15Z,"More and more plugins want to drop stuff in below each post (especially common among plugins focused on encouraging the sharing of content). There's not really a great way to do it, though, if your single-post-area doesn't end with the last line of body text. Many themes put the byline/date/metadata below -- rather than above, which used to be the norm -- the post content, including our own Twenty Eleven.  See the screenshot to see how ugly it is when a plugin (or two, or more) uses the the_content filter to insert something at the ""end"" of each post. 

Inserting the sharing and like rows (in this example) at the bottom of the post text before the byline/classification metadata seems wrong. It should go below that, so it is closely related to commenting, not part of the content itself. The plugin-generated widget is not ""by"" the post author, after all.

I have been told that options for addressing this are basically either modifying the theme and/or getting a new filter in place. Whatever we need to do, let's do it, because misplacing plugin-provided tools inside the content rather than after it is a) really bad IA, and b) crazy ugly.",jane
19825,Bugs and modifications to localize script,,General,,normal,normal,Awaiting Review,enhancement,new,,2012-01-13T16:47:55Z,2012-01-18T20:00:08Z,"After working in trunk, I noted that I get a fatal error when trying to localize some objects with wp_localize_script informing me that I cannot use an object of that type as an array. For tests, I've done this with $wp, $wp_query, $wpdb, and $wp_scripts on a clean install with no plugins.

I also have been working on sites that would like to compress all of their JS calls into a single request where possible, but in the past I was not able to keep localizations that certain scripts required, and had to leave them out.

With the changes I've made in this patch file, the issues regarding pushing arbitrary objects for localization are addressed. It also stores those objects, rather than a string of JS with $wp_scripts. This allows me to pull the localizations used for some files, and attach them instead to another file using wp_localize_script.

As a side benefit, by not processing the object into JS until output, we are able to preserve the data cleanly, and reduce process on any script that may be dequeued later that has such dependencies.

I would like to submit this patch as a core patch for a future release. Its design is fully compatible with existing functionality in 3.3, with the exception of any code modifying the underlying data key in an enqueued script directly.",ssmathias
16185,Bulk Actions Dropdown Box JS Sync Ajax-Tables,,General,3.1,normal,normal,Future Release,enhancement,new,has-patch,2011-01-11T11:15:33Z,2012-07-26T19:25:41Z,"It would be an increase in usability - if JS is enabled - to sync the changes between the bulk-action-drop-down on top of the table with the one below the table.

In my scenario I increased the amount of entries to over 100. So you need to scroll. So to set the bulk action on top and then you might think twice, need to check something, scroll down to the list to check the last entry and you want to press the bulk submit down below.

That combo box is still on the default value right now. To spare additional clicks, it would be nice that it got synched with the one on top.

Related: #14579; #15580",hakre
18243,Can you make `add_settings_error` work for custom top-level admin menus?,,General,3.2.1,normal,normal,Awaiting Review,enhancement,new,,2011-07-25T13:13:33Z,2013-03-15T23:46:07Z,"Currently when trying to use the Settings API on custom top-level admin menus, `add_settings_error` will fail to work. It fails silently, and no error message is displayed. I'm told this is because `options-head.php` is not included on custom top-level admin menu pages.",jcskyrocket
16792,"CategoryWalker, if cat_name is empty, do not append the empty a tag to the output",,General,3.1,normal,trivial,Awaiting Review,enhancement,new,has-patch,2011-03-07T22:36:29Z,2011-03-07T22:38:46Z,"If the theme is customized to skip some categories by doing something like add_filter('list_cats', 'hideSomeCatgory') and returning a null or an empty string as cat name, the CategoryWalker will append an empty html element to the output",samo9789
20298,Change requires to require_once,,General,3.3.1,normal,normal,Awaiting Review,enhancement,new,close,2012-03-24T22:39:20Z,2012-04-01T17:58:37Z,"Wordpress partially uses ""require"" to include files. I'd prefer to have require_once everywhere where a file really shouldn't be included twice. I'm currently developing an HTTP-Server (https://github.com/pp3345/Pancake) with a function to keep ""static"" codefiles (for example files that only do class-definitions and don't actually really execute any code) in some kind of a cache so that they don't need to be loaded again on every single request in order to improve performance. When I now, for example, load the wp-includes/class-wp-walker.php into the cache at the beginning and then Wordpress tries to require the file again, it fails with an Fatal Error due to trying to define the class again. Using require_once instead of require in Wordpress can be done quickly and would easily fix this. Also, it could improve the codes quality a bit.",pp3345
22110,Check for current conditional,,General,3.4,normal,normal,Awaiting Review,enhancement,new,,2012-10-05T17:12:18Z,2012-10-11T00:37:05Z,"More than once I've needed a programmatic way to determine what page is being displayed, for example when implementing event tracking recently:


{{{
add_action( 'wp_enqueue_scripts', function() {
	wp_enqueue_script( 'my-site', get_template_directory_uri() . '/js/mysite.js', array( 'jquery' ), '1', true );

	// Figure out what type of page we're on
	$is = '';
	foreach ( $GLOBALS['wp_query'] as $key => $value ) {
		if ( true === $value && 'is_' === substr( $key, 0, 3 ) ) {
			$is = substr( $key, 3, strlen($key) );
			break;
		}
	}
	wp_localize_script( 'my-site', 'event_tracking', array(
		'category' => $is,
	) );
} );

}}}
And then used like:

{{{
<a onclick=""_gaq.push(['_trackEvent', event_tracking.category, 'more-stories', 'click']);"">Action</a>
}}}

Now granted the above way to determine the current page is a little janky, and has at least one flaw (on custom post type archives because both ""is_archive"" and ""is_post_type_archive"" are set, and it will find ""is_archive"" first, every time).  TBH this was me with a bowl of chili in one hand trying to avoid typing out ""if ( is_* ) { } elseif ( is_* ) { } elseif ( is_* ) {} ..."".  

A saner function would probably explicitly check each conditional, which would make it a little more tedious but also more maintainable:

{{{
function where_am_i( $return = 'simple' ) {
	global $wp_query;
	
	if ( ! isset( $wp_query ) ) {
		_doing_it_wrong( __FUNCTION__, __( 'Conditional query tags do not work before the query is run. Before then, they always return false.' ), '3.5' );
		return false;
	}
	
	$primary = null;
	$secondary = null;
	$tertiary = null;
	
	// Tried to maintain the hierarchy from query.php
	if ( true === $wp_query->is_robots ) {
		$primary = 'robots';
	} elseif ( true === $wp_query->is_attachment ) {
		$primary = 'attachment';
		$secondary = 'single';
		$tertiary = 'singular';
	} elseif ( true === $wp_query->is_page ) {
		$primary = 'page';
		$tertiary = 'singular';
	} elseif ( true === $wp_query->is_single ) {
		$primary = 'single';
		$secondary = 'singular';
	} elseif ( true === $wp_query->is_search ) {
		$primary = 'search';
	} elseif ( true === $wp_query->is_time ) {
		$primary = 'time';
		$secondary = 'date';
		$tertiary = 'archive';
	} elseif ( true === $wp_query->is_day ) {
		$primary = 'day';
		$secondary = 'date';
		$tertiary = 'archive';
	} elseif ( true === $wp_query->is_month ) {
		$primary = 'month';
		$secondary = 'date';
		$tertiary = 'archive';
	} elseif ( true === $wp_query->is_year ) {
		$primary = 'year';
		$secondary = 'date';
		$tertiary = 'archive';
	} elseif ( true === $wp_query->is_date ) {
		$primary = 'date';
		$secondary = 'archive';
	} elseif ( true === $wp_query->is_category ) {
		$primary = 'category';
		$secondary = 'archive';
	} elseif ( true === $wp_query->is_tag ) {
		$primary = 'tag';
		$secondary = 'archive';
	} elseif ( true === $wp_query->is_tax ) {
		$primary = 'custom_taxonomy';
		$secondary = 'archive';
	} elseif ( true === $wp_query->is_author ) {
		$primary = 'author';
		$secondary = 'archive';
	} elseif ( true === $wp_query->is_post_type_archive ) {
		$primary = 'post_type';
		$secondary = 'archive';
	} elseif ( true === $wp_query->is_feed ) {
		$primary = 'feed';
	} elseif ( true === $wp_query->is_trackback ) {
		$primary = 'trackback';
	} elseif ( true === $wp_query->is_comments_popup ) {
		$primary = 'comments_popup';
		$secondary = 'comments';
	} elseif ( true === $wp_query->is_preview ) {
		$primary = 'preview';
		$secondary = 'singular';
	} elseif ( true === $wp_query->is_admin ) {
		$primary = 'admin';
	} elseif ( true === $wp_query->is_comment_feed ) {
		$primary = 'comment_feed';
		$secondary = 'comments';
		$tertiary = 'feed';
	} elseif ( true === $wp_query->is_404 ) {
		$primary = '404';
		$secondary = 'singular';
	} elseif ( true === $wp_query->is_home ) {
		$primary = 'home';
		if ( true === $wp_query->is_posts_page ) {
			$secondary = 'posts_page';
			$tertiary = 'page';
		} else {
			$secondary = 'static_page';
		}
	}
	
	if ( 'detailed' === $return ) {
		$details = compact( $primary, $secondary, $tertiary );
		$details = array_filter( $details ); // Remove empty
		return $details;
	}
	
	// 'simple' === $return
	return $primary;
}
}}}

Should it use $wp_the_query so that it always acts on the main query?  ",mintindeed
16943,Code Cleanup add_query_arg() + friends,,General,3.1,normal,normal,Awaiting Review,enhancement,new,needs-unit-tests,2011-03-23T05:41:22Z,2011-03-23T07:11:27Z,"This should reduce the complexity of add_query_arg() a bit.

This is partially related to PHP 5 stuff (#16918,#16920) we can make use of now.

Originated in #16932 

Related: #16942",hakre
18489,Create constants in default-constants.php for the uploads folder to allow better custom uploads location,eddiemoya,General,3.2.1,normal,normal,Awaiting Review,enhancement,reopened,close,2011-08-19T20:11:41Z,2013-03-16T04:24:33Z,"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
13504,Create cookie name hash option,,General,,normal,normal,Future Release,enhancement,new,,2010-05-23T16:45:47Z,2010-05-23T16:46:10Z,"I put this on future release but we should do it early in 3.1. Currently, by default,

an upgraded MU install has an empty string as a cookie name hash

a single WP site uses the siteurl option as the seed for a MD5 hash

a WP -> WP 3.0 network uses the main site's siteurl option + '/' as the seed for a MD5 hash

We should move these to a common more appropriately name option/site option and give the super admin(s) the ability to change it and/or generate a new one.",wpmuguru
20317,Delete auto-draft using window.onbeforeunload,,General,,low,normal,Awaiting Review,enhancement,new,dev-feedback,2012-03-28T22:50:27Z,2012-03-28T22:53:23Z,"When a user goes to post-new.php, a new auto-draft post is created.

Old auto-drafts are garbage-collected: #19663

To lessen the need for GC, we could send an AJAX request to delete the auto-draft immediately when the user navigates away from the page (but not when he presses the Submit button).

",scribu
15930,Deleted page bin view?,,General,3.0.3,normal,normal,Future Release,enhancement,new,dev-feedback,2010-12-21T10:32:30Z,2010-12-26T22:43:21Z,"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
16982,Deprecate post_permalink(),,General,,normal,minor,Future Release,enhancement,new,has-patch,2011-03-27T20:18:43Z,2011-03-28T06:10:47Z,"post_permalink() does nothing but call get_permalink() and already has a deprecated argument.

Let's deprecate it completely, since it's useless.",scribu
21126,"Different ID on ""Set featured image"" link if there is already an image set",,General,3.4,normal,normal,Awaiting Review,enhancement,new,has-patch,2012-06-30T22:02:55Z,2012-06-30T22:02:55Z,"I ran into a situation where I wanted to target the ""Set featured image"" link text in the featured image metabox. The ""Set featured image"" link displays and has an id of ""set-post-thumbnail"". When you set the thumbnail, the link still has an ID of ""set-post-thumbnail"" though now it is wrapping around the thumbnail image rather than the ""Set featured image"" text. Then a second link is added to remove the featured image with the id of ""remove-post-thumbnail"". 

In my situation I wanted to target the ""Set featured image"" link (with the text) and the ""Remove featured image"" link separately, but this was tricker than it needed to be because the ""Set featured link"" keeps the same id of set-post-thumbnail when it is wrapped around the thumbnail image.

Beyond my specific issue, I think it could be argued that this link deserves a specific id, since the action the link is performing is modifying the featured image more than it is setting it. 

So I've included a patch here that will modify the $set_thumbnail_link variable when the $thumbnail_id is present and change the link's id to modify-post-thumbnail. I'm not sure if it's the most elegant/clever way to achieve what I'm after, but I know it gets the job done.",ryanimel
14305,Display file for localized versions as Drop-in,nacin,General,,normal,normal,Future Release,enhancement,reviewing,has-patch,2010-07-14T09:08:03Z,2011-03-26T08:37:42Z,"Localization teams can use special files (for example cs_CZ.php) to handle special problems. This file should be shown on Plugins page, probably as Drop-in, I guess...",pavelevap
14078,Don't send notifications for comments too early,,General,3.0,normal,normal,Future Release,enhancement,new,has-patch,2010-06-24T19:22:26Z,2010-06-24T19:35:03Z,"Not sure if this classes as a bug or enhancement, will call it an enhancement for now. 

In  wp_set_comment_status the notifications are currently sent out before the work is done, and there is potential for the subsequent work to fail (due to database issue etc.)  

Attached patch (attempts to) move the notification so it is only sent after the work is done. ",mrmist
22405,Easier expression of file sizes and other data amounts,,General,3.5,normal,normal,Future Release,enhancement,new,has-patch,2012-11-10T08:42:05Z,2012-11-18T11:10:49Z,"In the spirit of #20987 writing {{{64 * 1024 * 1024 * 1024 * 1024}}} isn't very readable and cool.

Here is a patch, which adds a couple of constants like {{{KB_IN_BYTES}}}, {{{MB_IN_BYTES}}}, etc.",nbachiyski
21547,Enable 'delocalization' of scripts,,General,,normal,normal,Awaiting Review,enhancement,new,has-patch,2012-08-11T04:04:27Z,2012-08-12T20:19:51Z,"I created a patch to enable developers to 'delocalize' a script they added. Currently if somebody localizes a script with wp_localize_script() there's no going back.

Can someone look at it and offer feedback? I'm not a regular WordPress contributor, so there may be stylistic issues.",gkb6891
21714,Enable Intermediate choice in UI if Full Size Image is exact match to Intermediate Image,,General,3.4.1,normal,minor,Awaiting Review,enhancement,new,,2012-08-28T15:56:09Z,2012-08-28T15:56:09Z,"
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
18653,Enhancement: Filter Taxonomy Show UI in post editor (edit-form-advanced.php),,General,3.3,normal,normal,Awaiting Review,enhancement,new,has-patch,2011-09-13T16:03:49Z,2011-09-13T17:48:45Z,"I am working on a project that maintains a ""hidden"" taxonomy. I want to expose the taxonomy selectively on various custom post types.

The attached patch filters a taxonomy's show_ui value before deciding to create a meta_box. The filter also passes the taxonomy object as well as the current post type.",transom
20125,Escape output in settings_errors,,General,3.0,normal,normal,Awaiting Review,enhancement,new,close,2012-02-26T17:26:26Z,2012-02-27T06:37:53Z,"'''The Problem'''

The ""settings_errors"" function does not escape data when outputting it from the $settings_errors variable, which either comes from the $wp_settings_errors global variable or the ""settings_errors"" transient. This data is not escaped at any point during retrieval or output. Additionally, the data is not sanitized or validated when adding it via ""add_settings_error"". 

'''Test Case'''

In the validation callback function for a setting, adding a settings error with HTML can badly break output:

{{{
add_settings_error( 'zdt-setting', '1023', 'An error occurred</div>' );
}}}

'''Solution'''

Escape the $type, $code, and $message variables on output.

'''Possible Issues'''

The $message variable is output wrapped in a 'p' and 'strong' tag. My patch tries to allow common, reasonable tags to be output. I use ""wp_kses_data"", which will only allow tags defined in the $allowedtags variable. Should a plugin or theme author need another element printed out, it will be stripped; however, there still is the potential that it could cause issues for plugins that were previously able to place anything in the $message variable. With that said, most other tags would lead to invalid HTML and probably shouldn't be allowed in this context anyway.",tollmanz
18391,Expand WP_DEBUG_LOG and make WP_DEBUG_DISPLAY work as expected,,General,,normal,normal,Future Release,enhancement,reopened,,2011-08-13T05:45:21Z,2011-10-25T05:20:06Z,"== WP_DEBUG_LOG ==

WP_DEBUG_LOG currently creates wp-content/error.log. We should expand this to allow a path.

To do this, if WP_DEBUG_LOG is !== true, != 1, != 'true', (anything else?) and 0 === validate_file(), we should treat it as a path.

== WP_DEBUG_DISPLAY ==

Setting WP_DEBUG_DISPLAY to false does not set display_errors to false. Instead, it prevents display_errors from being set to on. This forces a call to ini_set to turn off display_errors, assuming your php.ini is set to On, as expected for a development environment configuration.

Instead, setting WP_DEBUG_DISPLAY to false should set display_errors to false. I've been thinking about this for months now, and the only situation I can come up with that this would be a compatibility issue would be when you deliberately have a production php.ini on production and a development php.ini in development. In this situation, WP_DEBUG_DISPLAY = false would screw up your development environment only -- the only breakage would be showing less errors, rather than more.

WP_DEBUG_DISPLAY === null can remain a passthrough.

Patch forthcoming.",nacin
16504,Faster maybe_unserialize,,General,3.1,normal,normal,Awaiting Review,enhancement,new,has-patch,2011-02-09T11:11:52Z,2011-05-11T11:46:49Z,"In #14429 many have taken care to optimize the is_serialized speed.

The function is of good general value and most often used to ""maybe"" unserialize.

It was [http://core.trac.wordpress.org/ticket/14429#comment:3 originally smabauers] who reminded that it's only about to check what it's about to check.

''Option values'', if serialized are only serialized Array, Objects or Strings. No exceptions. And they are ''always trimmed'' strings.

As is_serialized() is of general use and might be used by plugin authors, maybe_unserialize can get a new playmate.",hakre
23677,Feed autodiscovery for custom taxonomy and perhaps date archives,,General,3.5,normal,normal,Awaiting Review,enhancement,new,,2013-03-03T16:53:09Z,2013-03-03T16:53:09Z,"In #21648 we enabled the ""autodiscovery"" of feeds for custom post types. Further review of this solution reveals a few remaining issues:

a) Function `feed_links_extra()` in file `wp-includes/general-template.php` still does not add `<link>` tags for autodiscovery of either custom taxonomy archives or date (year/month/day) archives. You can argue that feeds for date archives might not be particularly useful, but they are generated, so why do we not provide links to them?  A helper function does exist to obtain the link for custom taxonomy archive feeds, but there is no corresponding support for date archives.

b) The helper functions for obtaining feed links in file `link-template.php` are not particularly easy to use, requiring much examination of the queried object.  If a theme or plugin wishes to include explicit hyperlinks to feeds (i.e. `<a>` tags) then it is presently forced to duplicate much of the code from function `feed_links_extra()`. I suggest the bulk of the code from here should be moved into a new function within `link-template.php` where it can be reused to generate either `<link>` or `<a>` tags as needed.

c) We seem to have a helper function for feeds containing search results with comments (`get_search_comments_feed_link()` in `wp-includes/link-template.php`). Whilst this feed is generated, it's not clear why ""search"" is treated specially here and why if this was considered useful there are no corresponding feeds for comments on other archives.",mdgl
21096,Filter on is_front_page return value,,General,,normal,normal,Awaiting Review,enhancement,new,dev-feedback,2012-06-28T10:32:03Z,2012-06-29T13:05:58Z,"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
21641,Filter on pending/draft array in wp_insert_post(),,General,,normal,normal,Awaiting Review,enhancement,new,,2012-08-20T16:53:56Z,2012-08-20T16:53:56Z,"Hi

In wp_insert_post() function, there is no possibility to add a status to the list of status for which postname can be set to empty (no filter). Thus, to have the 'pending' like behaviour for a custom status it seems you have to update the postname to '' and the gmt to 000-00 after the insert, as you have to hack the permalink construction too.

In the same way, it would be nice to add the $post parameter to the filter 'display_post_states' in the '_post_states($post)' function (wp-admin/includes/template.php), in order to add easily a post state according to a custom status of the post (seems better as retrieving the global $post of the admin loop).

Hope these are real issues. Sorry if not.

Regards
",villagora
22612,Filterable default for wp_safe_redirect/wp_validate_redirect,,General,,normal,normal,Awaiting Review,enhancement,new,,2012-11-27T21:00:22Z,2012-11-29T18:06:41Z,"The default/fallback for {{{wp_safe_redirect}}} is {{{admin_url()}}}. It would be nice to have a filter to be able to modify this (e.g. redirect to {{{home_url()}}} instead, which is probably a better default anyway).",batmoo
17482,"Formalize a list of ""Object Types""",,General,,normal,normal,Awaiting Review,enhancement,new,dev-feedback,2011-05-17T23:19:14Z,2011-05-18T00:00:17Z,"I'm finding a need to use a defined list of object types for numerous things including for [http://core.trac.wordpress.org/ticket/14513#comment:77 object relationships], term relationships that relate taxonomy terms to something other than a post, data entry forms, and I am sure there are more than just these requirements ''(An ""object"" is anything in WordPress for which we can identify a name and a unique ID form the database, i.e. `$post->ID`, `$user->ID`, `$term->term_id` and so on.)''

While thinking about it this seems to be something that would be valuable to include core so I am proposing and submitting a patch for their potential inclusion.  If this is ''not'' something that the team would want to include then I'll simply incorporate them into my own code but I wanted to make sure that the team wouldn't want to include them into WordPress core instead.",mikeschinkel
20279,Functions defined in wp-login.php should be moved to a separate file to make them re-usable,,General,,normal,normal,Awaiting Review,enhancement,new,has-patch,2012-03-22T03:26:29Z,2012-10-06T07:35:29Z,"Currently, there are a series of functions defined at the top of wp-login.php:

{{{
login_header()
login_footer()
wp_shake_js()
retrieve_password()
check_password_reset_key()
reset_password()
register_new_user()
}}}

If these functions were moved to a separate file, they would be reusable by folks who are trying to do more advanced things involving the login flow.

As an example, if you want to create a page resembling wp-login right now, there's no easy way to do it without just duplicating everything from this file. Moving these functions means you can use login_header() and login_footer() to recreate the bulk of the page, then handle the ""content block"" yourself. This marginally improves the re-usability of the login system.

Patch attached which does this.",beaulebens
12333,"Get ""message"" and ""error"" params in wp-login.php",westi,General,2.9.2,normal,minor,Future Release,enhancement,new,reporter-feedback,2010-02-22T14:48:41Z,2012-01-11T11:24:26Z,"It might be useful a parameter like ""redirect_to"" to set $message and $error of login_headers() from the url of wp-login.php.",FiloSottile
6492,Guids No Longer Have Permalink Format,,General,2.5,normal,trivial,Awaiting Review,enhancement,reopened,has-patch,2008-03-31T06:03:30Z,2013-05-18T21:41:12Z,"When you create a new post using WordPress 2.5 the GUID is created in the http://siteurl/?p=<PostId> 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
22251,Helper function to simplify checking for constants,,General,,normal,normal,Awaiting Review,enhancement,new,has-patch,2012-10-22T00:32:27Z,2012-10-31T21:33:33Z,"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
24225,Improve regular expressions when matching attributes,,General,trunk,normal,normal,3.6,enhancement,new,has-patch,2013-04-29T15:37:56Z,2013-05-13T17:51:54Z,"When working with HTML attributes in various functions we use something like `[\'""](.+?)[\'""]` to match the attribute value. Although not used much in attribute values, such an approach breaks when a single or double quote is intentionally part of the value:

* `attr=""val'ue""`
* `attr='val""ue'`

Some of these are new 3.6 functions, mostly around media.",kovshenin
18694,Improved date arguments for WP_Query,viper007bond,General,3.3,normal,normal,Awaiting Review,enhancement,new,has-patch,2011-09-17T22:00:00Z,2013-02-28T14:40:09Z,"Currently there is no way to get a set of posts that fall within a date range, are older/newer than a certain date, etc.

A new set of arguments should be created for `WP_Query` that work similarly to the relatively new meta and taxonomy arguments.

Argument structure suggestions welcome.",Viper007Bond
20748,Include CPT Posts in Author Count & Archive Page,,General,,normal,normal,Awaiting Review,enhancement,new,,2012-05-25T17:59:48Z,2012-05-25T18:07:20Z,"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
20439,Introduce __return_one function,,General,,normal,normal,Awaiting Review,enhancement,new,,2012-04-13T19:38:53Z,2012-04-30T18:37:22Z,"Following #20357 and #18845 , I feel it would be useful to have a return function for 1 for use with filters.",bananastalktome
19100,Introduce esc_color(),,General,,normal,normal,Awaiting Review,enhancement,new,dev-feedback,2011-11-01T12:16:14Z,2012-02-28T03:15:42Z,"Currently there is no way to escape a color in hexadecimal notation before printing it to a block of css or saving to the database. Many themes like to introduce functionality, whether it be core-supported or completely custom, to change the color of various parts of the templates. I believe that a function such as `esc_color()` would promote best practices while ensuring that unintended values do not get stored as colors and thus echoed in css blocks potentially breaking display.",mfields
16973,Introduce get_multipage_link(),,General,,normal,normal,Future Release,enhancement,new,has-patch,2011-03-26T16:11:43Z,2012-09-15T14:25:39Z,"There currently is no function for retrieving the URL to a multipage part (a page with {{{<!--nextpage-->}}}).

The code is burried in a private helper function.

Let's bring it to light.",scribu
23169,Introduce register_post_status_for_object_type,,General,,normal,normal,Future Release,enhancement,new,,2013-01-10T08:35:46Z,2013-05-10T12:37:39Z,Similar to what `register_taxonomy_for_object_type` does with taxonomies.,kovshenin
23168,Introduce remove_post_status,,General,,normal,normal,Future Release,enhancement,new,,2013-01-10T08:32:49Z,2013-05-10T12:37:37Z,Plugins and themes should be able to remove the default post statuses defined by core.,kovshenin
19200,Introduce themes_url() and upload_url(),,General,,normal,normal,Future Release,enhancement,new,has-patch,2011-11-07T21:01:46Z,2012-09-22T14:26:12Z,"WordPress has some very usefull '''url tempalate tags''' in the ''wp-includes/link-template.php'' file, functions like:

{{{
home_url()      =>  ../
site_url()      =>  ../
admin_url()     =>  ../wp-admin/
includes_url()  =>  ../wp-includes/
content_url()   =>  ../wp-content/
plugins_url()   =>  ../wp-content/plugins/
}}}

we need 2 more functions:

{{{
themes_url()    =>  ../wp-content/themes/
upload_url()    =>  ../wp-content/upload/
}}}

they will make developers life easier.",ramiy
21282,Introduce wp_header() pluggable function,,General,3.4.1,normal,normal,Awaiting Review,enhancement,new,dev-feedback,2012-07-15T12:47:22Z,2012-09-26T15:46:20Z,"I will be nice to have pluggable function wrapper for PHP `header()` function - this will allow to unit test HTTP headers sent by WordPress. Attached patch adds it, and replaces all existing calls to `header()` with it.

Question: some of exiting calls had errors silenced using `@`, some not. In my code I added `@`. Should I keep it, remove it or maybe add extra param to function to conditionally silence errors?",sirzooro
17301,Keep the connection open when doing upgrades or long-running operations,,General,,normal,normal,Awaiting Review,enhancement,new,,2011-05-02T06:27:39Z,2012-04-28T17:44:21Z,"When we do long-running operations like upgrades-over-FTP, we may go a while without sending any data, which may cause the connection to be closed. We should investigate whether we can send some ""hey, still here"" dummy data down the pipe to keep the connection from being unceremoniously closed on us.

For example, Rackspace Cloud Sites runs behind load balancers that cut the connection after 30 seconds of no data. I was able to defeat it by manually flushing some dummy data like so:

{{{
<?php

for ( $i = 1; $i < 46; $i++ ) {
	echo ""$i...<br />\r\n"";
	flush();
	sleep( 1 );
}
echo ""DONE"";
}}}",markjaquith
19466,Last-Modified HTTP header not just for feeds,sergey.s.betke@…,General,3.3,normal,normal,Awaiting Review,enhancement,new,dev-feedback,2011-12-07T15:44:05Z,2012-12-04T21:36:22Z,"Wordpress write HTTP **Last-Modified**, **ETag** headers just for feeds (**class-wp.php**, **send_headers**). And support **If-Modified** HTTP request header just for feeds. Wordpress 3.3 doesn't support HTTP 1.1 **Cache-Control** header.
The best solution - support HTTP cache-control headers and for html output (full blog). But **If-Modified** HTTP request header (304 responces) for site support optionally (some not-ajaxed widgets and plugins will show wrong information without page reloading).

= WordPress version =
Latest WordPress files - 3.3-RC2-19567 
",sergey.s.betke@…
22283,Load login page over HTTPS if FORCE_SSL_LOGIN is set,,General,,normal,normal,Awaiting Review,enhancement,new,,2012-10-26T03:08:52Z,2012-11-24T15:09:34Z,"Currently, if FORCE_SSL_LOGIN is set, we will make the HTTP POST request containing the username and password over SSL when logging in, but not the GET request for the login page.  Users shouldn't have to examine HTML to figure out if their password is being sent in plain text.  To ensure user confidence that they are logging in via an encrypted connection, we should redirect requests for the login page to https:// if FORCE_SSL_LOGIN, not only if FORCE_SSL_ADMIN is set.  Troy Hunt explains the issue well in his post here - http://www.troyhunt.com/2011/01/ssl-is-not-about-encryption.html

While FORCE_SSL_ADMIN is obviously ""best"" it is not always possible or practical, but this at least makes the login experience consistent.

",barry
19745,Login Form Dropdown,,General,3.3.1,normal,minor,Awaiting Review,enhancement,new,close,2012-01-05T02:35:47Z,2012-01-06T02:38:39Z,It would improve user experience if the login button on the admin bar had a dropdown with a login form. This only applies to websites that show the admin bar to logged out users. ,dancole
21073,Main functions file (/wp-includes/functions.php) could use a coding standards cleanup,,General,,normal,normal,Awaiting Review,enhancement,new,has-patch,2012-06-26T03:04:21Z,2012-06-26T03:04:21Z,"[http://core.trac.wordpress.org/browser/trunk/wp-includes/functions.php?rev=21113 This file] is very inconsistent in its coding standards, and as a result is difficult to read.

I had to find a couple things in here recently; after some frustration in reading the different styles I decided to take a pass at refreshing it.",evansolomon
18680,Make SSL login-only possible (while leaving admin unencrypted),,General,3.2.1,normal,normal,Awaiting Review,enhancement,new,reporter-feedback,2011-09-16T05:54:33Z,2011-09-27T17:19:50Z,"There are two options to be set in wp-config.php to enforce secure connections.

With the following configuration, the login AND the backend will be done via SSL:
{{{
define( 'FORCE_SSL_ADMIN', false ); // or true
define( 'FORCE_SSL_LOGIN', true );  // or false
}}}
As those are 'FORCE' parameters, one might consider it correct that, even though one is set to 'false', both will be via HTTPS.

However, WordPress is currently missing an option to have ONLY the login data sent encrypted and go on to the admin interface via a normal (non-encrypted) connection. That scenario requires additional redirections on the webserver.",multimule
21119,Make WP_User_Query::prepare_query() public,,General,,normal,normal,Awaiting Review,enhancement,new,has-patch,2012-06-30T07:57:47Z,2012-06-30T07:59:30Z,"WP_User_Query tries to follow the pattern from WP_Query, where if you don't pass any args, it won't run the query.

The problem is that you can't do anything with that instance afterwards; both prepare_query() and query() accept no parameters.",scribu
22534,Make bundled JavaScript LibreJS compatible,,General,,normal,normal,Awaiting Review,enhancement,new,,2012-11-22T01:27:21Z,2012-12-16T06:45:43Z,"Many free software advocates don't want to run proprietary JavaScript code in their browsers. The Free Software Foundation has releases a Firefox extension called LibreJS that blocks non-free JavaScript from running: https://www.gnu.org/software/librejs/

WordPress is released under the GPLv2 license, but LibreJS still blocks WordPress JavaScript files because they don't have the appropriate license blocks.

To fix this, we can either add comments to the top of each .js file with the license, or we can use JavaScript web labels to define the license for each js file in HTML.

Here are instructions for marking your JavaScript as free so that LibreJS users will execute it:
https://www.gnu.org/software/librejs/free-your-javascript.html",micahflee
18746,Make is_tag() accept a term name or term id,,General,3.3,normal,normal,Awaiting Review,enhancement,new,has-patch,2011-09-22T13:05:15Z,2011-09-22T13:52:36Z,"The ''is_category()'' function recieves as a parameter Category ID, Category Name or Category Slug.

So is the ''is_tax()'' function, it recieves as a parameter Term ID, Term Name or Term Slug.

But the ''is_tag()'' function can recieve only Tag Slug.",ramiy
11438,Make relative links absolute in feed,,General,2.9,normal,major,Future Release,enhancement,new,close,2009-12-14T23:21:21Z,2011-04-06T04:23:47Z,"Relative links should be made absolute for the feed, because {{{/}}} means nothing in a feed reader.",caesarsgrunt
17340,Mark up script-loader.php versions for programmatic updating,,General,,normal,normal,Awaiting Review,enhancement,new,,2011-05-06T18:51:56Z,2011-05-08T14:51:36Z,"Whenever we update one of our dev CSS or JS files, we have to use YUI to re-minify them, and bump their version number in script-loader.php. The YUI part can be done programmatically, but it's not quite possible to bump the script-loader.php version numbers without manual intervention. If the number strings (yyyymmdd{optional-abcd suffix}) were marked up with PHP comments in a standardized way, we could automate that step as well.

Since any script would have the file name in hand, I propose the following:

{{{/*#wp-admin/css/wp-admin.dev.css#wp-includes/css/fake.dev.css*/'20110203b'}}}

That is, a PHP comment block that immediately starts with a hash (#) and is followed by one or more dev URLs that the version number applies to (multiple ones separated by another hash), and immediately followed by a version string enclosed in single quotes, in the format:

{{{/'([0-9]{4})([0-9]{2})([0-9]{2})([a-z]?)'/}}}",markjaquith
20725,Media library inconsistency,,General,3.3.2,normal,normal,Awaiting Review,enhancement,new,,2012-05-22T10:26:45Z,2012-05-22T10:26:45Z,"I need to put extra filters using restrict_manage_posts to Media library and i have noticed, that my filters did not appear on Media library iframe, opened when adding new media in post. It is handled with wp-admin/includes/media.php via media_upload_library_form function, which seems to be very old comparing to media library in class-wp-media-list-table

e.g. it does not use 	$this->months_dropdown( 'attachment' ); but wrotes 25 rows of code which  do the same.

IMO it could be migrated to the new code

also it misses the 			
do_action( 'restrict_manage_posts' );
line, which is important for my desired functionality (when i hardcode it there, it works)",thomask
12254,Move show_message() into WP_Error class and add support for various WP_Error features that are missing,jeremyclarke,General,,normal,normal,Future Release,enhancement,new,,2010-02-16T19:31:05Z,2010-11-29T17:38:59Z,"Revisiting an old ticket about the mass upgrader (#11232) after working on my ticket for the Settings API (#11474) makes me think both cases are running into a wider problem related to the way WP_Error messages are handled system-wide. There just isn't a way to show them that fits with the detailed system that exists around logging errors with WP_Error. In both cases having a built-in way to display all messages logged in a WP_Error object would simplify their code and make their use of WP_Error much more logical and less haphazard.

== WP_Error is intense ==
WP_Error objects can have an infinite number of messages logged inside them into $code groups which themselves can even have multiple message values/ 

{{{
 WP_Error::add($code, $message, $data = '')
}}}

You can then retrieve error messages for a specific code using WP_Error::get_error_messages()

== show_message() is weak ==
In contrast to this useful maleability is the show_message() function used by various updater scripts to access WP_Error messages:

{{{
/**
 * {@internal Missing Short Description}}
 *
 * @since unknown
 *
 * @param unknown_type $message
 */
function show_message($message) {
	if( is_wp_error($message) ){
		if( $message->get_error_data() )
			$message = $message->get_error_message() . ': ' . $message->get_error_data();
		else
			$message = $message->get_error_message();
	}
	echo ""<p>$message</p>\n"";
}
}}}

Living in misc.php, this is clearly not the most loved function in WordPress, but beyond its lack of documentation and arguments it also actually doesn't make sense when combined with the nature of WP_Error, and I'd argue that it should be a first-class citizen of the WP_Error API. 

=== Deal with the input as WP_Error class by default === 
For one thing its argument is named $message, which is a misnomer since it also supports complex WP_Error objects. I think it should be called $error and it should attempt to handle the error object in as much detail as possible. If this function is given a string instead of an error_object it should just show the text with the default formatting. 

=== Move it into the class defintion ===
The function logic should also be moved to be inside WP_Error as ::show_message() as well as maybe adding a ::show_messages() to differentiate between forcing the first message in the object and showing any relevant messages. The original function can be kept as a shell for the class method. 

=== Support $code and $data better ===
The updated function should allow $code values to be specified to show only messages related to a specific error $code (from WP_Error::add()) as well as some kind of option specifying whether the contents of the $data value for the results should be displayed.

=== Add support for 'types' of errors for display purposes ===
To really have valuable visual cues linked with error display the system needs to be adapted to handle error types like 'error', 'updated' and something green like 'success'. Having this be part of hte API would increase the likelihood of people using the system because it will make it easier to quickly add visual errors to a plugin. IMHO the easiest way to achieve this would be to link 'types' with CSS classes expected to exist in wp-admin. 'updated' and 'error' classes already exist, yellow and red respectively, and can be a starting point. This way marking an error as 'error' or 'updated' automatically controls the color it will be when show_messages() is run. 

This would probably require modifying the WP_Error::wp_error() and WP_Error::add() methods to accept a 4th argument, but would be a great step forward. 

=== Use nice formatting ===
I think the formatting should be the same as the 'settings updated' message from after you save a settings page. It is malleable and stands out in the admin:
{{{
<div class=""updated fade""><p><strong> MESSAGE </strong></p></div>
}}}


== Lets make showing errors easy ==
Even though these functionalities aren't needed for the current uses of show_message() in the upgrader process I think they will inform and improve those systems when the changes are taken into account. WP_Error is fairly powerful but not used enough because it is incomplete and awkward. Improving show_message() to fill this hole will mature the API and hopefully get plugin authors using it in more detail. It would definitely make integrating WP_Error into the Settings API much easier. 

== Thoughts on this before I make a patch? ==

I'll try to work on this soon but am interested in feedback. Anyone had this idea before and ran into a wall? Something else you think should be included?",jeremyclarke
16866,Multisite registration uses extra redirect,spathon,General,3.1,normal,normal,Awaiting Review,enhancement,reviewing,,2011-03-16T15:08:34Z,2011-07-16T22:05:43Z,"When you are on a sub-blogg and choose register you are sent to wp-login.php?action=register and because it is a multisite it redirects to wp-signup.php. wp-signup.php then redirects to wp-signup.php on the main site. 

if
{{{
wp_redirect( apply_filters( 'wp_signup_location', site_url('wp-signup.php') ) ); // row 488 in wp-login.php
}}}
were set to network_home_url instead of site_url there would be one less redirects and risk for plugins to cause problems.


",spathon
22293,New Filter for wp_update_term,,General,,normal,normal,Awaiting Review,enhancement,new,,2012-10-26T22:26:54Z,2012-10-26T22:46:31Z,"I need a filter for $slug in this function. I want to check if there is a page with the same slug, because i don't use the category base.

Thanks very much.",baernty
16908,Normalize remove_accents() data,,General,3.1,normal,normal,Awaiting Review,enhancement,new,has-patch,2011-03-20T22:54:24Z,2011-09-10T22:25:30Z,"The remove_accents() functions contains the translitaration data in diverse formats. To normalize the code, a format of arrays containing key=>value replacements where the string value of key transposes into the string value of value.

That's already common for a large part of the function.",hakre
22845,"On 32-bit systems, with post IDs higher than PHP_INT_MAX (2147483647) wordpress does not run fine",,General,3.4.2,normal,normal,Awaiting Review,enhancement,new,,2012-12-10T09:13:01Z,2012-12-12T17:42:54Z,"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
18003,"On the Credits page, add Male/Female tags for each person, for use in translation",,General,,normal,normal,Future Release,enhancement,new,,2011-07-06T12:20:16Z,2011-07-06T18:16:56Z,"The Credits page mentions contributors along with their role in the project: ""Lead Developer"", ""Guest Committer"", etc.

When translating to certain languages (for e.g., Hebrew), these roles are translated differently when the person is male or female. For example, in Hebrew there would be a different translation for male lead developers (מפתח ראשי) and female lead developers (מפתחת ראשית).

This doesn't cause an issue with translation at the moment, since the only woman on the credits page that has her role mentioned in Jane, and she's the only ""User Experience Lead"". So in translation, we can translate everything else as male and only translate that string as female.

In the interest of future proofing the credits page, I suggest we add two different strings for each role - male and female. In English and other languages will use both the same way, but languages that are not gender-neutral will be able to translate them correctly. This would obviously require that we know the gender of all the people mentioned.

I tried very hard to ignore all the political aspects of this issue - I hope we can get through this without having to discuss them :)",RanYanivHartstein
14946,Only enforce OEmbed whitelisting for dangerous types,,General,3.0.1,normal,normal,Future Release,enhancement,new,dev-feedback,2010-09-23T08:23:48Z,2010-11-23T21:14:44Z,"Of the four OEmbed response types, only two (video and rich) are potentially dangerous. We should be able to allow all photo and link responses, without a whitelist.",markjaquith
22330,Optimize regexes to remove protocol from URL,,General,3.4.2,normal,minor,Awaiting Review,enhancement,new,has-patch,2012-10-31T09:30:48Z,2012-10-31T09:30:48Z,"Regexes used to chop off the protocol of a URL should be anchored to the start of the string.

1. The regex fails faster and thus avoid useless work. No need to look further down the URL for strings like `""http://""`.
2. The regex should not alter any URLs that might be contained in the query string.",GeertDD
16903,PHP5-Port - Superfluous code in _deep_replace(),,General,,normal,normal,Awaiting Review,enhancement,new,has-patch,2011-03-20T16:44:21Z,2011-03-20T21:47:44Z,"Since PHP 5.0.0 the count parameter was added, see [http://www.php.net/manual/en/function.str-replace.php str_replace].

(in earlier PHP 4.x versions, arrays were already supported)",hakre
16782,PHP5-Port - WP_Error Class,,General,3.1,normal,normal,Awaiting Review,enhancement,new,dev-feedback,2011-03-07T00:45:15Z,2011-03-08T21:46:09Z,"A port of the class to PHP5.

Related: #16781, #6768, #16769
",hakre
16756,PHP5-port - Access Violations on wpdb::$prefix,,General,3.1,normal,normal,Awaiting Review,enhancement,reviewing,has-patch,2011-03-05T12:01:09Z,2011-03-08T21:46:30Z,"The to be accessed privately member {{{wpdb::$prefix}}} is accessed publicly in multiple places.

This ''would'' do fatal errors ''if'' the property would be ported to PHP 5 ''with the documented behavior''.

The errorneous usage in the places in question ''might'' reveal that implementation details were missed because the prefix can differ on multi-site setups which is not technically guaranteed when accessing the private member.

The private member was only used ""read-only"" inside the class. Probably this is a documentation issue. It's set {{{set_prefix()}}} and {{{set_blog_id()}}} functions (only) and always to the result of {{{wpdb::get_blog_prefix()}}}.",hakre
16753,PHP5-port - microtime() use,,General,3.1,normal,normal,Awaiting Review,enhancement,new,has-patch,2011-03-05T10:27:41Z,2011-03-08T21:31:20Z,"See [http://www.php.net/manual/en/function.microtime.php microtime()] for details.

In microtime() related code [http://www.php.net/manual/en/function.uniqid.php uniqid()] with more entropy does not need a prefix. And there is no need to seed the random number generator. See [http://www.php.net/manual/en/function.srand.php srand()] for details.",hakre
16758,PHP5-port - move of wpdb::check_database_version(),,General,3.1,normal,normal,Awaiting Review,enhancement,new,has-patch,2011-03-05T14:04:56Z,2011-03-05T14:04:56Z,"The function {{{wpdb::check_database_version()}}} is doing a check of the database version against a needed database version. The database server version is returned from $this->db_version(), the required database version is in a global variable called `$required_mysql_version`.

This keeps the database code coupled to the global variable while the class is made to be replaced, e.g. for other database abstractions (compare #14508 which is made for ''extends wpdb''). Normally the database class is a singleton in a global variable already.

Therefore this mixes global with local space twice. I suggest to de-couple wpdb a bit from that hardencoded global variable name and move the code out of the wpdb class into that alread existing global function called wp_check_mysql_version().

This should make the database interface a bit more lightweight which could be a benefit when porting to PHP5.

",hakre
16754,PHP5-port - srand(),,General,3.1,normal,normal,Awaiting Review,enhancement,new,has-patch,2011-03-05T10:42:18Z,2011-10-19T01:16:20Z,"No need to seed the random number generator.

See [http://www.php.net/manual/en/function.srand.php srand()] for details.

Related: #16753",hakre
16755,PHP5-port - uniqid(),,General,3.1,normal,normal,Awaiting Review,enhancement,new,,2011-03-05T11:15:01Z,2011-03-05T11:15:01Z,"[http://www.php.net/manual/en/function.uniqid.php uniqid()] does not need a prefix (any longer).

Places in use can be checked if they need to have it passed or not.

Related: #16753",hakre
13412,Parent parameter returns no results in get_pages(),,General,,normal,normal,Future Release,enhancement,new,,2010-05-16T16:53:40Z,2010-05-16T17:03:13Z,"The get_pages() function in post.php returns no results when parent != 0, rather than returning the pages that are children of the immediate page. 

Given page ID 30, which has 3 child pages, calling get_pages('parent=30') will return nothing.

The problem is in the following lines (line ~2600 at the time of writing):
if ( $child_of || $hierarchical )
	$pages = & get_page_children($child_of, $pages);

Hierarchical, by default, is set to true, this this conditional will typically be true. When it does so, it filters out all of the pages retrieved up to this point and, by the time it returns, there are no pages left.

The quick work-around I'm currently using is to call the following instead:
get_pages('parent=0&hierarchical=0'), overriding the default value so that conditional doesn't execute.

The one exception to this is that calling get_pages('parent=0') should function even with this bug.",jda10487
18823,Pass $post_id  as second argument to delete_postmeta action,,General,3.2,normal,minor,Awaiting Review,enhancement,new,,2011-09-30T12:29:51Z,2011-09-30T14:38:00Z,"in every case (in WP 3.2) where a postmeta is deleted, the context is aware of the post_id or post_ids affected.  The do_action calls for added_postmeta, update_postmeta, and updated_postmeta all pass the post_id as the second argument.  For parallelism, and because it is useful, please pass it for delete_postmeta (and deleted_postmeta). 


",Vynce
13937,Pass named arguments to add_meta_box(),,General,,normal,minor,Future Release,enhancement,new,has-patch,2010-06-17T06:18:33Z,2012-10-04T16:04:18Z,"add_meta_box() currently takes 7 arguments!

It should accept an associative array of arguments instead. Advantages:

 * more readable code
 * easier to deprecate arguments in the future",scribu
21364,Pass post type to count_user_posts(),,General,3.0,normal,normal,Awaiting Review,enhancement,new,has-patch,2012-07-24T08:22:14Z,2012-07-25T12:26:04Z,"Add $post_type argument to count_user_posts(). Defaults to 'post', as it is hard-coded now.",Caspie
9763,Please include IdeaWebServer in $is_apache (in wp-includes/vars.php),,General,2.7.1,low,normal,Future Release,enhancement,new,,2009-05-08T22:22:45Z,2013-01-06T09:04:39Z,"IdeaWebServer is a web server software developed an used in largest polish ISP server farm. This software handles over 205972 domains (according to http://top100.pl/). I hope its worth including support for IdeaWebServer in Wordpress.

Installing Wordpress on IdeaWebServer is easy (as it is mostly apache compatible), but two tweaks need to be done.

Tweak 1st: include IdeaWebServer in $is_apache

Tweak 2nd: use only ""http://host/redirect"" redirections (no ""Location: /somewere"", only ""Location: http://host/somewere"")

Here comes the patch (against r11244):
{{{
Index: wp-includes/vars.php
===================================================================
--- wp-includes/vars.php	(wersja 11244)
+++ wp-includes/vars.php	(kopia robocza)
@@ -65,7 +65,9 @@
  * Whether the server software is Apache or something else
  * @global bool $is_apache
  */
-$is_apache = ((strpos($_SERVER['SERVER_SOFTWARE'], 'Apache') !== false) || (strpos($_SERVER['SERVER_SOFTWARE'], 'LiteSpeed') !== false)) ? true : false;
+$is_apache = ((strpos($_SERVER['SERVER_SOFTWARE'], 'Apache') !== false) ||
+(strpos($_SERVER['SERVER_SOFTWARE'], 'LiteSpeed') !== false) ||
+(strpos($_SERVER['SERVER_SOFTWARE'], 'IdeaWebServer') !== false)) ? true : false;
 
 /**
  * Whether the server software is IIS or something else
Index: wp-includes/pluggable.php
===================================================================
--- wp-includes/pluggable.php	(wersja 11244)
+++ wp-includes/pluggable.php	(kopia robocza)
@@ -857,6 +857,9 @@
 
 	$location = wp_sanitize_redirect($location);
 
+	if ($location[0] == '/')
+		$location = get_bloginfo('url') . $location;
+
 	if ( $is_IIS ) {
 		header(""Refresh: 0;url=$location"");
 	} else {
}}}

[http://www.burghardt.pl/2008/03/wordpress-na-serwerze-ideawebserver-w-homepl/ More about this issues (in Polish).]",burghardt
22303,"Please parse a ""vendor"" file",,General,,normal,normal,Awaiting Review,enhancement,new,close,2012-10-29T15:31:54Z,2012-10-30T10:06:14Z,"Hi,

I'm working on improving Wordpress packaging in fedora.

One of our need is to allow the use of system libraries instead of bundled copy (forbidden by Guidelines).

I would like to propose, as various projects already, to include a ""vendor"" file.

Goals:
- without this file: no change
- with this file: use constant from it
- allow to define patch for each library (rather than a global WPINC)

Note: this is not the same as wp-settings, which are user configurable settings, while ""vendor"" are system configuration (not to be altered by users)

Work proposal.

(probably) in default-constants.php

if (file_exists('vendor.php')) include_once('vendor.php');

For PHPMailer (for exemple)

if (!defined('WP_PHPMAILER_INC')) define('WP_PHPMAILER_INC',  ABSPATH . WPINC);

And of course, 
require_once WP_PHPMAILER_INC . '/class-smtp.php';

Using this, we could package wordpress in a simpler way, without altering provided sources, just adding this vendor file.

For example, see what have be done in GLPI
https://forge.indepnet.net/projects/glpi/wiki/GlpiPackaging

If you accept this feature, I will work on it and submit the patches (probably various, one per library, as I will progress on this work).
",remicollet
16462,Plugin Editor does not work for Must-Use Plugins,,General,3.1,normal,normal,Awaiting Review,enhancement,new,,2011-02-05T12:11:50Z,2011-02-05T12:11:50Z,"Since [10737] (WP 2.8), WordPress has support for so called [http://hakre.wordpress.com/2010/05/01/must-use-and-drop-ins-plugins/ Must-Use Plugins]. Since [13233] (WP 3.0) those are listed in the admin panel.

By default, Plugins can be edited on the ''Edit Plugins'' page ({{{/wp-admin/plugin-editor.php}}}).

On WordPress 3.0.4 it's not possible to edit Must-Use plugins.

User who can edit plugins should be enabled to edit the ''must-use''-variant of plugins as well.

Related: #11861
",hakre
18362,Post timestamp creation should use whitelisted post statuses instead of blacklisted,danielbachhuber,General,3.0,normal,normal,Awaiting Review,enhancement,assigned,has-patch,2011-08-09T16:51:55Z,2013-01-18T23:58:43Z,"post_date and post_date_gmt timestamps are created when a post is published. The method should create timestamps based on whitelisted post statuses, instead of ""not in a blacklist"" as it exists currently.

Backstory: We have a plugin that allows users to create custom statuses. It uses the partially completed custom status API and additional code we've written. In the WordPress.org forum, a  [http://wordpress.org/support/topic/plugin-edit-flow-custom-statuses-create-timestamp-problem bug was reported] where if they use a custom status with a post, the post time is set. Currently, they have to manually edit the timestamp of the post before publishing in order for it to be set to the proper publication date (instead of 5 days ago when they originally created it).

The origin of the problem is [http://core.trac.wordpress.org/browser/tags/3.2.1/wp-includes/post.php#L2506 line #2506 in wp-includes/post.php]. The post statuses to receive timestamps should be whitelisted instead of blacklisted. Because the custom statuses aren't a part of the blacklist, they receive a GMT timesteamp.",danielbachhuber
20148,Preview post in Webkit browser doesn't render Flash objects,,General,3.3.1,normal,normal,Awaiting Review,enhancement,new,,2012-03-01T10:14:49Z,2013-02-10T21:49:21Z,"When inserting a Flash <object> via HTML and use Preview function in Chrome it doesn't show.

- Tested on a clean WordPress 3.3.1 install, no plugins activated, theme: twentyeleven.
- The <object> code is available in the sourcecode. It just doesn't render... When you hit refresh it shows.
- Tried this on multiple work stations (Windows and Mac os). All versions of Chrome.
- Only in Chrome. Firefox has no issues with this function.
- There is no difference between Multisite or Single site installations.
- I'm Administrator (or Network administrator) in all cases.

Issue is also on WordPress support forums: http://wordpress.org/support/topic/preview-post-in-chrome-mac-os-doesnt-generate-flash-objects
",thomasvanderbeek
21113,Previous/Next page links maintain all GET variables,,General,3.4,normal,normal,Awaiting Review,enhancement,new,close,2012-06-29T14:57:00Z,2013-04-05T12:49:45Z,"The newer/older entries pagination system takes any query string in a inbound request, and includes it in the links generated for the newer/older entries. 

This causes problems when you put wordpress behind a cache, because all it takes is some bot trying a joomla hack to mean all visitors suddenly have a version of that page, including the bad query string, very visible.

For example:
http://kirrus.co.uk/page/6/?test=true

Note, in the 'Newer/Older' links at the bottom of the page, that ""test=true"" will be retained.

These should only really keep query-strings that wordpress knows it'll need, if you're including them? Else, you can basically poison someone's cache with this.

An example of the really bad query string poisoning a cache:
/page/2/?option=com_gk3_tabs_manager&controller=..%2F..%2F..%2F..%2F..%2F..%2F..%2F..%2F..%2F..%2F..%2F..%2F..%2F..%2F..%2F..%2F..%2F..%2F..%2F..%2F..%2F..%2F..%2F..%2Fproc%2Fself%2Fenviron%0000",kirrus
7745,Private posts cannot have unpublished or pending review status,,General,2.6.1,low,minor,Future Release,enhancement,new,,2008-09-15T16:32:19Z,2013-01-22T16:46:33Z,"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
22049,"Reading settings let users choose between ""Full text"" or ""Summary"" for the feeds but not for the blog page",,General,1.2,normal,normal,Awaiting Review,enhancement,new,,2012-09-30T00:35:38Z,2012-10-01T11:20:57Z,"Please make the life of new Wordpress users easier.

Why not let users chose with a simple option if they want Wordpress to show the ""Full text"" or a ""Summary"" of the posts on the blog page?

== Scenario ==

'''> OPTION 1:'''

If user checks option 1 (""Full text"") the blog page would ''always'' (!) show Full text.

'''> OPTION 2:'''

If user checks option 2 (""Summary"") the blog page would show summaries based on the following priority order:

'''1)''' Teaser (generated with the ""more"" tag"")

'''2)''' Manual excerpt (if there is no ""more"" tag in the post)

'''3)''' Automatic excerpt (if there is no manual excerpt and no ""more"" tag in the post)

The way it is working now seems very confusing to me. Relation between ''manual excerpts'', ''automatic excerpts'' and ''teasers'' is everything but simple to understand for a beginner. Moreover some themes use the ""''the_content()''"" tag in their post template while others use the ""''the_excerpt()''"" tag. This makes the whole thing even more difficult to understand when switching from a theme to another.

Such a '''basic''' option is available for the feeds. It should also be available for the pages, shouldn't it?

'''Please check the attached image as my English is not perfect.
'''

Thanks

P.S. The ""[http://wordpress.org/extend/plugins/post-teaser/ Post teaser]"" plugin might be a good starting point.",Lorangeo
20513,Refactor $wp_scripts init checking code,,General,3.4,normal,normal,Awaiting Review,enhancement,new,has-patch,2012-04-22T15:15:36Z,2012-04-24T09:56:05Z,"The functions in [http://core.trac.wordpress.org/browser/trunk/wp-includes/functions.wp-scripts.php functions.wp-scripts.php] seem to contain a lot of duplicate code in terms of checking and initializing the global `$wp_scripts` in each function.

Attached is rough first pass at creating a function to do this. I expect aspects of it could be done better.

I've included the first argument, to avoid relying on a global so that the function might be unit tested (pass something in, see what gets returned).",GaryJ
22400,"Remove all, or at least most, uses of extract() within WordPress",,General,3.4.2,normal,normal,Future Release,enhancement,new,early,2012-11-09T22:47:37Z,2013-03-13T15:19:56Z,"`extract()` is a terrible function that makes code harder to debug and harder to understand. We should discourage it's use and remove all of our uses of it.

Joseph Scott has [http://josephscott.org/archives/2009/02/i-dont-like-phps-extract-function/ a good write-up of why it's bad].",Viper007Bond
21941,Remove get_post_format_slugs(),,General,,normal,minor,Awaiting Review,enhancement,new,dev-feedback,2012-09-20T14:40:52Z,2012-09-20T14:41:03Z,"I just encountered the `get_post_format_slugs()` function, which is basically just wrapping `get_post_format_strings()` and setting the strings as keys too. So its output is an assoc array where the keys equal the values.

The three times core calls it, it does it the following:


{{{
// ~/wp-includes/posts.php -> set_post_format()
if ( 'standard' == $format || !in_array( $format, array_keys( get_post_format_slugs() ) ) )

// ~/wp-includes/posts.php -> _post_format_request()
$slugs = get_post_format_slugs();
if ( isset( $slugs[ $qvs['post_format'] ] ) )
	$qvs['post_format'] = 'post-format-' . $slugs[ $qvs['post_format'] ];

// ~/wp-includes/theme.php -> add_theme_support()
switch ( $feature ) {
	case 'post-formats' :
		if ( is_array( $args[0] ) )
			$args[0] = array_intersect( $args[0], array_keys( get_post_format_slugs() ) );
		break;
}}}


So in every case it would've been enough to simply call `get_post_format_strings()`.

Do we really need this function?",F J Kaiser
23367,Remove message parameters fron admin URl's in the browser address bar,,General,,normal,minor,Awaiting Review,enhancement,new,,2013-02-02T07:31:20Z,2013-02-02T07:31:20Z,"Scenario: When a post is being published successfully ""message=6"" is appended to the URL. If I refresh the page while in that state I will get the ""post published"" message again, although nothing was done.

There is probably nothing functionally wrong with the way things work now but it can be esthetically more pleasant if that parameter was removed which in turn will eliminate the message problem.

This can be done on browsers that support the history API of HTML5. The following piece of code can be used after displaying the message or maybe it can be generalized to work in the admin footer.

{{{
<script type=""text/javascript"" charset=""utf-8"">
  url = the canonical URL for the address
  if (typeof history.replaceState === 'function') { // check html5 functionality support
    data = {dummy:true};
    history.replaceState(data,'',url);
  }
</script>
}}}
",mark-k
20130,Remove redundant link_updated code related to bookmarks,,General,3.3.1,normal,minor,Awaiting Review,enhancement,new,dev-feedback,2012-02-28T04:45:46Z,2012-02-28T09:32:54Z,"The links table has a column called `link_updated` which used to be used to store the date the link last changed (using pingomatic to check for this).

The link update checking was removed from core some time ago, see #12437, [13744] (also #4230, #4231). However there's still some code in `wp-admin/bookmark.php` and `wp-admin/bookmark-template.php` which uses `link_updated` as well as the `links_recently_updated_time` option. I guess the column in the database can't just be dropped because of back compat. But the code that uses it in core looks like it can.",solarissmoke
20421,Remove support for Netscape 4 from kses.php (because it's 2012),,General,,normal,normal,Awaiting Review,enhancement,new,dev-feedback,2012-04-12T00:54:32Z,2012-04-12T01:45:52Z,"Futzing around, I ran into this in kses.php

http://core.trac.wordpress.org/browser/tags/3.3.1/wp-includes/kses.php#L995

> Removes the HTML JavaScript entities found in early versions of Netscape 4.

Reading it, if that's really true and the only reason it's needed, I think we're pretty safe in removing it now. 

Patch added.",Ipstenu
19367,Remove unused _relocate_children(),,General,,normal,minor,Awaiting Review,enhancement,new,has-patch,2011-11-26T23:23:51Z,2012-03-24T14:30:12Z,It's from the days of negative post ids. Some history: #9471,scribu
23084,Replace the use of the $more global with a filter,,General,3.5,normal,normal,Awaiting Review,enhancement,new,,2012-12-30T09:35:31Z,2012-12-30T09:35:31Z,"Globals are evil is a good enough reason, but this global is also very poorly documented http://codex.wordpress.org/Customizing_the_Read_More#How_to_use_Read_More_in_Pages claims that it can have negative value while it is being used as boolean in the code.",mark-k
14657,Resync Boolean Type Case,,General,,normal,trivial,Future Release,enhancement,assigned,has-patch,2010-08-20T15:09:54Z,2012-06-28T13:44:30Z,"TRUE to true and FALSE to false.

It seems patches weren't inline with the lowercase usage of the boolean type. Depends on programmer preference.",jacobsantos
22329,Retina Gravatars,,General,,normal,normal,Awaiting Review,enhancement,new,dev-feedback,2012-10-31T05:18:14Z,2013-02-12T23:54:12Z,"Mentioned by Matt in #21019 

Should be a simple matter of changing get_avatar() in pluggable.php so that the requested size is twice the display size.",miqrogroove
11113,Return 410 Gone HTTP response for deleted posts/pages,,General,2.9,normal,normal,Future Release,enhancement,new,,2009-11-10T03:46:06Z,2011-01-20T06:24:15Z,"Deleted content should be treated differently from content that never existed. WordPress could be enhanced by returning a 410 Gone response to requests for posts or pages that have been deleted.

As I currently envision the solution, bits of old content (like a slug) would have to remain in the database after deletion.

Using WordPress 2.8.5; could not find any references to this in pre-existing Trac tickets in Core.",voyagerfan5761
13169,Return Dynamic Sidebars with get_dynamic_sidebar,,General,,normal,normal,Future Release,enhancement,new,,2010-04-28T18:07:28Z,2010-04-28T18:15:02Z,"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
20066,SImplify the functionality of script_concat_settings() and remove the globals,,General,,normal,normal,Future Release,enhancement,new,,2012-02-18T06:53:01Z,2012-04-18T20:47:02Z,"As discussed in the comments on #20055, script_concat_settings() should be split into couple of simple functions that only check the constants and the 'can_compress_scripts' server option.",azaozz
9785,Search Enhancements -- consolidated ticket,,General,2.8,normal,normal,Future Release,enhancement,new,,2009-05-10T23:54:34Z,2012-06-25T01:47:24Z,"Closing the following as dups, pending ""the big search overhaul"" that may never come:

 - #5149 -- search everywhere (with committed patch)
 - #9230 -- search in post and pages and both
 - #5525 -- also search for posts with search query as terms (tags, cats, ...)
 - #5054 -- allow to negate keyword on search
 - #7394 -- assign greater weight to posts with search query in title
 - #7647 -- search in attachment descriptions",Denis-de-Bernardy
7394,Search: order results by relevance,,General,2.6,normal,normal,Future Release,enhancement,assigned,has-patch,2008-07-24T02:54:18Z,2013-05-14T12:42:59Z,"I have 35 pages in my WordPress install.  My ""About"" page is on '''the second page of results''' when I search for ""about""

We should put hits on the title first in the results list.

I'm open to suggestions for possible technical implementations.",markjaquith
15811,Self-referrent links should be made avoidable in wp_list_pages / wp_page_menu,,General,,normal,normal,Future Release,enhancement,new,has-patch,2010-12-14T14:43:43Z,2011-01-15T04:55:31Z,"Having a page that links to itself is a well-recognized usability and accessibility problem.

Currently, wp_list_pages and wp_page_menu don't offer an option to avoid self-referrent links.

The patch attached to this report adds a ""self_link"" parameter to these two functions (defaulting to the current behaviour); when that parameter is set to false, the markup produced by these functions don't include a link to the current page.

Someone proposed a plugin to that effect:
http://clockinfo.com/posts/168
but it sounds like something that the core Wordpress should support.",lewebmobile
23183,Single Page Application/OData API,,General,,normal,normal,Awaiting Review,enhancement,new,,2013-01-11T18:15:34Z,2013-01-11T22:45:13Z,I am interested in helping out. Are there any plans to move to a Single Page Application model. I know this would take a lot of work as we would have to code a secure Web API into the core (I would go with standard OData service API) but as mobile devices become more critical to web success WordPress needs to find a way to minimize requests and allow for occasionally connected solutions. I know this would be for major release 4 or possibly even 5 depending on the impact to plugin developers but it make a noticeable difference on the scalability of wordpress.,cportwood
17619,Soft 404 at /wp-content/plugins/,,General,,normal,minor,Awaiting Review,enhancement,new,has-patch,2011-05-30T16:31:30Z,2011-08-17T00:51:19Z,"/wp-content/plugins/index.php would be better written with a proper 404.

{{{
<?php
header('HTTP/1.0 404 Not Found'); // Silence is golden.
?>
}}}",miqrogroove
23505,Some files still have closing PHP tags,,General,3.4,lowest,trivial,Awaiting Review,enhancement,new,has-patch,2013-02-18T23:33:19Z,2013-05-14T15:36:25Z,"[19712] removed EOF `?>` from nearly all the files, including `wp-content/index.php`: [[BR]]
http://core.trac.wordpress.org/browser/tags/3.5.1/wp-content/index.php

In a couple of files, however, it's still there, which doesn't seem intentional: [[BR]]
http://core.trac.wordpress.org/browser/tags/3.5.1/wp-content/plugins/index.php [[BR]]
http://core.trac.wordpress.org/browser/tags/3.5.1/wp-content/themes/index.php

We should probably make the same change there for consistency.",SergeyBiryukov
14366,"Standardize e-mail, email text",,General,3.0,normal,minor,Future Release,enhancement,new,needs-refresh,2010-07-20T19:19:02Z,2012-12-15T12:53:35Z,"!WordPress uses ""e-mail"" and ""email"" pretty interchangeably for site text, comments, and mail messages. In some cases both forms of the electronic-mail term are used on the same error message!

This patch replaces all instances of ""email"" in !WordPress text with ""e-mail"" instead. The electronic-mail abbreviation of ""e-mail"" is the current [http://www.apstylebook.com/ AP Stylebook] recommendation. Electronic-mail translates well.",niallkennedy
18321,Stop minimizing CSS files and add a simple regexp in load-scripts.php to remove comments when concatenating,,General,,normal,normal,Future Release,enhancement,new,,2011-08-03T17:31:18Z,2011-08-08T09:01:05Z,"As the title, differences in gzipped .dev.css and .css files are minimal. If we remove comments on the fly in load-scripts.php (has to be very fast regexp) we wouldn't need to pre-minimize css files.",azaozz
16471,Support default values for non-existant query vars in get_query_var() et al,,General,3.0,normal,normal,Awaiting Review,enhancement,new,has-patch,2011-02-06T15:48:58Z,2011-03-07T02:43:46Z,"When using {{{get_query_var($var)}}} or {{{$GLOBALS['wp']->get($var)}}} and {{{$var}}} is the name of an unexistant query variable, those functions will return an empty string.

Next to that there is no function that provides information about whether or not a specific query variable has been set.

I therefore suggest to make both functions able to optionally return a chooseable default fallback value then the empty string we have.",hakre
16118,Support for wp_enqueue_style with negative conditional comments,,General,3.0.4,normal,normal,Future Release,enhancement,new,dev-feedback,2011-01-06T06:18:40Z,2012-12-13T21:38:49Z,"Please refer to #10891. It refers to the support for conditional comments using the global variable, wp_styles.

I have noticed that if you pass a negative conditional comment, however, this breaks. E.g. Let's say you have a lot of CSS3 rules, which don't apply to IE. You would not include that CSS:

{{{
<!--[if !IE]>-->
<link rel=""stylesheet"" id=""my-handle-css"" href=""http://my.url.com/css3.css"" type=""text/css"" media=""all""/>
<!--<![endif]-->
}}}

I know that IE9 supports CSS3, but I am using the above for illustrative purposes. One would expect that to include the conditional comment above you would do this between the register and the enqueue commands:

{{{
$GLOBALS['wp_styles']->add_data('my-handle', 'conditional', '!IE');
}}}

If you add a conditional tag to wp_styles, however, the generated markup is incorrect:

{{{
<!--[if !IE]>
<link rel='stylesheet' id='my-handle-css'  href='http://my.url.com/css3.css' type='text/css' media='all' />
<![endif]-->
}}}

Note the missing --> after [if !IE]>, and <!-- before <![endif]. This has the effect of hiding the CSS from all browsers, which wasn't the original intention. So probably a separate handling approach is required for ""show"" type of conditional comments than for ""hide"".",sayontan
5031,Tag Cloud styles are hardcoded,,General,2.3,normal,normal,Future Release,enhancement,reopened,dev-feedback,2007-09-21T14:41:04Z,2011-04-30T08:47:36Z,"We should provide a way for tag cloud styles to be set somewhere other than in the core code. Really should be the job of a theme, not the core. Yet, we are setting font-size manually. Why?

This has already come up as a problem prior to the 2.3 release. Suggest we at minimum make the styling hookable, and at most, give a css class that has relative meaning for the tag cloud.

Specifically, this would enable folks to have colored tag clouding as opposed to just font size.",technosailor
11727,Tag cloud widget - font size,nacin,General,2.9.1,normal,normal,Future Release,enhancement,reviewing,,2010-01-05T15:49:14Z,2010-08-11T17:23:12Z,"Hi

Not really a bug - but more a question.

The tag cloud widget displays the tags with different font sizes - this works correctly on my blog.

But I don't understand and I think it doesn't make sense to set the font-size with a decimal number:

eg. of HTML code


{{{
style='font-size: 9.3582089552239pt;'
}}}

An integer value of 8 to 22 should be correct in my opinion.

",tin68
16578,TinyMCE plugins are not loaded as .dev.js when SCRIPT_DEBUG is enabled,,General,3.1,normal,minor,Awaiting Review,enhancement,new,,2011-02-17T06:58:15Z,2011-02-17T13:31:40Z,"In trunk, when SCRIPT_DEBUG is enabled, TinyMCE does not load plugins using  `.dev.js` scripts. It would be nice if it did.",solarissmoke
20203,To return 404 page when user request not existing category and existing at once (in URL),,General,3.3.1,normal,normal,Awaiting Review,enhancement,new,,2012-03-08T14:45:04Z,2012-06-13T10:45:59Z,"I have category 'category1' with posts in it. I want to get posts from 'caegory1' and not existing category 'not_existing'.
if I use URL like 'http://mysite.com/category/category1+notexisting' I get normal archive page but this is a page without post because there are no posts in 'category1' and 'not_exists' at once.
But maybe it is better to return 404 page? Because it produces additional duplicate pages for search engines like google.",egorpromo
20153,Track Plugin actions/history,,General,,normal,minor,Awaiting Review,enhancement,new,,2012-03-02T14:58:50Z,2012-03-02T14:58:50Z,"It would be great if WP could track any activity around plugins, eg. install, activate, disable, update, delete.

Seeing as plugins are most often the causes of problems with WP, it would be good to know which was the last plugin activated, or updated, particularly on sites with many plugins.

For example, I'm currently troubleshooting a problem which may be due to a plugin I recently updated, however I have no idea which one it could be, and disabling/re-enabling all plugins is not really the best solution.

A fairly simple nice-to-have that would greatly aid troubleshooting.",SecGen
19347,"Ugly alert: false !== strpos( $which_one_was_needle, $this_one )",westi,General,,normal,normal,Future Release,enhancement,reviewing,has-patch,2011-11-23T22:08:02Z,2012-06-28T16:29:40Z,"In WordPress {{{strpos()}}} is used hundreds of times. Very large percentage of those calls are trying to accomplish one of these 3 goals:

 * Check if a string starts with another string
 * Check if a string contains another string
 * Check if a string ends with another string

The code for doing these 3 things is not very readable, ugly, and error-prone:

{{{
0 === strpos( $one_string, $other_string )
false !== strpos( $one_string, $other_string )
strpos( $one_string, $other_string ) == ( strlen( $one_string ) - strlen( $other_string )
}}}

I propose we introduce functions to hide the ugliness and the complexity behind these three common operations:

 * {{{wp_startswith( $haystack, $needle )}}}
 * {{{wp_in( $needle, $haystack )}}}
 * {{{wp_endswith( $haystack, $needle )}}}

The logic of the arguments order is consistent and easy to remember:

''first argument'' '''verb''' ''second argument''.

 * everything starts with a beginning translates to {{{wp_startswith( ""everything"", ""a beginning"" )}}}
 * goat is in  distress translates to {{{wp_in( ""goat"", ""distress"" )}}}
 * movie ends with happy end translates to {{{wp_endswith( ""movie"", ""happy end"" )}}}

These three functions are happily used in GlotPress and WordPress.com.

The implementations are attached.",nbachiyski
14108,Unify registration between single site and network configurations,,General,3.0,normal,normal,Future Release,enhancement,new,,2010-06-26T22:14:40Z,2010-10-28T05:32:20Z,"The registration processes in 3.0 differ between single site registration and network signup. We should look at unifying the registration process. One way we could do this is

- keep the existing registration process for single sites
- in a network, users register first using the same process as single sites
- in a network, once registration is complete, direct the new user to the site creation page (which could be somewhere in the dashboard) where they could create their site

There are also several open tickets related to issues with the network signup process:

#13827
#12022
#12030
#12032

(There may be more.) We could clean up/eliminate these in process. I'd like to see this included in the discussions once we get closer to the 3.1 dev cycle.

",wpmuguru
18893,Update and enhance the basic browser detection to include smart phones and tablets/pads,,General,,normal,normal,Future Release,enhancement,new,,2011-10-09T19:26:19Z,2011-10-10T17:00:05Z,"As the title. We need to keep the basic $is_this, $is_that globals for back-compat but can introduce another global that would hold all needed info about the current web browser, device, versions, etc.",azaozz
16914,Updated List of HTTP status codes for wp_header_to_desc (2),,General,3.1,normal,normal,Awaiting Review,enhancement,new,has-patch,2011-03-21T12:54:46Z,2011-12-18T20:03:45Z,"http://www.iana.org/assignments/http-status-codes

Hypertext Transfer Protocol (HTTP) Status Code Registry 

(last updated 2010-11-05)

Related: #9297",hakre
12267,Upgrade loop objects to provide identical presentational interfaces,,General,,normal,normal,Future Release,enhancement,new,,2010-02-18T00:19:24Z,2012-07-19T08:47:14Z,"Usually wpdb returns rows as stdClass objects. We are used to getting properties from these objects, e.g. $post->ID or $comment->comment_ID, but this class has no methods. As used, the stdClass object is only a syntactic alternative to the array.

As long as we're already using objects, let's have some more useful classes. I propose post and comment classes that implement common interfaces, and classes that extend these for special post_types and comment_types, and filters to allow plugins to use their own classes at instantiation time.

Without actually using PHP5 interface syntax, the idea is to have identical methods to get things from objects in the loop. For example, one common method would be ```url()```. The same method would work on every kind of compatible object, be it a post, page, attachment, comment, trackback, or pingback, although the underlying logic for getting the URL may differ for each.

```<a href=""<?php print esc_attr($post->url()); ?>"">```

It would simplify templates while allowing various object types in loops, not just posts, and give us an opportunity to clean up a lot of the underlying template tag logic (e.g. global $authordata), and give plugins and themes new ways to modify output.

This stemmed from my work on search. I wanted a way to keep the template simple while adding support for different object types in the loop. I figured that it wouldn't hurt anything to upgrade the classes because the way of accessing properties would be unchanged.",andy
15508,Use !is_user_logged_in instead of !$user->ID,,General,3.0.1,normal,major,Future Release,enhancement,new,reporter-feedback,2010-11-19T23:15:07Z,2011-01-05T06:04:09Z,"The subject line pretty much says all. I'm kind of integrating a user system of my own to allow comments into wordpress posts as if logged in amongst other few minor changes like session sharing. I've managed to do so as a plugin, until I got stuck with this.

The fact that many places in the wordpress code checks for the user id, instead of using the is_user_looged_in renders the purpose of that function useless for plugins.",Eteq
17780,Use PHP native double encoding prevention in htmlspecialchars(),,General,,low,minor,Future Release,enhancement,new,,2011-06-13T08:03:13Z,2011-06-13T08:03:13Z,"Since PHP 5.2.3 the {{{htmlspecialchars()}}} function has an optional {{{$double_encode}}} parameter, which we could use. This can save us a few expensive kses/html decoding calls.

We need to make sure it works the same way as our implementation.",nbachiyski
22234,"Use access modifiers in classes, not the var keyword",,General,1.5,normal,normal,Future Release,enhancement,new,has-patch,2012-10-20T21:23:39Z,2013-05-14T13:48:15Z,"The minimum required PHP version is 5.2.4. The {{{var}}} keyword is a relic of PHP 4. Let us open our hymnals to php.net:

  Note: The PHP 4 method of declaring a variable with the var keyword is still supported for compatibility reasons (as a synonym for the public keyword). In PHP 5 before 5.1.3, its usage would generate an E_STRICT warning.

PHP 5 has much better support for OO features like access modifiers in classes. WP also has a history of including PHPDoc blocks with code and using the {{{@access}}} tag. However, the tag is meaningless if it doesn't match the supplied access modifier.

PHPDoc blocks are present 1) for inline documentation, sure but mainly 2) to allow automatic generation of documentation when used with a command-line tool like phpDocumentor or (IMO, the far superior) ApiGen.

If I specify the following:

{{{
/**
 * @access private
 */
var $prop;
}}}

{{{$prop}}} will appear in the documentation as {{{public}}} because {{{var}}} means {{{public}}}. 

I have modified class properties throughout the codebase to use access modifiers instead of var. 

* If no PHPDoc was present, I made the property public, which it already was. 
* If the {{{@access}}} tag was present, I used its value for the property. 
* I then ran Unit Tests which produced some immediate fatal errors do to existing core code that was trying to access properties in a public way that had {{{@access}}} set to private. 
* I altered those properties to indeed be public and updated the PHPDoc",wonderboymusic
20352,Use str_getcsv() to parse search terms in WP_Query,,General,,normal,minor,Awaiting Review,enhancement,new,has-patch,2012-04-03T23:05:25Z,2012-04-04T01:39:31Z,"We use an [http://core.trac.wordpress.org/browser/tags/3.3.1/wp-includes/query.php#L2183 ugly regex] to split search terms like these:

{{{
term1 term2 ""exact match""
}}}

We could use str_getcsv() instead, for better readability.",scribu
13941,WP_CONTENT_URL should use site_url() to support HTTPS / SSL,ryan,General,,normal,normal,Future Release,enhancement,new,has-patch,2010-06-17T09:21:15Z,2011-11-11T18:54:44Z,"On HTTPS pages, users sometimes get 'insecure content' warnings from their browser.  This is commonly caused by plugins which use the ''WP_PLUGIN_URL'' constant to get the full plugin directory URL for the sake of loading static content.

The problem is that ''WP_PLUGIN_URL'' will always return the ''siteurl'' (as specified in Settings > General) and thus does not adjust from http:... to https:... when needed.

''WP_PLUGIN_URL'' is dependent on ''WP_CONTENT_URL'', and ''WP_CONTENT_URL'' is derived from ''get_option('siteurl')'', which only returns the ''siteurl'' and does not adjust for HTTPS pages. However, the ''site_url()'' function '''does''' adjust for HTTPS pages.

So, to fully support HTTPS and directives such as ''FORCE_SSL_LOGIN'' and ''FORCE_SSL_ADMIN'', ''WP_CONTENT_URL'' needs to use the ''site_url()'' function as proposed in my riveting one-liner patch.

Related #10198 #9008",micropat
20683,WP_Dependencies' constructor should accept a string/array value for $deps rather than converting a string to an empty array,markjaquith,General,,normal,normal,Awaiting Review,enhancement,reopened,has-patch,2012-05-15T20:12:39Z,2013-04-23T12:42:14Z,"Currently, WP_Dependencies' constructor takes any $deps value that's not an array and converts it to an empty array. I propose bringing the constructor's behavior more in line with standard WP function paramater behavior by accepting a string as a single dependency. Essentially this involves adding an is_string() check on $deps before checking if it's not an array, and creating an array with a single element in the case that it is a string. 


{{{
if ( !is_array($this->deps) )
  $this->deps = array();
}}}

becomes

{{{
if ( is_string( $this->deps ) )
  $this->deps = (array) $this->deps;
elseif ( !is_array( $this->deps ) )
  $this->deps = array();
}}}

See the attached diff for a proposed patch.",vhauri
18817,WP_List_Table nonce output moved to its own method,,General,3.2.1,normal,minor,Awaiting Review,enhancement,new,has-patch,2011-09-29T17:55:33Z,2012-03-20T19:32:43Z,"A quick little patch to move the nonce field generation and output to its own field.  I ran across a need for this when implementing the class on a postmeta box on the post edit screen.  Both the post edit form and the WP_List_Table class were outputting a nonce field using the name ""_wpnonce"".  Upon submission this was prohibiting the post from saving.

I had to override the entire display_tablenav method whereas if the output of the nonce was its own method, I could override it there and change the name of the field it was outputting.",bigdawggi
22470,WP_Scripts: output script element only if src not empty,,General,,normal,trivial,Awaiting Review,enhancement,new,has-patch,2012-11-16T00:36:50Z,2012-11-16T00:36:50Z,"I was able to make async JavaScript loading work with existing !WordPress code by acting on the script_loader_src filter before the `<script>` element is output, returning an empty string. This results in an empty src attribute, creating technically invalid HTML while not immediately loading the external script. If the !WordPress code could check if a non-empty `$src` string exists before outputting I could avoid the invalid HTML nag. Attached diff only outputs the `<script src="""">` element if `$src` is not an empty string.

I'd like to be able to asynchronously load an enqueued script without needing to completely rework `WP_Scripts`. I'd like to take advantage of common handles indicating a script is set to be loaded, extra data attached to a handle, and other !WordPress script expectations while swapping out the `<script src="""">` echoed markup.

Why async? A script steps out of the way, offering progressive enhancement of the page or loading non-critical features such as stats or socal network sharing buttons. Async loading also helps prevent single points of failure in webpage loading caused by China blocking Facebook or resources hosted at Amazon Web Services going offline for a few hours.

* [http://www.stevesouders.com/blog/2012/01/13/javascript-performance/ Some info from Steve Souders] showing a 31% increase in load times.
* [https://developers.google.com/analytics/devguides/collection/gajs/ Google Analytics use case]
* [https://developers.facebook.com/docs/reference/javascript/#loading Facebook JavaScript SDK use case]",niallkennedy
14853,WP_Scripts::do_item filter,westi*,General,3.1,normal,normal,Future Release,enhancement,accepted,has-patch,2010-09-12T04:35:59Z,2011-07-28T12:51:43Z,"There should be actions that fire after a script is printed. This would enabled this best-practices usage scenario (from http://github.com/paulirish/html5-boilerplate/blob/master/index.html ):

{{{
<!-- Grab Google CDN's jQuery. fall back to local if necessary -->
  <script src=""http://ajax.googleapis.com/ajax/libs/jquery/1.4.2/jquery.min.js""></script>
  <script>!window.jQuery && document.write('<script src=""js/jquery-1.4.2.min.js""><\/script>')</script>
}}}

The before action isn't covered by that use-case, but if we're going to have an after action, we might as well have a before one.

I've attached a patch that would allow for this. Dead simple.",mattwiebe
19742,WP_Styles should pass more info to the filter,,General,,normal,normal,Awaiting Review,enhancement,new,has-patch,2012-01-04T21:49:30Z,2012-12-11T23:44:10Z,"Currently, if your working with wp_enqueue_style(), it's not easy to customize the output of the link element.

The current filter passes the full html along with the style handle. This isn't enough information if you're trying to rebuild the link element.

I'm currently changing rel=""stylesheet"" to rel=""stylesheet/less"" for lesscss suport. I'm currently able to achieve this, but I have to know the style handle.

This patch adds a third param which contains all of the style data available for that style.",ptahdunbar
16867,Where is it appropriate to use filter_var,,General,3.2,normal,normal,Future Release,enhancement,reopened,,2011-03-16T16:47:13Z,2012-02-08T14:22:28Z,"Now that we require PHP 5.2 we have access to a whole plethora of new functions.  One of those is [http://php.net/filter_var/ filter_var].  It seems like this could be useful for things like validating and filtering E-Mail addresses, URLs, IPs, etc. (there are plenty of [php.net/manual/en/filter.filters.php filters]).

This was brought up in #15379 where nacin said:
  Those can be buggy. We could potentially leverage it internally but we need to watch out for vulnerabilities and what not across PHP versions.

I mostly wanted this to be the place where we decide what could benefit from it and what shouldn't.",aaroncampbell
19211,WordPress should be properly capitalized in the HTML title,,General,,normal,normal,Awaiting Review,enhancement,new,has-patch,2011-11-08T23:49:59Z,2011-11-09T04:59:43Z,"The HTML title element doesn't get properly capitalized P's, only the post title does.

For example: http://gigaom.com/2011/11/08/wordpress-founder-matt-mullenweg-to-speak-at-roadmap/",evansolomon
16612,WordPress should return nocache headers for requests with comment cookies,,General,,normal,normal,Awaiting Review,enhancement,new,,2011-02-21T22:45:21Z,2011-11-16T00:51:57Z,"Most themes, when displaying the comment form, change the HTML to pre-fill username, email address, and website when comment cookies are received in the HTTP request.  Since the response does not have explicit nocache headers, per RFC2616 (http://www.ietf.org/rfc/rfc2616.txt) intermediate caches can use heuristics to determine the cache TTL for the response.  Since there is 0 freshness data in the response, it is not really possible to perform good heuristics, but in practice, caches will assign a default TTL to this type of response.  The result is that private information input by user A when submitting a comment can be returned to user B when making a request for the same URL.  

To protect ourselves against this, we should call nocache_headers() when comment cookies are sent and the comment form is being displayed.  Alternatively, we can send nocache headers for all requests with comment cookies regardless of the comment form being displayed or not (probably easier and maybe safer).

http://humboldtherald.wordpress.com/2011/01/27/gremlins/ is a story likely caused by an aggressive cache and the lack of nocache headers.",barry
13436,Wordpress class_exists() conflicts with __autoload() and php_auto_prepend,,General,3.1,normal,minor,Future Release,enhancement,reopened,,2010-05-18T15:51:26Z,2010-12-14T17:42:54Z,"== Issue ==

Wordpress core (and many plugins) use class_exists().

http://php.net/manual/en/function.class-exists.php

When Wordpress is integrated with custom/third party applications that use php_auto_prepend and autoload() to include/require files based on the $class_name parameter this generates errors as class_exists() triggers the autoload() and the files cannot be found.

== To reproduce ==

Using php_auto_prepend specify a file to include before every page request that contains the following PHP code:

{{{
<?php
function __autoload($class) {
    include($class.'.php');
}
?>
}}}

Visit any front-end or back-end Wordpress page.

== Solution ==

As there is no autoload() function defined in Wordpress core the class_exists() should implement the second class_exists() parameter:

{{{
<?php
if (!class_exists('ExampleClass', false)) {
    ...
}
?>
}}}

This stops calls to __autoload() and would fix the errors seen when integrating Wordpress with apps that implement this.

I have implemented this and tested it and Wordpress works fine, but I can't find out where the SVN repo is for Wordpress 3 Beta 2 (the SVN page on the site takes me to 2.x).

If someone could supply a link for SVN CO of WP3 I can provide the patch.",galbus
24325,[wp-includes/load.php] LINE 270: ini_set should be verify before call,,General,,normal,minor,Awaiting Review,enhancement,new,,2013-05-12T10:48:31Z,2013-05-17T12:54:09Z,"Block @2 should be encapsulate in @1 if.

Most of hosting disable ini_set function and this will resolve some users frustration about multiple junk line of logs or error display.

This is my first report, so I apologize if something is wrong.

@1
{{{
if (function_exists('ini_set')) {
 @2 CODE
}
}}}



@2
{{{
if ( WP_DEBUG_DISPLAY )
   ini_set( 'display_errors', 1 );
elseif ( null !== WP_DEBUG_DISPLAY )
   ini_set( 'display_errors', 0 );

if ( WP_DEBUG_LOG ) {
   ini_set( 'log_errors', 1 );
   ini_set( 'error_log', WP_CONTENT_DIR . '/debug.log' );
}
}}}
",teo.cojo
23454,_deprecated_function Messages,,General,3.5,normal,normal,Awaiting Review,enhancement,new,has-patch,2013-02-12T11:20:39Z,2013-04-01T09:28:58Z,"Unlike ''_deprecated_file'' and ''_deprecated_argument'', the ''_deprecated_function'' function has no option to append a message to the triggered notice.

I propose adding this to make it consistant with the other 2 functions. Patch to follow.",mikejolley
23490,"add margin: 0px to ""#titlediv #title"" in wp_admin.css",,General,,normal,minor,Awaiting Review,enhancement,new,,2013-02-17T14:34:23Z,2013-02-17T14:34:23Z,"Firefox adds some margin to the input, as system css settings...
adding margin: 0 to the title input element makes the title text to be more correctly positioned in the center.

http://wpimpact.com/wp-content/uploads/2013/02/Untitled-6.png

fixed: 

http://wpimpact.com/wp-content/uploads/2013/02/Untitled-8.png",alexvorn2
22141,add_submenu_page file callback,,General,3.4.2,normal,normal,Awaiting Review,enhancement,new,dev-feedback,2012-10-09T16:11:11Z,2012-10-09T18:07:03Z,"Under the recommendation of the community I have decided to file a track regarding add_submenu_page. It currently allows for a callback function in which a dev could include a file but how about allowing add_submenu_page an argument to include a file in replacement of a callback function? This would remove several lines of code and clean up many developers functions.php files as well as custom admin page files.

Thanks for listening and I hope I can help.
-Ben",BenRacicot
16875,auth_redirect() minor code change,,General,3.1,normal,normal,Awaiting Review,enhancement,new,has-patch,2011-03-17T15:48:26Z,2011-03-17T15:48:26Z,While looking into #16858 I stumbled over some is_ssl() related code in auth_redirect(). Just a minor rewrite of the code to make it easier to read.,hakre
11598,code improvements in wp_:dashboard_plugins_output(),,General,2.9,normal,normal,Future Release,enhancement,new,has-patch,2009-12-24T14:19:54Z,2010-10-28T11:36:02Z,"Smaller code changes to improve the function. Stumbeled over this while digging into #11597 and #11518.

",hakre
10975,comment form nonce,,General,,normal,normal,Future Release,enhancement,new,,2009-10-19T06:49:16Z,2010-10-06T20:09:02Z,"This adds a nonce to public comment forms, via the comment_form action.
",tellyworth
19806,do_allowed_shortcodes to allow processing of limited list of shortcodes,beezeee,General,,normal,normal,Awaiting Review,enhancement,new,has-patch,2012-01-11T16:09:56Z,2012-01-11T22:22:52Z,"We have a front facing content editor and want to enable our users to use a specific set of shortcodes, without exposing all of the sites shortcodes to them.

Here's the function we use for this. It is passed an array of allowed shortcodes, and any other shortcodes are stripped from the content. 

{{{
function do_allowed_shortcodes($content, $shortcodes=array())
{
    //if no allowed shortcodes are provided, strip all shortcodes and return content
	if (empty($shortcodes))
	{
		return(strip_shortcodes($content));
	}
    //foreach allowed shortcode provided, build the necessary regex to temporarily change [shortcode] to {shortcode} and then back
	foreach ($shortcodes as $shortcode)
	{
		$allowed_matches[] = '/\[('.$shortcode.'[^\]]*)\]/';
		$restore_allowed_matches[] = '/\{('.$shortcode.'[^\}]*)\}/';
	}
    //change safe shortcodes from [shortcode] to {shortcode}
	$safe_content = preg_replace($allowed_matches, '{$1}', $content);
    //strip remaining [shortcodes]
	strip_shortcodes($safe_content);
    //change {shortcodes} back to [shortcodes] and return result of do_shortcode() on that content
	$trimmed_content = preg_replace($restore_allowed_matches, '[$1]', $safe_content);
	return do_shortcode($trimmed_content);
}
}}}



Seems like this would be a nice addition to core functionality.",beezeee
16745,doubled replace in setup_postdata,,General,3.1,normal,normal,Awaiting Review,enhancement,new,has-patch,2011-03-04T11:36:53Z,2011-03-23T14:12:14Z,One less to go. Could be array'ed as well. Found in http://wordpress.stackexchange.com/questions/8031/is-it-necessary-to-use-wp-reset-query-in-a-wp-query-call,hakre
22300,enhance urlencode_deep(),,General,3.4,normal,normal,Future Release,enhancement,new,has-patch,2012-10-28T14:53:43Z,2012-11-13T01:13:53Z,It would be handy if urlencode_deep() handled objects as well as arrays. Patch includes corresponding urldecode_deep(),wpmuguru
21596,enhance wp_get_archives to support post types,,General,,normal,normal,Awaiting Review,enhancement,new,has-patch,2012-08-15T18:13:53Z,2013-05-07T19:05:42Z,"I needed to populate an option list of a form with the titles of custom post types. It seemed like wp_get_archives would do the trick, except there was no way to tell it to grab a post_type. So I enhanced wp_get_archives to support and additional parameter.",jjminkle
18613,get_adjacent_post() doesn't find private posts,,General,,normal,normal,Awaiting Review,enhancement,new,has-patch,2011-09-07T15:52:25Z,2011-11-16T00:49:50Z,The status is always 'publish'.,scribu
13771,get_the_date() to accept optional $post argument,,General,3.0,normal,normal,Future Release,enhancement,new,has-patch,2010-06-07T17:24:33Z,2012-10-10T21:14:09Z,Currently the get_the_date() function only utilizes the global $post.  Allowing this function to accept an optional $post object as an argument would be beneficial for getting the formatted date of any post.,bigdawggi
18705,home_url() and is_home() with a static front page,,General,,normal,normal,Awaiting Review,enhancement,new,,2011-09-19T16:16:25Z,2012-12-02T00:05:20Z,"When you have a static front page, home_url() points to the front page while is_home() detects the posts page.

This is confusing and counter intuitive (especially because in the dashboard the page set as home is referred to as the posts page. The word ""Home"" is never used on the client side).

Rename
is_home() => is_posts_page()
home_url() => front_page_url()

Add
posts_page_url()",crrobi01
18035,ignore_sticky_posts fails to remove sticky class,,General,3.2,normal,minor,Future Release,enhancement,new,commit,2011-07-08T10:03:44Z,2012-04-25T10:38:10Z,"When setting the query_posts parameter:

ignore_sticky_posts = 1

all sticky posts are returned as normal posts and placed accordingly in the flow. However the sticky posts keep their sticky class, which means that an additional filtering of post_class is necessary to avoid any css rules defined for the .sticky selector taking effect.

is this intended, or could it be considered an enhancement if it was patched?
",mikkelbreum
24284,is_multi_author() should query by specific post type and status,,General,,normal,normal,Awaiting Review,enhancement,new,,2013-05-08T08:18:58Z,2013-05-08T10:38:18Z,"Current is_multi_author() function only checks by the 'post' post-type and 'publish' post-status..

I think the function should be able to query by custom-post-type and custom-post-status",alex-ye
16375,is_tax() and get_taxonomy_template() support for post formats,,General,,normal,normal,Future Release,enhancement,new,dev-feedback,2011-01-26T12:03:03Z,2011-02-03T14:38:29Z,"Two things it seemed we forgot.

Currently you'd need to use is_tax() as a conditional tag for post formats. This is ugly, as it looks like this:

`is_tax('post_format', 'post-format-aside');`

Ideally, that slug should be internal. So we need a `is_post_format()` conditional tag. That's probably a lame name (most is_* functions are ambigious), and perhaps someone has a better idea.

Additionally, get_taxonomy_template() currently looks for `taxonomy-$taxonomy-$term.php`. That turns into `taxonomy-post_format-post-format-aside.php`. A simple check can allow us to instead (or in addition to) look for `taxonomy-post_format-aside.php`.",nacin
16781,is_wp_error() simplification,,General,3.1,normal,normal,Awaiting Review,enhancement,new,has-patch,2011-03-07T00:20:17Z,2011-03-09T18:18:46Z,"please review. see #2600, [3667], [http://php.net/manual/en/function.is-a.php is_a()], [http://www.php.net/manual/en/function.is-subclass-of.php is_subclass_of()]",hakre
21642,language_attributes() print WP lang instead content lang.,,General,2.1,normal,normal,Awaiting Review,enhancement,new,dev-feedback,2012-08-20T18:15:37Z,2012-08-20T20:46:33Z,"If you have WordPress in a language does not mean that the content has to be in that language. It would be good if there was an option to select it.

Another detail is for example: If we have the translation ""'''Spanish - Spain'''"", ""'''es-ES'''"", WordPress print ""'''es-e'''s"" instead of ""'''es'''"" simply.
This would be good because it is the only translation into Spanish.",shadowhck
16938,list_files() refactoring,,General,3.1,low,normal,Future Release,enhancement,reviewing,close,2011-03-22T21:08:35Z,2011-03-23T19:34:13Z,I was taking a look into list_files(). I've seen that older code (Related: #16937) that's handling false and then false again and so on which can be just reduced + some clean-ups.,hakre
17856,magic_quotes_gpc future-proof enhancements,,General,,normal,normal,Awaiting Review,enhancement,new,has-patch,2011-06-21T01:13:44Z,2012-10-31T03:23:05Z,"As is well documented across the Internet, the magic_quotes_gpc feature is going away in future versions of PHP.  WordPress has historically automatically escaped _GET, _POST, _REQUEST and _COOKIE input from users, even if the server doesn't have magic_quotes_gpc turned on.  Regardless of the reasons for this, having a way to move forward seems absolutely necessary.

Current issues related to this include (among others):

* maintaining backwards compatibility for those plugin developers who depend on WordPress handling this escaping for them
* giving plugin developers a way to help put magic_quotes_gpc in the past
* giving developers access to the original super globals
* making these super global values read-only so that poorly written plugins/themes don't cause conflicts and problems for other plugins/themes

----

Attached is a patch which I believe handles this effectively without causing any backwards compatibility issues.

This patch introduces 5 new getter functions for wordpress:

* wp_input_get()
* wp_input_post()
* wp_input_get_post()
* wp_input_cookie()
* wp_input_server()

When WordPress first loads, these 5 functions grab the original copies of their respective super globals, undo magic_quotes if it's turned on and then makes the values accessible in a read-only way.

Moving forward, plugin developers can be encouraged to use, for example, wp_input_get('name') rather than $_GET['name'] .  In addition to giving developers a migration path away from the forced magic_quotes_gpc behavior, additional security filters could be done on the given values for further protection.",troydavisson
20144,make posts without title or without main text more comfortable,,General,,normal,normal,Awaiting Review,enhancement,new,,2012-02-29T17:55:15Z,2012-02-29T17:55:15Z,"make posts without title or without main text more comfortable. as i know posts without main text is even not possible. if user creates post without title, it is hard to find in dashboard post list!

this enhancement would allow to use wordpress as microblog.",qdinar
21243,move password hint text to a function,,General,,normal,normal,Awaiting Review,enhancement,new,has-patch,2012-07-12T16:56:24Z,2012-07-16T02:52:21Z,"The password hint text, noted below, is hard coded in four places:

{{{
wp-admin/install.php
wp-admin/user-edit.php
wp-admin/user-new.php
wp-login.php
}}}

{{{
Hint: The password should be at least seven characters long. To make it stronger, use upper and lower case letters, numbers and symbols like ! "" ? $ % ^ &amp; ).
}}}

This approach is prone to mistakes when changes are made.  In addition, plugins that want to override the text need to use the resource intensive and clumsy gettext filter.

Per nacin and westi, the attached patch moves the text to a function ({{{wp_password_hint()}}}) in {{{wp-includes/user.php}}} and adds a filter ({{{password_hint}}}).",convissor
10296,scheduled unpublishing / post expiration,,General,,low,minor,Future Release,enhancement,new,,2009-06-29T06:02:33Z,2010-12-21T11:40:21Z,"Is there any particular blog-philosophical reason why this isn't yet possible in the core version while scheduled publishing has been a longstanding feature? As usual with such issues, client requested WP, but wants features that aren't easily supported in WP. There's a plugin called post-expirator (http://homeworker-directory.com/blog/how-to-make-your-wordpress-posts-and-wordpress-pages-auto-expire-on-a-chosen-time-or-date-with-post-expirator/) that does this in a way, but given WP's apparent increased use as a CMS I think this should be a core feature.",youngmicroserf
13592,script_loader_src and style_loader_tag filters,,General,,normal,normal,Future Release,enhancement,new,has-patch,2010-05-28T09:40:07Z,2013-02-07T21:53:06Z,"i'm trying to build a scripts and styles minifier.
( i don't like the way wp-minify does it ... )

thanks to the style_loader_tag filters, i'm pretty proud of my work for stylesheets.

but why don't we have a script_loader_tag ?

something like this in class.wp-scripts.php : 
{{{
   $src .= apply_filters( 'script_loader_tag', ""<script type='text/javascript' src='$src'></script>\n"", $handle );
}}}


ok i'll try to submit a real patch.
",olivM
15222,show_option_all_included for wp_dropdown_categories,,General,3.0.1,normal,normal,Awaiting Review,enhancement,new,,2010-10-26T12:50:15Z,2010-10-26T12:51:32Z,"this little addition lets user have an option which allows searching in all categories included in dropdown only. put it below handling of show_option_all option in wp_dropdown_categories


		if($show_option_all_included)
		{
			$show_option_all = apply_filters( 'list_cats', $show_option_all_included );
			$selected = ( '0' === strval($r['selected']) ) ? "" selected='selected'"" : '';
			$vals = '';
			foreach($categories as $cat)
				$vals .= $cat->term_id.',';
			$vals = substr($vals, 0, -1);
			$output .= ""\t<option value='$vals'$selected>$show_option_all</option>\n"";
		}",roxaz
18518,suggest.js: don't store the URL in the options object,,General,,normal,normal,Awaiting Review,enhancement,new,has-patch,2011-08-25T20:35:21Z,2011-11-16T00:51:03Z,"...because it prevents re-using the same instance for different URLs:

{{{
var suggest_args = {
	multiple     : true,
	delimiter    : ',',
	resultsClass : 'qc-suggest-results',
	selectClass  : 'qc-suggest-over',
	matchClass   : 'qc-suggest-match',
};

$( '#ticket-assign input' ).suggest( QC_L10N.ajaxurl + '?action=qc-user-search', suggest_args );

$( '#ticket-tags input' ).suggest( QC_L10N.ajaxurl + '?action=ajax-tag-search&tax=post_tag', suggest_args );
}}}

With the above code, both inputs will look for items in the same URL: the second one.

Attached patch fixes this.",scribu
14670,sunrise.php in single site installations,,General,,normal,normal,Future Release,enhancement,reopened,close,2010-08-22T19:17:54Z,2012-02-21T02:18:29Z,Let's make sunrise.php work regardless of is_multisite().,nacin
21153,supporting protocol-relative urls,,General,3.3.2,normal,normal,Awaiting Review,enhancement,new,,2012-07-04T10:04:09Z,2012-07-04T11:04:29Z,"changing http:// and https:// generated links to // links would easily add support for hosting a site both under http and https easily

one place I've found this to be changed is in wp-includes/link-template.php around line 2006

the first if could be changed to:

$url = str_replace( ""https://"", ""//"", $url)
$url = str_replace( ""http://"", ""//"", $url)",nagyv
19572,switch_to_post() stack implementation (similar to switch_to_blog()),,General,3.3,normal,normal,Awaiting Review,enhancement,new,has-patch,2011-12-15T21:54:57Z,2012-01-23T20:21:14Z,"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
22069,unify function naming convention get_ vs. the_,,General,3.4.2,normal,normal,Awaiting Review,enhancement,new,,2012-10-01T10:24:15Z,2012-10-01T10:24:15Z,"even after about 400 custom wordpress instalation i always got problem remembering the proper name of many functions, if they are returning the content or echoing it.

Most of the functions got get_something() and the_something() but some functions got get_the_something() (e.g. get_the_post_thumbnail) and some got the_something(echo=false) or something(echo=true) etc.

It would be nice if we would consolidate the naming convention (IMO get_ and the_ would be the best) and make current functions obsolete.",thomask
17092,use dirname(__file__).'/file.php' instead of './file' for includes,,General,3.1.1,normal,minor,Awaiting Review,enhancement,new,dev-feedback,2011-04-09T12:57:35Z,2012-12-16T12:18:01Z,"most initial includes prior to having ABSPATH defined are usually of the format:

{{{
#!php
require('./wp-blog-header.php');
}}}

as seen in the main index.php. Most of these occur in /wp-admin.

which is fine in most cases. Except on some windows servers where relative paths can get a bit funky. or if you're trying to include the file which contains a relative include in a file found in another directory (which happens when you're trying to use wordpress for something other than its intended purpose, like developing a more practical multisite system, on multiple domains, with a single copy of wordpress files for all the sites).

anyway, I just wanted to request that absolute paths be used for includes.

for example:

{{{
#!php
in /index.php
 require('./wp-blog-header.php');
becomes:
 require( dirname(__FILE__) . '/wp-blog-header.php' );
}}}
{{{
#!php
in /wp-admin/admin-ajax.php
 require_once('../wp-load.php');
becomes
 require_once( dirname(dirname(__FILE__)) . '/wp-load.php' );
}}}
{{{
#!php
in /wp-admin/maint/repair.php
 require_once('../../wp-load.php');
becomes
 require_once( dirname(dirname(dirname(__FILE__))) . '/wp-load.php' );
}}}

it may not look as pretty but I think it's a saner/safer method of inclusion. Just a suggestion for the next major release. Or as you gradually update files.

Attached is the patch I made from 3.1.1. It replaces every relative include|require(_once)? by absolute ones. As far as I've tested, works the same as unpatched and no includes are broken.",ketwaroo
19097,use wp_register() in wp-login.php,,General,3.2.1,normal,normal,Awaiting Review,enhancement,new,has-patch,2011-10-31T17:35:15Z,2012-10-01T00:33:09Z,"wp_register() calls a filter to change the registration link, but wp-login.php still has the link hardcoded to the default link.
",linuxarchitect
12502,wordpress portability,significance*,General,,normal,normal,Future Release,enhancement,accepted,,2010-03-03T19:30:08Z,2011-08-07T21:13:10Z,"i find it really frustrating moving wordpress from server to server and to a new url.

this is mainly due to the fact that the url is hard coded in the database, requiring me to open up the sql and do a find and replace.

would it be possible to use the $SERVER globals to get the 'blog url' rather than making entries in the database with the http://blog.url/ part of the url?

that would make the process so much easier, since you could just backup/reup the database using your normal database admin tools without messing around with editing the .sql file or going through the processes described at 

http://codex.wordpress.org/Moving_WordPress#Moving_WordPress_to_a_New_Server



would it be possible to make wordpress more portable? i would be happy to help design/code the feature.


Dan",significance
21599,wp-admin post-screen: Make metabox visibility filterable,,General,3.4.1,normal,minor,Awaiting Review,enhancement,new,,2012-08-15T19:10:46Z,2012-09-25T17:57:10Z,"We are using wp as a cms and we want to influence the visibility options our users see. Right now, that part is hardcoded in wp-admin/includes/meta-boxes.php. We would appreciate a filter to influence the visibility options. I'd be willing to provide a patch, if I get a positive feedback from a core dev.",pampfelimetten
14157,wp-includes references should be wiped off,,General,,lowest,minor,Future Release,enhancement,new,dev-feedback,2010-06-30T14:54:49Z,2011-06-25T10:16:45Z,"I think all references to wp-includes should be wiped off and use the WPINC WP constant. This may allow for a future renaming of the wp-includes folder if needed.

E.g in script-loader.php:

$scripts->add( 'jquery-ui-core', '/wp-includes/js/jquery/ui.core.js', array('jquery'), '1.7.1' );

To:

$scripts->add( 'jquery-ui-core', '/' . WPINC. '/js/jquery/ui.core.js', array('jquery'), '1.7.1' );


",steak
21435,wp-includes/comment.php line85 causes slow query due to the non-indexed column,,General,3.4.1,normal,minor,Awaiting Review,enhancement,new,has-patch,2012-08-01T00:31:47Z,2012-08-01T00:31:47Z,"Following query is causes slow query if  the wp_comment table is huge.
{{{
$ok_to_comment = $wpdb->get_var(""SELECT comment_approved FROM $wpdb->comments WHERE comment_author = '$author' AND comment_author_email = '$email' and comment_approved = '1' LIMIT 1"");                                                         
}}}

In my case, I have 600 thousand records in the wp_comments table and the query takes over 10 minutes to complete.

http://matsu.teraren.com/blog/wp-content/uploads/2012/08/a40b1291fd99413dc3057fbe0b792a93.png

To fix this issue, I added index on my running wordpress and returns 0.00sec.

I'll attach the patch for create table file.
",matsubobo
16437,wp_category_checklist should have name parameter,,General,3.0.4,normal,minor,Awaiting Review,enhancement,new,close,2011-02-01T19:48:31Z,2011-12-14T23:12:37Z,"I found [http://core.trac.wordpress.org/browser/trunk/wp-admin/includes/template.php#L64 wp_category_checklist] is useful for creating my plugin/theme settings options. Unfortunately, it's currently don't have name parameter, the name is statically defined as '''post_category''' in the ''Walker_Category_Checklist'' default walker.

[[BR]]
''wp_category_checklist( $post_id = 0, $descendants_and_self = 0, $selected_cats = false, $popular_cats = false, $walker = null, $checked_ontop = true )''

[[BR]]
where it should be something like[[BR]]

''wp_category_checklist( $post_id = 0, $descendants_and_self = 0, $selected_cats = false, $popular_cats = false, $walker = null, $checked_ontop = true, $name='post_category' )''

So we don't need to create a new walker just to change the name.
Thank you.",takien
19135,wp_get_archives() needs a hook/filter,,General,,normal,normal,Awaiting Review,enhancement,new,dev-feedback,2011-11-03T22:12:19Z,2011-11-05T20:20:01Z,"I would expect that it would have one. It was proposed at one point: #2329

Consider the case where I want to add `rel=""nofollow""` to links in my archive:


{{{
function nofollow($string) {
    $dom = DOMDocument::loadXML($string);
    $list = $dom->getElementsByTagName('a');
    foreach($list as $a) {
        if (!$a->hasAttribute('rel')) {
            $a->setAttribute('rel', 'nofollow');
        }
    }
    return $dom->saveHTML();
}
ob_start();
wp_get_archives('type=monthly&limit=12');
echo nofollow(ob_get_clean());
}}}


That seems really ugly, especially since I already use the nofollow function in other places using `apply_filter`;

A more elegant way:
{{{
function wrap($string, $tag) {
    return ""<$tag>$string</$tag>"";
}
function nofollow($string) {
    $dom = DOMDocument::loadXML($string);
    $list = $dom->getElementsByTagName('a');
    foreach($list as $a) {
        if (!$a->hasAttribute('rel')) {
            $a->setAttribute('rel', 'nofollow');
        }
    }
    return $dom->saveHTML();
}
add_filter('wp_get_archives', 'wrap', 'ul');
add_filter('wp_get_archives', 'nofollow');
wp_get_archives('type=monthly&limit=12');
}}}",LeviMorrison
14760,wp_get_shortlink not working on pages,,General,3.0,normal,normal,Future Release,enhancement,new,has-patch,2010-09-02T11:07:42Z,2011-08-16T18:46:32Z,"wp_get_shortlink doesn't return anything on pages.

reason:


{{{
2196   if ( isset($post->post_type) && 'post' == $post->post_type )
2197         $shortlink = home_url('?p=' . $post->ID);
}}}
",mattsay
18692,wp_insert_post() enhancements,,General,3.2.1,normal,normal,Awaiting Review,enhancement,new,dev-feedback,2011-09-17T21:33:12Z,2012-10-12T08:41:53Z,"I have created enhancement for `wp_insert_post()` function. There re two changes:[[BR]]
- allows to return WP_Error from `wp_insert_post_data` - in this case function returns that value (or 0 if param `$wp_error == false`) and do not continue;[[BR]]
- filter categories, tags and other taxonomies through new filters: `wp_insert_post_category`, `wp_insert_post_tags` and `wp_insert_post_tax`. New code also checks if these filters returned WP_Error;

These changes will allow me to implement following features in my [http://wordpress.org/extend/plugins/wypiekacz/ WyPiekacz] plugin:[[BR]]
- do not create new post when it does not satisfy appropriate rules. Although WP code will not display that error by itself (#10480, #18266), I will be able to display appropriate error from plugin code (at least when normal editor was used). This will also help me to stop flood of automated post spam;[[BR]]
- allow to review tags attached to post submitted for review - this way tags will be actually created when post will be published; before this they will be stored as post metadata. In order to do this I need to modify tags - unfortunately `wp_insert_post_data` filter does not allow to modify them (it allows read-only access to them only).",sirzooro
20359,wp_list_categories - Diff to make use_desc_for_title parameter more flexible,,General,2.2.1,normal,normal,Awaiting Review,enhancement,new,has-patch,2012-04-04T22:57:44Z,2012-04-05T12:58:17Z,"Right now, the @use_desc_for_title is defined as a boolean parameter which outputs category link title attributes containing either:
- Category descriptions by default (''bool '''1''''');[[BR]]
- 'View all posts filed under [category-name]'.[[BR]]
Now, since the title attribute is not required for '''<a>''' tags in any HTML spec, I made a patch to turn this parameter into a string, with the following supported values:[[BR]]
- 'desc' => (default) Outputs category descriptions;[[BR]]
- 'viewall' => Same output as ''bool '''0''''' (''false'') before: 'View all posts filed under [category-name]';[[BR]]
- 'none' => Does not output any title attributes.[[BR]]

I have tested this thoroughly, but additional testing would not hurt.",Marventus
16895,wp_list_pluck cannot be used with arrays of references,,General,3.1,normal,normal,Future Release,enhancement,new,has-patch,2011-03-19T11:47:37Z,2011-03-22T16:54:44Z,"Example code:

{{{
$one = array('num' => 1);
$two = array('num' => 2);
$input = array( &$one, &$two );

$nums = wp_list_pluck($input, 'num');

var_dump($nums, $input);
}}}

Example output:
{{{
array
  0 => &int 1
  1 => &int 2
array
  0 => &int 1
  1 => &int 2
}}}
Expected output:
{{{
array
  0 => int 1
  1 => int 2
array
  0 => &
    array
      'num' => int 1
  1 => &
    array
      'num' => int 2
}}}

This is caused by wp_list_pluck using the same variable name for the input array, and then overwriting it for the return.

One such real life example, is $wp_query->comments

See patch",dd32
18814,wp_redirect wont allow arrays to be sent in query string,,General,3.2.1,normal,normal,Awaiting Review,enhancement,new,,2011-09-29T14:27:38Z,2011-10-03T17:04:52Z,"
The pluggable function wp-redirect will not allow arrays to be sent in a query string.  

ie: http://www.example.com/?array[]=first&array[]=second&array[]=last

The brackets are stripped out when the URL is sanitized and it becomes:

http://www.example.com/?array=first&array=second&array=last

This removes the ability to pass the array.",jacksplay
20178,wpdb class : provide a disconnect / connect to db functions,arena,General,3.4,normal,normal,Awaiting Review,enhancement,new,dev-feedback,2012-03-05T13:16:21Z,2012-03-05T16:28:46Z,"some hosts automatically disconnect mysql after a short while.
I think it could be interesting to have in wpdb a disconnect and connect functions.",arena
18738,Improving cron spawning and other non-blocking HTTP requests,dd32*,HTTP,,high,normal,Future Release,enhancement,accepted,has-patch,2011-09-21T17:03:50Z,2012-10-20T19:10:59Z,"The order of preference for transport methods in the HTTP API is cURL, streams, fsockopen. However cURL and streams cannot perform non-blocking requests, but fsockopen can. Therefore, fsockopen should be the highest priority transport method for non-blocking HTTP requests.

Here's an example. I have a script at `http://ctftw.com/sleep.php` which sleeps for 5 seconds.
{{{
$start = microtime( true );
wp_remote_get( 'http://ctftw.com/sleep.php', array(
	'blocking' => false
) );
$end = microtime( true );
var_dump( $end - $start );
}}}
When the cURL or streams transports are used, this request blocks the page for 5 seconds (the default request timeout is 5 seconds).

Let's disable the cURL and streams transports (leaving only fsockopen) and try again:
{{{
add_filter( 'use_curl_transport',    '__return_false' );
add_filter( 'use_streams_transport', '__return_false' );

$start = microtime( true );
wp_remote_get( 'http://ctftw.com/sleep.php', array(
	'blocking' => false
) );
$end = microtime( true );
var_dump( $end - $start );
}}}
This request does not block the page because fsockopen returns immediately after sending the request.

== Cron Spawning ==

This is a benefit to core because it improves the cron spawner (and can potentially fix #8923). The cron spawner uses a timeout of 0.01 seconds and a non-blocking request, but actually takes longer than 0.01 seconds.

Example:
{{{
$cron_url = get_option( 'siteurl' ) . '/wp-cron.php?doing_wp_cron';
$start = microtime( true );
wp_remote_post( $cron_url, array(
	'timeout' => 0.01,
	'blocking' => false
) );
$end = microtime( true );
var_dump( $end - $start );
}}}
This request takes around 1.1 seconds on the three servers I've tested it on.

Let's disable cURL and streams again (leaving only fsockopen) and see what we get:
{{{
add_filter( 'use_curl_transport',    '__return_false' );
add_filter( 'use_streams_transport', '__return_false' );

$cron_url = get_option( 'siteurl' ) . '/wp-cron.php?doing_wp_cron';
$start = microtime( true );
wp_remote_post( $cron_url, array(
	'timeout' => 0.01,
	'blocking' => false
) );
$end = microtime( true );
var_dump( $end - $start );
}}}
On each of my three servers I see a time of around 0.001 seconds.

We can therefore improve the cron spawner by setting fsockopen as the preferred transport method for non-blocking HTTP requests.

In an attempt to address #8923, we can change the cron request timeout to 1 second. If fsockopen is used, the request is lightning fast at ~0.001 seconds. If it's not available and the HTTP API falls back to cURL or streams then it takes ~1.1 second, which is the same time it takes currently. (Hopefully that makes sense.)

Patch coming up for those who want to test it.",johnbillion
9072,New Socket HTTP transport to use stream_socket_client,,HTTP,,normal,normal,Future Release,enhancement,assigned,has-patch,2009-02-09T05:45:50Z,2012-06-28T13:43:20Z,"Steams use of stream_socket_client:
 * Support SSL.
 * Better support for non-blocking.
 * Damn sexy.",jacobsantos
21999,Passing cookie arguments to the HTTP API should be easier,,HTTP,3.4.2,normal,normal,Awaiting Review,enhancement,new,,2012-09-26T06:24:38Z,2012-09-26T06:24:38Z,"If you want to set cookies during a remote HTTP request in WordPress, it's currently a rather pain in the ass to do.

Rather than having to deal with `WP_HTTP_Cookie`, it'd be nice if you could just pass a `name => value` array and have the rest taken care for you behind the scenes.",Viper007Bond
23472,Retrieve the first x bytes of a remote file,,HTTP,,normal,normal,3.6,enhancement,new,has-patch,2013-02-14T01:31:02Z,2013-05-16T12:09:48Z,"A commonly useful functionality in HTTP clients is to only request the first x bytes of a document, this can be useful for example, when you only need to fetch the first few KB of a image so as to determine it's dimensions from the initial metadata in the file.

At present, we have no way to offer this through WP_HTTP, The attached patch is a first-scratch effort at adding it. No proper unit tests so far, just casual testing which confirms it working. 

Patch
* Supports all 3 transports
* Handles streaming-to-file as well
* Doesn't include Headers in the byte count
* Works with Redirects

I'll add some Unit tests for this soon hopefully.",dd32
22952,WP_HTTP can cause PHP Warnings during attempted decompression,,HTTP,,normal,normal,3.6,enhancement,new,has-patch,2012-12-15T05:13:55Z,2013-01-17T17:24:19Z,"{{{
WARNING: wp-includes/class-http.php:1656 - gzinflate(): data error
}}}

WP_Http_Encoding can cause PHP Warnings when it attempts to decompress data using gzinflate() which has been encoded in any way.
We currently work around this this in a few ways, but we still take a ""try it and see"" method instead of detecting the compressed contents signature and handling it appropriately.

Attached is a first-run patch at detecting Huffman coding, which is what we currently use `@gzinflate( substr( $gzData, 2 ) )` for (and hey, who doesn't like making magic numbers clearer?)

I have been running a similar patch on !WordPress.com and gathering data on how the myriad of different Web Servers out there respond, and so far this causes it to correctly identify the vast majority of responses.

It appears that we may also be attempting to decompress compressed files retrieved through WP_HTTP on some poorly configured servers, but this is something I haven't yet traced properly.",dd32
19707,admin-ajax.php requests via http regardless of force_ssl_admin() state,,HTTP,,normal,normal,Awaiting Review,enhancement,new,dev-feedback,2012-01-01T00:53:52Z,2012-04-27T20:59:54Z,"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
16870,consider disabling HTTP transport after multiple failed requests,,HTTP,2.9,normal,normal,Future Release,enhancement,new,dev-feedback,2011-03-16T23:18:45Z,2011-07-16T23:31:02Z,"There has been a number of reports over the lifespan of the cURL HTTP transport failing with an error during upgrades:
{{{
WP HTTP Error: name lookup timed out
}}}

This is a common error from cURL on badly configured installations (specifically, IIRC it lacks DNS Resolving in cURL, sometimes it just required an extended amount of time to resolve, others, it simply can't resolve)

Like we do with fsockopen() I think it'd be worth disabling the cURL transport for x hours when it hits this particular error condition..

Related threads: http://wordpress.org/support/topic/dashboard-issues-rss-error-wp-http-error-name-lookup-timed-out and http://wordpress.org/support/topic/plugins-update-failure  Both old threads, so this may only affect a PHP4 version of cURL.. For tracking purposes, I've finally created this ticket.",dd32
21446,plugins using curl with IPV6 enabled servers,,HTTP,3.4.1,normal,normal,Awaiting Review,enhancement,new,close,2012-08-01T21:46:28Z,2012-08-09T10:41:24Z,"
plugins using curl give problems on servers having both IPV4 and IPV6 network interfaces running. Basically the performance is poor because curl is timing out on the IPv6 address..  The workaround is:

add line:
curl_setopt( $handle, CURLOPT_IPRESOLVE, CURL_IPRESOLVE_V4);
in ../wp-includes/class-http.php

Why not have this set as default?
",mippie32
23163,3.6 Network Admin Help Text,,Help/About,,low,normal,Future Release,enhancement,new,has-patch,2013-01-09T23:35:35Z,2013-03-09T03:19:18Z,"One of the [http://make.wordpress.org/docs Doc team's] action items for 3.6 is to work on overhauling the Network Admin help tabs, many of which contain outdated and, well, unhelpful information. 

Our goals:
* Focus on writing action vs description-based help text
* Aim for a consistent voice
* Pave the way for future Help UI changes in how we structure the information

Any Network Admin screen is fair game but by no means do we intend to change strings just for the sake of change. It was the consensus of the team to focus on this effort earlier in the release cycle than usual so that translators will have plenty of time to work on new strings and provide feedback.

Following some [https://twitter.com/DrewAPicture/status/295248525699190785 feedback] from @nacin, @markjaquith, and @aaroncampbell, it was decided the best format for concatenating help tabs strings should follow this format going forward:

{{{
$example_string = '<p>' . __( 'This is some help text' ) . '</p>';
$example_string .= '<p>' . __( 'This is some more help text' ) . '</p>';
 
get_current_screen()->add_help_tab( array(
'id'	=> 'example',
'title'	=> __( 'Example' ),
'content'	=> $example_string
) );
}}}",DrewAPicture
20907,About screen text assumes user has update privileges,,Help/About,3.3,normal,normal,Awaiting Review,enhancement,new,,2012-06-11T17:59:18Z,2012-06-11T18:02:42Z,"From the 'About' screen in WordPress:

> Thank you for updating to the latest version!

But I didn't! I am just a lowly editor. My administrator probably updated the site for me.

We shouldn't show this sentence if the user doesn't have the `update_core` capability.",johnbillion
21523,Add additional escaping to credit.php,,Help/About,3.4.1,normal,normal,Future Release,enhancement,new,has-patch,2012-08-09T01:13:41Z,2012-11-07T20:16:49Z,"`/wp-admin/credits.php` doesn't fully escape all of the data that it displays. It should be properly escaped like any other third party data.

What if WordPress.org were somehow compromised?",Viper007Bond
20661,Add help text for search usage in Multisite User browsing,,Help/About,,normal,normal,Awaiting Review,enhancement,new,has-patch,2012-05-11T18:32:34Z,2012-05-12T04:40:21Z,"Search on the Network Users page defaults to wildcards disabled by default. This may not be expected functionality by a lot of end users, so I think some notes on how to use search should help.

Related: #20135",ericlewis
21273,Automatically open help panel,,Help/About,,normal,trivial,Future Release,enhancement,new,has-patch,2012-07-14T19:04:20Z,2012-10-30T17:32:36Z,"The help screen is highly inaccessible. Developers are not able to link to content in the help panels if you need to point users to specific directions for your plugin.

This patch is a quick stab at it to see if it's worth while.

What it does it allow direct links to the help panel. Upon pageload, it'll automagically open up to the correct panel.

Usage:
1. Install the patch
2. Click http://wordpress.dev/wp-admin/index.php#tab-panel-help-layout

Again, this is a quick stab. The concept could definitely be improve/abstracted and DRYed up.

Let me know your thoughts :-)",ptahdunbar
22305,Credits Page Should Include more than 'just' people who commit a patch,,Help/About,,normal,normal,Awaiting Review,enhancement,new,,2012-10-29T16:28:32Z,2013-02-01T02:09:12Z,"If you want to find how contributes to core, it's easy, but everyone else is unlisted.

Right now, unless the person who commits a patch remembers to 'props', the person who submits a ticket, or leads to a great discussion that drives the code to a solution in the comments, are never mentioned. This drives a wedge between coders and non-coders, as some people can help but they just may not be super coders.

Proposals:

1) When pulling a list of 'everyone who helped' for the credits page, also pull a list of all IDs who commented in the tickets that were commited and list as 'Also Contributed...'

2) In 'Recent Rockstars' (which is a manually culled list anyway), pull in the active awesome people in support, documentation, codex, manuals, training, and WordCamps (for example). Include people in UI who contribute screenshots/design/wireframes that drive changes.


People who contributed to this ticket:

* ryanimel
* saracannon
* brandondove
* theandystratton
* tomwillmot
* SiobhanP (aka raggedrobins)
* ryan duff
* Lisa Sabin-Wilson
* js_zao
* vegageek
* andrea_r
* ipstenu

If I got your logins wrong, sorry.",Ipstenu
17146,Don't limit screen meta tab CSS to content within #screen-meta,koopersmith,Help/About,3.1,normal,normal,Future Release,enhancement,new,has-patch,2011-04-15T20:36:40Z,2012-11-01T05:52:09Z,"Currently, the styles for screen meta tabs are limited to items within #screen-meta. I think we should use the .screen-meta-toggle class instead, so these styles can be used elsewhere in the admin without duplicating the CSS.

I ran into this problem when working on the fullscreen plugin and adding a help tab, but not inside #screen-meta.",koopersmith
21341,Explain Site and User count update frequency in Network Admin contextual help,,Help/About,,normal,trivial,Awaiting Review,enhancement,new,has-patch,2012-07-22T01:03:00Z,2012-07-22T01:03:00Z,"While adding a bunch of sites to a multisite install today, I noticed for the first time that the counts (option `blog_count`) for sites and users in the Right Now box don't update immediately. I was confused, but then saw [[ticket:15170]] which moved the count update to a twicedaily cron for scalability reasons.

It may be helpful to include this information in the contextual help for others who will find themselves confused. Attached patch is an attempt at that.",jeremyfelt
23687,Filter Contextual Help Label,,Help/About,3.5,normal,normal,Awaiting Review,enhancement,new,close,2013-03-04T11:54:04Z,2013-03-04T17:40:07Z,"The contextual help feature is a great way to add help to themes and Plugins. However, we often find that our theme/Plugin users do not even notice the generic 'Help' button on the top right of the admin screen.

It would be useful to be able to customise this label to include the theme/Plugin name so users know this is help specific to that theme/Plugin and not just WordPress generated help.

Currently there is no way to filter the help label. It is fixed to 'Help'. I have included a patch that allows you to filter it to display your own custom help label such as 'Plugin Help', 'Theme Help' etc.

Usage is then:

{{{
function custom_label($label, $screen_id){

	global $options_page_id;
	
	if ($screen_id == $options_page_id)
		$label = __( 'Plugin Help' );

	return $label;
}
add_filter('contextual_help_label', 'custom_label', 10, 2);
}}}
",dgwyer
21583,Improve discoverability and visual design of Screen Options and Help Panels,,Help/About,,normal,normal,Future Release,enhancement,new,early,2012-08-14T22:34:05Z,2012-11-03T05:36:33Z,"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
14432,Role-based help text,garyc40,Help/About,3.0,normal,minor,Future Release,enhancement,assigned,has-patch,2010-07-27T18:53:00Z,2012-11-19T18:35:24Z,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
22557,"""Trash"" should be a name",,I18N,3.4.2,normal,normal,Awaiting Review,enhancement,new,close,2012-11-23T15:56:48Z,2012-12-19T04:39:57Z,"Hi there,

Not sure if this happens to other languages than pt_BR, but the string ''trash'' sometimes works bad when not as a name.

I would like to suggest to keep the word as a name and avoinding to flex it such ''Trash it, transhing'' etc, there is no need to singular and plural for it, I find silly ""Trashes"" in content tables since there is a counter next to the label.

That's all!",Dianakc
23758,Add hook after loading WordPress locale object,,I18N,3.5.1,normal,normal,Awaiting Review,enhancement,new,close,2013-03-13T14:58:37Z,2013-04-24T02:39:09Z,"We face some problems when we work on bbPress last month , see :[[BR]]
http://bbpress.trac.wordpress.org/ticket/2219

There is no proper hook to add roles ( an example ) in WordPress ,[[BR]] especially when you use a translated display name ..

You can also read some lame in bbPress source code [[BR]]
""This is kind of lame, but is all we have for now. ""

http://bbpress.trac.wordpress.org/changeset/4773",alex-ye
19760,Allow localization of language names in multisite,,I18N,3.3.1,normal,normal,Awaiting Review,enhancement,new,,2012-01-06T13:17:13Z,2012-11-22T03:45:37Z,"There is Site Language settings in multisite (General Options). But all available languages are in English, so there is English, Czech, etc. But when I switch to Czech language, there is still only Czech and not ""Čeština"". I am not sure if there is need to translate all languages, but there should be localized at least selected language (or all available languages).

It is caused by function format_code_lang() in ms.php (line 463) where are all language names hardcoded in English.",pavelevap
23721,Better control of textdomains.,,I18N,,normal,normal,Awaiting Review,enhancement,new,,2013-03-08T07:23:45Z,2013-03-08T13:19:37Z,"At the current state , loading a text domain is done by the plugin/theme author , and leaves no control to the user / other devs to intervene with this process. we are left to the mercy and good will of the original author .

It would be a good thing to create some HOOK or ACTION that will allow a user to override this somehow.

At the very least (and maybe it should be a different ticket) a function that will return all available $domain names and paths should be made available (currently no way of retrieving that but parsing the $i18n global)

Example : If a user need a  plugin/ theme that does not have a translation for my desired language , or a BAD translation (or no translation at all) the user then creates it´s OWN translation, and by dropping it inside wp-content/languages folder , that translation will be loaded instead of the one supplied (or not supplied ) with the original plugin / theme .

Current state : If a user loads a translation to the original plugin folder for translations, it will be deleted upon first update .

",krembo99
22916,Date/time format translations for front-end,nacin,I18N,3.5,normal,normal,3.6,enhancement,assigned,,2012-12-13T14:51:25Z,2013-03-01T15:00:29Z,"Hi.

Since the split of mo/po files between admin and front-end contexts, some resources that were useful for the front-end are now available only for admin. One of them is the date/time format: it's really great it's localized in the reading options panel, but the main purpose of the option remains the front-end and the way the dates and times are displayed, so we need the ""translations"" in the front-end po/mo files.

So the request is to switch the following strings from admin to general text domain:
* F j, Y
* g:i a
* F j, Y g:i a

Thanks.",npetetin
23311,Enable internationalization in PHPMailer,,I18N,3.5,normal,minor,Future Release,enhancement,new,has-patch,2013-01-28T16:37:06Z,2013-05-16T12:12:28Z,"Per the discussion in #23291, we should enable PHPMailer's internationalization feature so that any error messages returned by it and displayed to the user will be translated.",iandunn
20739,Improve Excerpt generation for non-english locales,,I18N,3.4,normal,normal,Future Release,enhancement,new,,2012-05-23T21:09:45Z,2012-05-30T13:58:18Z,"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
20738,Improve Javascript Word Counting for TinyMCE,,I18N,3.4,normal,normal,Future Release,enhancement,new,,2012-05-23T21:07:54Z,2012-05-30T13:57:17Z,"This is a follow on from #8759 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 know issues see the comments on the previous ticket.",westi
20491,Introduce some JavaScript i18n functions,,I18N,,normal,normal,Awaiting Review,enhancement,new,,2012-04-19T18:50:24Z,2012-04-19T21:55:22Z,"There's JavaScript code dotted around core that handles i18n in JavaScript (for example, localised thousands separators in the pending comment count). We should bring this together into a wpL10n JavaScript library that can be reused by plugins.

I've done some work on this and I'll get a patch up in the next day or so.",johnbillion
19716,Marking buttons and names in text,,I18N,3.3,normal,normal,Awaiting Review,enhancement,new,,2012-01-03T13:37:18Z,2012-07-11T13:43:51Z,"There is no united way to mention buttons, tabs, names etc in texts. 

Sometimes there are quotes around button name:

{{{
If you would like to see more themes to choose from, click on the &#8220;Install Themes&#8221; tab
}}}

Sometimes not:

{{{
You must click the Save Changes button at the bottom
}}}

Maybe there should be any rules? For users it could be better to see button names someway highlighted (quotes, strong, etc) and everytime it would be clear that it is mentioned button...",pavelevap
11226,Month name declension case,nbachiyski,I18N,2.9,low,minor,Future Release,enhancement,new,,2009-11-22T13:13:43Z,2012-10-19T22:41:46Z,"As I've reported previously, in order to fully translate WordPress into Polish (and probably many more languages), dates have to be declended. This was fixed in #9396, however proper translation into Polish still cannot be accomplished.

You see, the ""January 2009"" is something else for


{{{
""View posts published in January 2009""
}}}


and just


{{{
""January 2009""
}}}


In the former case, it's a locative. In the latter, it's simply a genitive. What needs to be done in order to fix this is passing some kind of information to the date_i18n filter, informing it of the case.

I suggest passing the declension case information (whether it's genitive, locative or something else). That should do it. :)",waclawjacek
7098,Multiple entity codes in POT file for the same character,,I18N,2.5.1,normal,normal,Future Release,enhancement,new,has-patch,2008-06-05T11:33:12Z,2012-01-07T03:27:15Z,"In the wordpress.pot file, two characters are represented by both their numbered and lettered HTML entities.  These are:

'''Em-dash:''' the POT file contains both &#8212; and &mdash;

'''Right angle quote:''' the POT file contains both &#187; and &raquo;

I'm not sure if it matters but it certainly is a little inconsistent.

",leuce
17128,POMO library performance considerations,,I18N,,normal,normal,Future Release,enhancement,new,has-patch,2011-04-13T20:21:18Z,2012-11-10T07:57:38Z,"Profiling a localized WordPress instance with WPLANG defined as 'de_DE' on my testbed shows that loading the .PO files for WP core and TwentyTen increases the frontend runtime by about 45 percent and the backend runtime by about 30 percent.

This is the profiling environment:

* WordPress 3.2-bleeding r17633
* TwentyTen 1.1
* No active Plugins
* Idling webserver on localhost
* Apache 2.2.9
* PHP 5.2.6
* MySQL 5.0.67
* Xdebug 2.1.1
* webgrind 1.1
* Windows 7 SP1

Without WPLANG defined, runtimes for various code paths are as follows:

* Front page with 10 simple posts: 2300 ms
* Admin Dashboard: 3000 ms
* RSS XML feed output: 1130 ms

With the de_DE l10n in effect, runtimes increase as such:

* Front page with 10 simple posts: 4300 ms
* Admin Dashboard: 4280 ms
* RSS XML feed output: 2950 ms

I wonder whether anyone is able to reproduce this grave performance degradation. A sample output from webgrind showing various POMO functions as the top offenders is attached.
",wet
22229,Plurals in JavaScript,nbachiyski*,I18N,,low,normal,Future Release,enhancement,accepted,has-patch,2012-10-19T19:25:40Z,2013-03-16T17:20:14Z,"This is something koopersmith needs in the media modal, and I've seen a few other recent use cases.",nacin
16876,"Separate msgid ""Post"" from wp-includes/post.php:1154 for the administration menu and custom menu creation screen",,I18N,3.1,normal,normal,Future Release,enhancement,new,has-patch,2011-03-17T15:56:51Z,2011-11-15T00:34:32Z,"Hey! It seems that both the custom menu creation screen and the administration menu bar are using the same translation. Could you please separate them? Here's the relevant bit of tags/3.1/wordpress.pot:


{{{
 2700 #: wp-includes/post.php:1154
 2701 msgctxt ""post type singular name""
 2702 msgid ""Post""
 2703 msgstr """"
 2704 
 2705 #: wp-includes/post.php:1154
 2706 msgctxt ""post type singular name""
 2707 msgid ""Page""
 2708 msgstr """"
}}}



Cheers!
WJ",waclawjacek
10005,"Some strings need ""no HTML entities"" translator comments",nbachiyski,I18N,2.7.1,normal,minor,Future Release,enhancement,reviewing,,2009-06-02T10:19:50Z,2009-11-23T21:30:48Z,"I've been putting a specific set of custom comments in my PO for some time now, and since WP is now able to handle translator comments very graciously, I think it would be nice to switch them over there.

The following strings need to have an indication warning translators against the inclusion of HTML entities within their translation, because of where the strings are user (RSS feeds, e-mail...). For instance, ""Protected Comments: "" should be translated to ""Commentaires protégés&nbsp;: "", but since it is used in feeds, it breaks them...

Suggestions comment: ""Do not add HTML entities (&nbsp;, etc): used in [context]"".

Here they are (sorry, raw list out of my PO file).

Used in feeds:
  - ""Comments on: %s"", wp-includes/feed-atom-comments.php:19 and wp-includes/feed-rss2-comments.php:22
  - ""By: %s"", wp-includes/feed-atom-comments.php:56 and wp-includes/feed-rss2-comments.php:48
  - ""Protected Comments: Please enter your password to view comments."", wp-includes/feed-rss2-comments.php:56


Used in e-mail:
  - ""Your new WordPress blog has been successfully set up at: ..."", wp-admin/includes/upgrade.php:229
  - ""New comment on your post #%1$s \""%2$s\"""", wp-includes/pluggable.php:968
  - ""Author : %1$s (IP: %2$s , %3$s)"", wp-includes/pluggable.php:970 and wp-includes/pluggable.php:1072 
  - ""E-mail : %s"", wp-includes/pluggable.php:971 and wp-includes/pluggable.php:1073
  - ""URL    : %s"", wp-includes/pluggable.php:972, wp-includes/pluggable.php:983, wp-includes/pluggable.php:993, wp-includes/pluggable.php:1059, wp-includes/pluggable.php:1066 and wp-includes/pluggable.php:1074
  - ""Whois  : http://ws.arin.net/cgi-bin/whois.pl?queryinput=%s"" and wp-includes/pluggable.php:973 and wp-includes/pluggable.php:1075
  - ""Comment: "", wp-includes/pluggable.php:974 and wp-includes/pluggable.php:1076
  - ""You can see all comments on this post here: "", wp-includes/pluggable.php:975
  - ""[%1$s] Comment: \""%2$s\"""", wp-includes/pluggable.php:977
  - ""New trackback on your post #%1$s \""%2$s\"""", wp-includes/pluggable.php:980
  - ""Website: %1$s (IP: %2$s , %3$s)"", wp-includes/pluggable.php:982 and wp-includes/pluggable.php:992
  - ""Excerpt: "", wp-includes/pluggable.php:984 and wp-includes/pluggable.php:994
  - ""You can see all trackbacks on this post here: "", wp-includes/pluggable.php:985
  - ""[%1$s] Trackback: \""%2$s\"""", wp-includes/pluggable.php:987
  - ""New pingback on your post #%1$s \""%2$s\"""", wp-includes/pluggable.php:990
  - ""You can see all pingbacks on this post here: "", wp-includes/pluggable.php:995
  - ""[%1$s] Pingback: \""%2$s\"""", wp-includes/pluggable.php:997
  - ""Delete it: %s"", wp-includes/pluggable.php:1000 and wp-includes/pluggable.php:1081
  - ""Spam it: %s"", wp-includes/pluggable.php:1001 and wp-includes/pluggable.php:1082
  - ""A new trackback on the post #%1$s \""%2$s\"" is waiting for your approval"", wp-includes/pluggable.php:1056
  - ""Website : %1$s (IP: %2$s , %3$s)"", wp-includes/pluggable.php:1058 and wp-includes/pluggable.php:1065
  - ""Trackback excerpt: "", wp-includes/pluggable.php:1060
  - ""A new pingback on the post #%1$s \""%2$s\"" is waiting for your approval"", wp-includes/pluggable.php:1063
  - ""Pingback excerpt: "", wp-includes/pluggable.php:1067
  - ""A new comment on the post #%1$s \""%2$s\"" is waiting for your approval"", wp-includes/pluggable.php:1070
  - ""Approve it: %s"", wp-includes/pluggable.php:1080
  - ""Currently %s comment is waiting for approval. Please visit the moderation panel:"", wp-includes/pluggable.php:1084
  - ""[%1$s] Please moderate: \""%2$s\"""", wp-includes/pluggable.php:1088
  - ""Password Lost and Changed for user: %s"", wp-includes/pluggable.php:1114
  - ""[%s] Password Lost/Changed"", wp-includes/pluggable.php:1115
  - ""New user registration on your blog %s:"", wp-includes/pluggable.php:1135
  - ""Username: %s"", wp-includes/pluggable.php:1136,  wp-includes/pluggable.php:1144
  - ""E-mail: %s"", wp-includes/pluggable.php:1137
  - ""[%s] New User Registration"", wp-includes/pluggable.php:1139
  - ""Password: %s"", wp-includes/pluggable.php:1145
  - ""[%s] Your username and password"", wp-includes/pluggable.php:1148




Used in visual editor (entities break it):
  - ""Edit Image"", wp-includes/js/tinymce/langs/wp-langs.php:421
  - ""Delete Image"", wp-includes/js/tinymce/langs/wp-langs.php:422


Used in an alert() message:
  - ""Enter a word to look up:"", wp-includes/script-loader.php:76


Obviously these were marked for my locale's need, I think all the strings pertaining to these context should be properly commented about this.

Hopefully it is not too late (and is quick enough) for inclusion with 2.8.

",xibe
6425,Support for RTL in feeds,nbachiyski,I18N,,normal,normal,Awaiting Review,enhancement,assigned,close,2008-03-27T20:56:51Z,2012-02-08T06:07:07Z,"In the current state of most Feed readers, the only surefire way to make RTL content display properly is to have directionality enforced inside the content - that is, either with {{<div dir=""rtl"">}}} tags inside CDATA or with Unicode directionality characters (for e.g., RLE and PDF, or &#8235; and &#8236;, 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
18218,Too many similar translation string,,I18N,3.2.1,normal,normal,Awaiting Review,enhancement,reopened,has-patch,2011-07-22T17:12:26Z,2012-06-06T18:30:59Z,"WordPress .po/.mo file is too big (3,312 strings). I know that we can't delete strings '''but''' we can reduce the file size by merging simmilar strings. WordPress has too many simmilar string. English developers don't notice this but non-english translators are frustrated by this when they have to translate the same string in 2 or 3 different variations.

I suggest to merge simmilar strings, this way will achive two things:

1. Smaller .po/.mo files.
1. Easier translation process as there will be less string to translate. I belive 200-300 strings less.

(Check out the bbPress ticket #BB1584 for more information and examples)

Few WordPress examples:

----

'''No login ID submitted'''
* wp-includes/class-pop3.php:168

'''no login ID submitted'''
* wp-includes/class-pop3.php:115

(change n->N)
----

'''You are not allowed to post as this user.'''
* wp-admin/includes/post.php:65

'''You are not allowed to post as this user'''
* wp-includes/class-wp-xmlrpc-server.php:2263

(add '.')
----

'''Log out'''
* wp-includes/general-template.php:189

'''Log Out'''
* wp-includes/admin-bar.php:92
* wp-admin/admin-header.php:165

'''Log out &raquo;'''
* wp-includes/theme-compat/comments.php:73

'''Log out of this account'''
* wp-includes/theme-compat/comments.php:73

(change all to ""Log Out"")
----

'''Log In'''
* wp-includes/general-template.php:261
* wp-login.php:627
* wp-login.php:646
* wp-admin/install.php:144
* wp-admin/install.php:238

'''Log in'''
* wp-includes/general-template.php:187
* wp-login.php:419
* wp-login.php:444
* wp-login.php:475
* wp-login.php:531

(change all to ""Log In"")
----

'''E-mail'''
* wp-includes/theme-compat/comments-popup.php:80
* wp-login.php:520
* wp-admin/user-new.php:229
* wp-admin/user-new.php:291
* wp-admin/comment.php:160
* wp-admin/includes/class-wp-users-list-table.php:165
* wp-admin/includes/template.php:356
* wp-admin/user-edit.php:329

'''Email'''
* wp-includes/comment-template.php:1525

'''E-mail address'''
* wp-admin/options-general.php:104
* wp-admin/options-general.php:123

'''Your E-mail'''
* wp-admin/install.php:128
",ramiy
22225,WordPress does not localize ordinal suffixes in dates,,I18N,3.4.2,normal,normal,Awaiting Review,enhancement,new,dev-feedback,2012-10-19T08:39:08Z,2012-12-26T01:48:11Z,"In wp-includes/functions.php function date_i18n(), elements like month, month abbreviation, weekday etc.. are localized but not the ordinal suffixes (e.g. st, nd, rt, th)

effect: when using the ordinal suffixes for dates 

e.g. 
{{{
<?php the_time('F jS, Y'); ?>
}}}
 
on translated/localized page page, the month name is translated (F) but the ordinal suffix no.

Not browser/OS/environment dependent.",mihaimihai
23794,load_plugin_textdomain fails if plugin is loaded from mu-plugins,,I18N,3.5.1,normal,minor,Future Release,enhancement,reopened,,2013-03-16T09:48:38Z,2013-05-08T12:43:08Z,"load_plugin_textdomain is realative to WP_PLUGIN_DIR, so it fails to load localization files if plugin keeps them in its directory. 

The function should check if is called from mu-plugins and use WP_MUPLUGIN_DIR in that case.

I can fix this in my own plugin by adding '../mu-lugins/' like this:

{{{

  load_plugin_textdomain( 'tiny_tribuna', false, '../mu-plugins/'.dirname( plugin_basename( __FILE__ ) ) . '/languages/');
}}}
 

but this is not a good option for other plugins.
",ideag
4010,Add Image Importing to the Blogger Importer,Workshopshed,Import,,normal,normal,WordPress.org,enhancement,reopened,,2007-03-21T20:21:28Z,2013-04-09T15:59:14Z,"The new blogger importer currently does a great job of bringing the blog over to WP, but it leaves the images associated with the blog on blogger.com and/or blogspot.com.  This violates blogger's TOS and risks having the user's image links blocked by blogger.  This change will move those images (using the WP image upload facility, of course) to the user's blog and fix the links as the import is done.",clwill
4555,Better Typepad / MT Import - Atompub importer,lloydbudd,Import,2.3,normal,minor,WordPress.org,enhancement,new,,2007-06-28T03:16:12Z,2011-09-15T17:17:07Z,"Typepad in particular does some really funky things with permalinks. They often have no relation to anything in the title, and none of their ""slug"" information is contained in their standard export, so there is literally no way to redirect those links.

It is possible to create a custom Typepad template that includes the needed information, and modify the WP importer to parse the extra info into slugs. Right now this is a hack, we should make this more intuitive.",matt
21913,Detecting MIME Types in WXR Files,,Import,3.4.2,normal,normal,WordPress.org,enhancement,new,dev-feedback,2012-09-17T21:09:07Z,2012-10-10T21:46:11Z,"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
4611,Dotclear importer for WP 2.3: flatimport,,Import,2.3,low,minor,WordPress.org,enhancement,new,,2007-07-11T13:37:57Z,2011-08-04T10:30:33Z,"This importer import '''posts''' (''users, comments, tags, categories''), '''links''' (''categories'') into WordPress 2.3 from a Dotclear '''export flat file'''. A restart procedure allows the import of big blogs.

It's the importer for a Dotclear 2 blog. It imports also from a Dotclear 1.2.x blog (note that the embedded Dotclear importer imports from Dotclear 1 only).

Download the [http://cvie.free.fr/public/flatimport.zip] ; a tutorial is embedded with the flatimport.php script.",albaran
8455,Enhance usability in Wordpress Import - preselecting matching authors,tott,Import,,normal,normal,WordPress.org,enhancement,new,,2008-12-02T09:27:03Z,2012-09-10T10:21:11Z,"To increase usability in wordpress imports, especially for imports with many users or imports that are rerun a preselection of authors would increase usability.",tott
6393,Export & import blogroll with categories,,Import,,normal,normal,Future Release,enhancement,new,,2008-03-26T17:01:38Z,2012-08-17T09:04:11Z,"I have attached a patch which will export Blogroll OPML file having a category attribute in it. It is valid to have a category attribute in outline tag. Generated OPML file by wp-links-opml.php has been validated by http://validator.opml.org/.

I have also updated link-import.php and link-parse-opml.php files in wp-admin to parse category attribute and create link_category in database if it does not exist and assign link to that category.

This enhancement will automatically export and import link-categories with links.",jayminkapish
3632,Export gzip support,,Import,2.1,normal,normal,Future Release,enhancement,new,dev-feedback,2007-01-22T13:11:42Z,2011-02-07T06:51:22Z,"The ticket may be similar to #3178, but it is not, because we control the WordPress process.[[BR]]

Importing a wordpress.xml file to another wordpress may fail due to an upload_max_filesize and post_max_size directives in php.ini. You know that many web hosts allow only an upload_max_filesize of 2 MB. Though, compression is a great help.

A simple solution is, on one side, offering an ''option'' to compress in GZ format the xml file when exporting, and, on the other side, the WordPress importer will accept the compressed file.

And, when possible, WordPress importer should accept compressed files from other formats and blogs.[[BR]]
Just say you only accept one compression format (gz, zip, etc) and the user will comply.",PozHonks
8984,Import ... default author,,Import,2.7,normal,normal,WordPress.org,enhancement,new,,2009-01-28T23:40:11Z,2012-09-10T10:00:15Z,"Suggest import.html contain an optional default author entry box (numeric or alpha lookup). The entry here would become the default author if a valid post_author is not found in the imported posts. This default author would apply to all posts that are part of the import.

I am told WordPress import does allow for a author during import.  I know RSS does not.

To be determined is if this default author should override valid author data - I would think it would.

An advanced feature would be to allow both a number author_ID or the friendly string-based author name to be entered and import.php would try to determine if the friendly name is unique. If not present a list of friendly names along with their blogs and allow the user to select the specific author. ",oregondean
7644,Import Movable Type data using AtomPub.,westi*,Import,,normal,normal,WordPress.org,enhancement,accepted,close,2008-08-29T20:33:52Z,2011-09-15T17:17:13Z,This is a split ticket from #7543. This includes the latest Movable Type portion of the code.,cavemonkey50
7543,Import TypePad data using AtomPub.,westi*,Import,,normal,normal,WordPress.org,enhancement,accepted,needs-review,2008-08-19T02:44:26Z,2011-09-15T17:17:11Z,"First off, I want to mention that TypePad updated their AtomPub server a few days ago, and their server does not seem to be sending comments. With a little luck, my current code should work fine once that server starts functioning again, but for the time being I would highly recommend not committing this into core.

Instead, I'm hoping people can look over the code and offer suggestions for improvement, test results, etc. While the Summer of Code is officially over today, I will be working on this until the job is done.

Alright, now to what this is. As some of you may know, I've been working on an Atom Publishing Protocol ([http://www.rfc-editor.org/rfc/rfc5023.txt RFC 5023]) based importer this summer for the Google Summer of Code. The diff attached is the latest version of my work.

The advantages of using the Atom Publishing Protocol are as follows:

 * Nothing has to be done in the old blogging software to prepare for import (no export files, etc). Users just enter their blog URL, username, and password and the importer grabs all of the data using AtomPub.
 * More data is imported compared to the old importers, especially with TypePad. Post slugs, comments, trackbacks, tags, categories, excerpts, etc are all imported. Everything used for posts in MT/TypePad is imported using AtomPub.
 * The Atom Publishing Protocol is an established standard. With the exceptions of tag additions (which don't necessarily need updates), the importer should not have to be changed and should continue working well into the future.

I should mention there is one drawback to using the Atom Publishing Protocol. For the time being, it appears pages can not be retrieved using AtomPub. They were retrievable a few weeks ago, and I'm currently talking with Six Apart to see what happened.

I would greatly appreciate any and all feedback. Let me know your suggestions, and I'll be happy to incorporate them.",cavemonkey50
22988,Import blogger site from its exported  XML file,,Import,,normal,normal,WordPress.org,enhancement,new,,2012-12-18T05:45:07Z,2013-01-22T18:52:34Z,I saw that wordpress.com has an option to do that.,mark-k
22041,Importer dies silently when multisite upload limit is reached,,Import,,normal,normal,WordPress.org,enhancement,new,,2012-09-28T17:58:57Z,2012-09-28T18:03:31Z,"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
23466,In user selection WXR importer should not suggest importing to subscriber,,Import,,normal,normal,Awaiting Review,enhancement,new,,2013-02-13T07:17:21Z,2013-02-13T07:17:21Z,"right now when associating a user from the WXR file with a wordpress user there is a dropdown containing all users. IMO there is no point in even offering associating with a subscriber as he will not be able to edit anything related to the imported content, and including subscribers can make the list needlessly long.",mark-k
7061,RSS import should store <description> as excerpt if <content:encoded> is present,,Import,2.5.1,normal,normal,WordPress.org,enhancement,new,,2008-05-29T11:47:32Z,2012-09-10T09:45:24Z,Currently the <description> tag is only used as content if no <content> tag is found.,koke
16294,Remote WXR Import,duck_,Import,,normal,normal,WordPress.org,enhancement,reviewing,,2011-01-19T01:02:00Z,2012-09-10T10:19:03Z,"The attached patch allows a user to submit a URL pointing to a WXR import file, rather then uploading it. The purpose of this is to allow people to import a WXR file that is larger then their server's max_upload_size/max_post_size php.ini settings.",belaraka
22994,Remove 'blogroll' from the import options,,Import,3.5,normal,normal,Awaiting Review,enhancement,new,has-patch,2012-12-18T17:53:16Z,2012-12-18T20:52:24Z,"Now that we've dropped links (#21307), we shouldn't encourage importing them. It'll just confuse the newbies.

This will require a change to http://api.wordpress.org/core/importers/1.0/, so while we can clean up /wp-admin/includes/import.php (attached) it won't matter till that's scrubbed. Maybe upgrade that to 1.1 so people who are on older WP are left alone?",Ipstenu
5678,Respectfully strip newlines in some importers,hansengel*,Import,2.5,normal,normal,WordPress.org,enhancement,accepted,,2008-01-16T11:20:02Z,2012-09-10T09:44:42Z,"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 {{{<br/>}}} 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, '<code') !== false || strpos($curl, '<pre') !== false || strpos($curl, '<kbd') !== false || strpos($curl, '<style') !== false || strpos($curl, '<script') !== false) {
			$next = false;
		} else {
			$next = true;
		}
		$output .= $curl;
	}
	return $output;
}
}}}

Thoughts?",jdub
12227,Tags are converted to categories upon importation of content from Blogger,,Import,2.9.1,normal,normal,WordPress.org,enhancement,new,,2010-02-14T18:24:13Z,2012-05-24T22:32:40Z,"When I imported posts from my old blog at Blogger/Blogspot, all the tags used for the Blogger posts were converted to categories in WP.  ",dwstultz
8822,Use SWFUpload on importer tools,,Import,,normal,normal,WordPress.org,enhancement,new,,2009-01-08T19:33:36Z,2012-09-10T09:53:41Z,"Attached is a patch that does the following:

 * Enables support for the lj-user tag, and creates a link to that user's homepage (with class=""lj-user"" for styling purposes) - fixes #5840
 * Converts lj-cut tags to <!--more--> tags and removes all but the first one
 * Provides the SWFUploader for the uploading files (impacts Blogware, MovableType/TypePad, RSS and WordPress importers as well)
 * Adds some user-friendly instructions on how to export from LJ properly
 * Removes the use of /e in preg_replace() for {{{livejournal.php}}} as detailed in #8689
 * Adds the title of the post to the output in the RSS importer as well (since all the others do that)

This patch was developed based on r10331",beaulebens
15219,WordPress importer UX/UI review,,Import,,normal,normal,WordPress.org,enhancement,new,,2010-10-26T09:22:52Z,2012-07-23T19:08:41Z,"The newly improved WordPress WXR importer needs some UX love to improve it further!

A few things that I know need improving:

'''Results and feedback'''
Currently you will either see ""All done. Have fun!"" or a list of errors and ""All done. Have fun!"". Clearly this isn't really enough information. The old importer listed every single item being imported and associated errors, which I thought was too much information for a large import. My thoughts was to do something like show the red error message block if any errors occur and have a JS enabled link in this to show a more detailed list of items that were not imported, followed by a table of results displaying the number of succeses, failures and skips (for content already present) for each of the separate sets of data imported.

'''Error strings'''
These need to be useful, there's not much point in saying something went wrong but not giving enough information to diagnose the real issue. They also need to be displayed well (see above), an example of a weird one is trying to import a WXR 1.0 file with an author with a display name non-[a-zA-Z].

'''Other'''[[BR]]
The fix for #13627 needs to be done properly. The role a new user will be imported as is now being displayed but I don't think it's prominent enough yet. You'll see that it's mentioned on step two when choosing how authors will be imported, but if you're someone like me who often only skims instructions it is pretty easy to miss. Maybe some bold/highlighting and another reminder on the final screen?

Anything else people notice as not clear enough when giving the importer a test.",duck_
19225,WordPress-Importer : Perform less database queries when backfilling attachment urls,duck_,Import,,normal,normal,WordPress.org,enhancement,assigned,has-patch,2011-11-10T12:36:42Z,2011-11-11T08:20:11Z,"The current backfill_attachment_urls() approach causes a REPLACE query for each attachment url. This can cause the invalidation of a lot of data and also cause MySQL replication lag in some cases.

The attached patch will make sure to bundle these requests and perform only maximum of one db update per post.
",tott
3398,import data from Geeklog,,Import,,normal,critical,WordPress.org,enhancement,reopened,,2006-11-28T05:19:12Z,2011-10-03T08:16:00Z,"I recently converted my blog from geeklog to wordpress, and wound up converting the existing TextPattern importer to be able to pull data directly from a Geeklog database and import it to Wordpress.

The importer is incomplete, but usable, and currently imports categories, users, posts, and comments.  It pretty much does what I needed it to do, and I'm sure someone else can make use of it, and possibly clean it up better.",justdave
12578,import from movable type doesn't import tags or basename,,Import,3.0,normal,normal,WordPress.org,enhancement,assigned,has-patch,2010-03-11T00:58:46Z,2010-10-30T18:44:26Z,"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
11338,Custom Walker initialize error,,Inline Docs,2.9,normal,normal,Future Release,enhancement,reopened,,2009-12-05T17:24:42Z,2010-10-28T09:40:46Z,"While I was delvoping a customer walker for my wp_list_pages, I was having trouble getting it to read my customer extended class of Walker_Page. I was talking with DD32 last night and he came up with the solution..

{{{
wp_list_pages(array('walker' => 'new Walker_Page_Rabbit', 'title_li' => '', 'depth' => '1')); 
}}}

...instead of...

{{{
wp_list_pages(array('walker' => 'Walker_Page_Rabbit', 'title_li' => '', 'depth' => '1')); 
}}}

Clearly the reason for including the ""new"" was because in the 'category-template.php' and 'post-template.php' had...

{{{
 	if ( empty($r['walker']) )
 		$walker = new Walker_Page;
 	else
		$walker = $r['walker'];
}}}

I found out that having 'new' in the 
{{{
$r['walker']
}}}
..caused a mismatched argument in the...

{{{
return call_user_func_array(array(&$walker, 'walk'), $args);
}}}

'new' would be passed on. Once I changed the code in the 'core' to include the new and I would define just 'Walker_Page_Rabbit' in the 'wp_list_page' and it worked perfectly.

{{{
 	if ( empty($r['walker']) )
 		$walker = new Walker_Page;
 	else
		$walker = new $r['walker'];
}}}

This is a major blocker for any people who are working on customer walkers. Attached is a patch that does work.
				",ShaneF
23914,Document WP_Dependencies,,Inline Docs,,normal,normal,Awaiting Review,enhancement,new,has-patch,2013-03-31T05:58:42Z,2013-03-31T17:31:49Z,"The code in `wp-includes/class.wp-dependencies.php` needs better documentation. Three confusions in particular:

1. $args has a different meaning in WP_Dependencies and _WP_Dependency. In the first, it is a way to append query strings to the URL's. In the second it is a generic 5th parameter used by the API functions wp_register_*() and wp_enqueue_*(). In class WP_Styles it stands for $media. In class WP_Scripts it stands for $in_footer.

2. `$handle` sometimes means the registered `handle`, and other times means `handle?args`.

3. `$group` stands for page placement in WP_Styles (0=header, 1=footer), and is unused in WP_Scripts (false). But a prominent comment uses the word ""Groups"" to describe something entirely different, a registered item with dependencies but no src. In my proposed documentation I use the word ""Alias"" for this meaning. An example of an alias is in wp-includes/script-loader.php:
{{{
add( 'scriptaculous', false, array('scriptaculous-dragdrop', 'scriptaculous-slider', 'scriptaculous-controls') );
}}}

Patch attached. No code changes.

An example of contributors not knowing about Confusion 2 is #13078.",kitchin
20425,Documentation Issues,,Inline Docs,3.4,normal,minor,Awaiting Review,enhancement,new,,2012-04-12T08:35:14Z,2012-11-19T20:08:23Z,"New ticket as per [http://core.trac.wordpress.org/ticket/19756#comment:18 Nacin's request].

http://docs.garyjones.co.uk/wordpress/3.4-beta1/errors.html shows the documentation errors (missing / incorrect arguments `@param` tags, missing short descriptions, missing DocBlocks at the file-level and structural element level etc.) when run against 3.4-beta1.

It doesn't include things like missing `@since` tags, version numbers not always being 3 digits, or some other bits, but getting the listed 2693 errors fixed would be a great start to a more complete API documentation.",GaryJ
19203,Fixed a couple of function descriptions in wp-includes/plugin.php,,Inline Docs,1.5,normal,normal,Awaiting Review,enhancement,new,has-patch,2011-11-08T05:53:54Z,2012-09-17T21:28:25Z,"There were a couple of errors I found in the function docblocks while tinkering in the plugins.php file as well as a confusing example, so here's what I fixed:

'''add_filter()''':
It mentioned filters were for modifying ""strings"", which isn't correct since you can also use filters to modify arrays, etc., so I changed the docblock to reflect this.
I also changed the example code to {{{ var_dump($example); }}} instead of {{{ echo $example; }}} since echoing arrays/objects etc. will cause an error.

'''apply_filters()''':
The example code block was confusing since it specified a filter function, but didn't show it being added and then just called apply_filters(), which I didn't notice the relation at first.
I added the {{{add_filter()}}} function in the code example for a clearer example so the reader will better understand the usage of this function.

'''_wp_call_all_hook()''':
A mysterious '''$hook''' parameter was defined in the docblock, however the parameter simply doesn't exist.  Not sure if this was a passing thought or someone falling asleep while writing it, but I've removed it from the docblock.

Thanks!",amereservant
16750,Improve inline docs for l10n functions,,Inline Docs,3.1,normal,trivial,Awaiting Review,enhancement,new,has-patch,2011-03-04T19:22:29Z,2011-07-15T21:43:09Z,"Changes to the inline documentation in WordPress 3.1.

These are documentation changes only.",CharlesClarkson
16809,Inline Documentation Standard for Filters,,Inline Docs,3.1,normal,trivial,Awaiting Review,enhancement,new,,2011-03-09T20:11:02Z,2013-02-09T08:00:18Z,"I was hoping to get some insight on how to document filters as they are applied in a function. I'm referring to the use of the apply_filter() function inside a WordPress function, not for the use of the add_filter() function.

I thought to use something like one of these, but wanted some input on whether either was complete enough.

{{{
 * @uses apply_filters() for 'wp_admin_bar_class' providing 'WP_Admin_Bar' as the default class.

 * @note Adds the 'wp_admin_bar_class' filter to allow changing the default 'WP_Admin_Bar' class.

 * @link http://codex.wordpress.org/index.php?title=Plugin_API/Filter_Reference/wp_admin_bar_class
}}}
(Note: The link doesn't work yet. it is established from the [http://codex.wordpress.org/Plugin_API/Filter_Reference#Admin_Bar Plugin API/Filter Reference])

I tend to look at inline docs as I use them (to update the codex and to research solutions) and that may not fit with other uses. I would rather not have to go back (too many times) because the my standard was useless to other users.


Thanks,",CharlesClarkson
16615,More inline docs needed to explain DB errors esp. dead_db() and effects of WP_DEBUG,,Inline Docs,,normal,normal,Awaiting Review,enhancement,new,needs-docs,2011-02-22T21:42:58Z,2011-02-23T06:29:19Z,"'''The Problem: DB Error reporting can't be modified'''

I'm trying to set my sites up for some scheduled downtime of our (separate) MySQL server. I am hoping that I can show cached pages if they are requested, but show a 'We are down for scheduled maintenance' message when a user loads a page that needs the database. 

In the process I'm seeing there are many different places in the code that fire depending on exactly how broken the database is. Specifically, there are some scenarios where `dead_db()`, which is totally different from the rest of the messages, will fire. dead_db() is cool because it promises to let us use a `/wp-content/db-error.php` file to control output in case of a db error, but currently it is just frustrating because most types of db error (server missing, db missing) don't cause `dead_db()` to fire, but instead use `$wpdb::bail()`. These bail()-based errors are used in wp-db.php. 

However `dead_db()` CAN still fire, which I know because our site often has database outages that result in the H2 from `dead_db()` being shown. I think it's a certain mix of ""the mysql server and database seem to exist, but are failing to respond to actual queries"". That said, I'm pretty sure that the scenarios where dead_db still fires are ones also covered by some of the `$wpdb::bail()` situations, and would be better off handled by one consistent system of errors. dead_db() should either be used for all DB related errors or deprecated, otherwise it is just an awkward red-herring for developers.

'''The Solution: Better filters on `$wpdb::bail()`'''

I think that all these messages need to be pluggable somehow and it should be clear how to do so when looking at the code itself. Asking people who want to change a wp_die() message to find it in the code is reasonable, but it should be clear from there how to change it. Ideally there would be a filter in the function that calls bail() that lets you edit the text and/or forward the user to another URL where a maintenance message lives. It should be of of those situations where finding the source of the message also finds the means of changing it.

The simplest answer would be a filter added in `$wpdb::bail()` that used the $error_code to identify the specific message. In the database errors the $error_code passed to bail() are useful slug-type strings like 'db_select_fail'. Something like:


{{{
apply_filters('wpdb_bail', $error_code, $message);
wp_die($message);
}}}



This would give people a lot of control, and could easily be referred to in a comment before any given instance of `$wpdb::bail()`.

To make the $error_code easier to find I think it's also worth reformatting the code used to call `$wpdb::bail()`. Currently it takes this form:

{{{
$this->bail( sprintf( /*WP_I18N_DB_CONN_ERROR*/""
...
SUPER LONG HTML MESSAGE
...
""/*/WP_I18N_DB_CONN_ERROR*/, $details['db_host'] ), 'db_connect_fail' );
}}}

This makes it hard to notice the 'db_connect_fail' string all the noise. Instead the message perparation and bail() call should be on two lines, one for defining the message and another that only calls bail (with an explanation about the $error_message and filter above it).

Looking at it deeper I imagine I can achieve what I want by hooking into the 'wp_die_handler' filter, checking for the exact HTML generated by the DB error (the `$message` value in the code above), and doing something based on that, but it's obviously a house of cards for future updates where the text might change. It will also be easily foiled by any translation of the `$message` which will change its output.


",jeremyclarke
19906,Quicktags docs recommend code causing JS error: Uncaught ReferenceError: QTags is not defined,,Inline Docs,3.3.1,normal,trivial,Awaiting Review,enhancement,reopened,dev-feedback,2012-01-27T01:05:44Z,2012-01-27T17:35:31Z,"
Right now the docs for qt.addbutton in quicktags.dev.js have the following text:

{{{
	 * If you are echoing JS directly from PHP,
	 * use add_action( 'admin_print_footer_scripts', 'output_my_js', 100 ) or add_action( 'wp_footer', 'output_my_js', 100 )
}}}

This works, but if you add the QTags.addButton() calls on those hooks then they will cause JS errors on any screen without an editor:

{{{Uncaught ReferenceError: QTags is not defined}}}

The issue is avoided if you use the other option, enqueuing a script dependent on 'quicktags', but that is a lot more work and forces all pages in the admin to load the quicktags script unnecessarily. 

Maybe there is some way to magically make calling QTags.addbutton() safe no matter what, but I think at minimum we need to add a note to the PHPdoc about checking QTags before using it, as that solves the problem pretty simply:

{{{
 if ( typeof QTags != 'undefined' ) {
	QTags.addButton( 'gv_translation', 'translation', '<div class=""translation"">', '</div>' );
}
}}}

So the phodoc could say :

{{{
	 * If you are echoing JS directly from PHP use
	 *	add_action( 'admin_print_footer_scripts', 'output_my_js', 100 ) 
	 * or 
	 *	add_action( 'wp_footer', 'output_my_js', 100 )
	 *	
	 * If echoing the addButton calls directly instead of enqueing with the 'quicktags' dependency
	 * make sure to check that the QTags object is defined first, otherwise your code will throw errors 
	 * when no editor is present:
	 *	if ( typeof QTags != 'undefined' ) { QTags.addButton(...) } 
	 *
}}}

The attached patch just adds that to the docs. If a committer has a preferred wording then just use that instead, obviously the patch didn't take me long :)

BTW: I created a Codex article with the docblock after not finding a reference to the new API anywhere other than in the JS file itself. Nacin's posts mentioned that they had changed but not what was new ;)

http://codex.wordpress.org/Quicktags_API

Clearly it needs work, I didn't want to put too much time into it at first because I didn't understand the system yet (as I'm learning now, by finding JS errors).",jeremyclarke
9927,deprecate category_description() in favor of get_category_description(),westi*,Inline Docs,2.8,normal,minor,Future Release,enhancement,accepted,has-patch,2009-05-24T14:30:03Z,2010-10-28T10:35:19Z,,ramiy
23122,inline doc improvements in WP_Filesystem_Direct and WP_List_Table,,Inline Docs,3.5,normal,trivial,Future Release,enhancement,new,has-patch,2013-01-04T17:49:42Z,2013-05-16T12:07:16Z,A pass over `WP_Filesystem_Direct` and `WP_List_Table` classes to improve inline docs. Any suggestions/improvements/critiques are welcomed.,bananastalktome
12009,"Add support for HTML 5 ""async"" and ""defer"" attributes",azaozz,JavaScript,,normal,normal,Future Release,enhancement,new,has-patch,2010-01-25T16:40:29Z,2012-10-24T18:55:25Z,"HTML5 supports async and defer attributes on script tags: http://www.w3.org/TR/html5/semantics.html#attr-script-async

Basic usage of these:

- ""async"" scripts get executed asyncronously, as soon as they're loaded. This lets them run without slowing down the page parsing (normally, all page processing stops while the javascript code is executing).

- ""defer"" scripts get deferred from running until page processing is complete. Sorta like jQuery(document).ready() does, except without pre-definitions. Faster, in other words, since it's built into the browser.

Correct usage would dictate that ""libraries"" like jQuery and such would get the async attribute, while bits of code that use the current DOM would get deferred. The defer bit is basically optional though, since most all code that exists uses something like jQuery(document).ready() already, when it's necessary, and so there's not a lot of benefit there.

The just released Firefox 3.6 supports the async attributes, so you can do testing with these immediately. I've noticed a speedup on the wp-admin side of things by using it, but I have not measured this and cannot be sure I'm not imagining it. Still, it does seem like it makes the page appear faster.
",Otto42
10832,Allow  different query paramter on suggest.js,azizur,JavaScript,,normal,normal,Future Release,enhancement,reviewing,has-patch,2009-09-23T16:45:34Z,2011-04-04T09:27:21Z,"The current suggest.js defaults to the ""q"" parameter for the query string.

This patch allows the user to define another parameter. If no parameter is defined, the script will default to ""q"".",yoavf
14356,Better string for onbeforeunload event dialog,,JavaScript,,lowest,normal,Future Release,enhancement,new,,2010-07-19T18:53:15Z,2010-11-18T10:57:46Z,"The WP string for this now is:

''The changes you made will be lost if you navigate away from this page.''

The resulting dialog is:

''Are you sure you want to navigate away from this page?

''The changes you made will be lost if you navigate away from this page.

''Press OK to continue, or Cancel to stay on the current page.

''[OK] [Cancel]

Which is repetitive and, it seems to me, confusing.

I was thinking we could change our string to something not repetitive that complements better the default strings.  E.g.:

''You have unsaved changes that will be lost!

Patch available upon request.",demetris
15381,Rework WP_Scripts to support named groups,westi,JavaScript,,normal,normal,Future Release,enhancement,new,,2010-11-10T21:59:49Z,2011-03-22T09:26:12Z,"Currently WP_Scripts has some ""special"" code for splitting things across header and footer and concatenating core scripts.

I would like to change it to support the following:

 * Named Groups - so we can have header, footer, ...
 * L10N awareness - so we can auto output the l10n.js file first if we need it - XRef #15124
 * Concatenation opt-out
 * Concatentaion opt-in for plugins.

I was working on this for #15124 until it became apparent that it wasn't right to do it for 3.1 - not enough time to fully test.",westi
23365,Add Option for user defined from_email,,Mail,,normal,normal,Awaiting Review,enhancement,new,,2013-02-02T03:25:47Z,2013-02-03T08:04:34Z,"As is admitted in pluggable.php in the wp_mail function, the default from address is not ideal. If set to wordpress@domain(dot)com, some hosts block the E-mail because it doesn't exist. If set to admin_email, some hosts block it because it's from an unknown domain.

The most natural answer to me is to add an option for this in the admin interface. This way, people with an issue, or simply trying to appear more professional, are able to change this without a plugin or adding code to their theme. Even if the option is pretty buried, a simple help doc could point folks to the right spot.

For proof of need, check out all the threads under http://wordpress.org/search/wordpress%40?forums=1",stevish
15534,Add more info to moderation emails,,Mail,3.0,normal,minor,Future Release,enhancement,new,has-patch,2010-11-21T23:43:41Z,2011-01-09T07:07:35Z,"When comments have been approved, include who approved it in the email that gets sent to admin saying there's a new comment. I.e.:

""Ryan approved this comment:
[current comment info in email]""",jane
7244,Disable POP auth when APOP fail,,Mail,2.3,normal,normal,Future Release,enhancement,new,reporter-feedback,2008-07-04T23:50:50Z,2009-06-13T17:47:33Z,"If APOP authentication is failed, class-pop3.php tries normal POP auth (USER/PASS).
When a server only accepts APOP authentication, the second process should be fail for sure.
It is nonsence and harmful, because the error message of first process (APOP) is over-written by second try (POP).

To solve the desmiss of APOP fail message, it is neccesary to disable normal POP authentication.
I propose a new class variable $ALLOWLOGIN to decide it.

Additonaly, $ALLOWAPOP is useless because it is no problem to fix it TRUE. (Removing this variable is not included in the patch)",lilyfan
18493,HTML E-Mails,westi,Mail,3.2,normal,normal,Future Release,enhancement,reviewing,early,2011-08-22T00:29:44Z,2013-04-13T16:33:09Z,"Wojtek worked on the Enhanced E-Mails project for GSoC this summer.  It's definitely something that would be nice to have in core.  The plugin already exists in the repository - [http://wordpress.org/extend/plugins/enhanced-emails/ Enhanced Emails].  There are still some things that need to be cleaned up in the code, but it works pretty well.

I'm hoping we can clean it up, test it, and get it in core. ",aaroncampbell
17678,Improved email validator,,Mail,3.2,low,minor,Future Release,enhancement,new,,2011-06-03T20:33:10Z,2011-06-03T20:36:46Z,"Ran into this while looking for a C library to do the same. The project seems to have some activity and traction, in case there's any interest:

http://code.google.com/p/isemail/ (BSD-licensed and unit-tested)",Denis-de-Bernardy
23420,"Lost password, invalid key - noticed something",,Mail,3.5.1,normal,normal,Awaiting Review,enhancement,new,close,2013-02-08T09:26:31Z,2013-02-22T18:22:52Z,"Hi there,

I have noticed something about the lost password/email retrieval that may be a bug or may help out with the number of requests this gets.

The link sent with the key and user name is surrounded with < and >

Some email clients are misinterpreting this link and including the > at the end of the user name which in turn kills the database query because the user name does not match.

I have run a couple of tests changing line 235 of wp-login.php to be:


{{{
$message .= network_site_url(""wp-login.php?action=rp&key=$key&login="" . rawurlencode($user_login), 'login') . ""\r\n"";

}}}

from


{{{
$message .= '<' . network_site_url(""wp-login.php?action=rp&key=$key&login="" . rawurlencode($user_login), 'login') . "">\r\n"";
}}}


This seems to sort the problem out.",demonpengu
18926,Provide with the ability to monitor emailing failures,,Mail,3.2.1,normal,minor,Future Release,enhancement,new,has-patch,2011-10-12T21:11:28Z,2012-02-27T16:18:09Z,"Add an action hook in 'wp-mail' function on catching 'phpmailerException' and before returning 'false'.


This way, a plugin may track all email sending failures.",npetetin
15594,"make pluggable the multisite/""wpmu"" mails",,Mail,3.1,normal,minor,Future Release,enhancement,new,,2010-11-27T11:45:35Z,2011-01-13T03:29:18Z,"such as the one that is generated in the first lines of

wp-admin/user-new.php",arena
7845,suggested wp-mail.php improvements,,Mail,,normal,normal,Future Release,enhancement,new,,2008-10-08T04:22:44Z,2009-08-19T12:15:06Z,"wp-mail.php is kind lacking in a bit of well, everything right now.

I don't know when if there are any currently open tickets or any planned improvements, but I just wanted to chip in two cents here. I've had a bit of a nightmare experience after trying to use it with a client. It was a large headache, to say the least. 

For some reason, it's displaying odd characters between words and some odd symbols (notably a mixture of = signs and random numbers) are also showing up. There is no option to strip HTML formatting, so that displays in posts too. It doesn't make use of the pseudo-cron. You have to either manually load wp-mail.php, use a cron, or load a frame onto the front page. Posts sent through the system are instantly approved and there's no option to hold it in the moderation queue. There's pretty much no options at all.

I really wouldn't mind working on this and submitting a patch if someone wanted me to. I was searching through trac and (I could be wrong) but this hasn't been touched since 2006 or earlier.
",anthonycole
23291,wp_mail should handle phpmailer exceptions instead of ignoring them,,Mail,3.5,normal,minor,Awaiting Review,enhancement,new,has-patch,2013-01-25T07:04:37Z,2013-03-04T07:12:02Z,"Right now code in wp_mail that call phpmailer looks like

{{{
	try {
		$phpmailer->Send();
	} catch ( phpmailerException $e ) {
		return false;
	}
}}}

or worse (not failing at all).

Yesterday had to hack core files to find out that an email address did not have a valid email format. Exceptions should either propagate in some way, or be reported to an error log.
",mark-k
15448,wp_mail() sets Content-Type header twice for multipart emails,nacin,Mail,,normal,normal,Future Release,enhancement,reviewing,has-patch,2010-11-17T12:15:04Z,2013-05-16T12:09:18Z,"When trying to send emails via `wp_mail()` with a Content-Type of multipart/alternative, the Content-Type header will be set with `$phpmailer->ContentType`, and again with `$phpmailer->AddCustomHeader()`, which causes two Content-Type headers in the email:
{{{
Content-Type: multipart/alternative;
	 boundary=""example_boundary""
Content-Type: multipart/alternative; charset=""""
}}}

This appears to cause errors in Outlook, as there is no boundary on the latter.

The cause of this is `PHPMailer::GetMailMIME()`, as it does not know that the email is a multipart email. The easiest way to achieve this appears to be to simply allow the user to set the AltBody via `wp_mail()`. In order to achieve backwards compatibility, `wp_mail()` should work out which part is the text/plain one and which is the text/html one based on the boundary.

I'll be working on a patch for this.",rmccue
18075,"""Scan for lost attachments"" should look for orphaned files in the /uploads/ folder",,Media,3.2,normal,normal,Awaiting Review,enhancement,new,,2011-07-11T23:19:25Z,2011-07-11T23:40:52Z,"I recently moved my blog over to another host, and just copy and pasted my /wp-content/uploads/ folder into the new destination. I've now got four years worth of media, but none of it is in the media library.

I assumed the button on the Media Library (under Unattached) would add these files to the database, but it didn't.

Extending this use case, this feature could also be used as a bulk ""these files are already on the server, I don't want to upload them"" (which is the only way to add files to the media library, no?) action.",shamess
23380,3gp mime support,,Media,3.5,normal,minor,3.6,enhancement,new,has-patch,2013-02-04T13:15:09Z,2013-02-05T11:58:09Z,Some devices using 3gp format for wp mobile app.,m_uysl
20547,Ability to define post attachment status on insertion,,Media,3.4,normal,normal,Awaiting Review,enhancement,new,dev-feedback,2012-04-25T20:57:48Z,2012-04-25T20:57:48Z,"By default, `wp_insert_attachment` will either set a new attachment as 'inherited' or 'private' - inherited being that it simply mimics the post status of its parent.

This is fine by default, but what about when wanting to run tests? For example, you have a live post that you want to add attachments to, but you want to ensure that the attachments (whatever they may be) are properly formatted before making them appear on your live post. By default, just uploading the attachment will push it live because it has inherited the published status of its parent.

Is this doable? What about filtering `$object` in the `wp_parse_args` function inside `wp_insert_attachment` to allow that property (along with the others - it makes sense to be able to filter them all) to be set?

Don't know how feasible it is, but if it's possible I'll work on a patch and tests.",griffinjt
12855,Add 2 filters on get_media_item(s) functions,,Media,,low,normal,Future Release,enhancement,new,has-patch,2010-04-05T11:04:08Z,2010-04-05T14:17:37Z,Allow plugin to add some content on media functions.,momo360modena
19872,Add Hook/Filter to image_resize_dimensions in media.php,,Media,3.3.1,normal,normal,Awaiting Review,enhancement,reopened,dev-feedback,2012-01-21T19:38:18Z,2012-01-21T22:23:46Z,"It would be great if a hook, a filter, a global, an option, or something somewhere were created to allow the image_resize_dimensions() function in media.php to resize images to be larger than the original. In a typical scenario I can understand why you would not want to allow this, however there are rare circumstances where this would be helpful (generating a background image). Currently lines 349 and 350 of media.php read:
{{{
$new_w = min($dest_w, $orig_w);
$new_h = min($dest_h, $orig_h);
}}}
and lines 378 to 380 read:
{{{
// if the resulting image would be the same size or larger we don't want to resize it
if ( $new_w >= $orig_w && $new_h >= $orig_h )
	return false;
}}}
It would be great if we were provided a boolean to alter these two blocks, for example:
{{{
if($allow_resize){
	$new_w = $dest_w;
	$new_h = $dest_h;
}else{
	$new_w = min($dest_w, $orig_w);
	$new_h = min($dest_h, $orig_h);
}
}}}
...
{{{
// if the resulting image would be the same size or larger we don't want to resize it
if ( $new_w >= $orig_w && $new_h >= $orig_h && !$allow_resize)
	return false;
}}}",webbtj
16989,Add a parameter or filter to get_media_items() for media type.,,Media,,normal,trivial,Awaiting Review,enhancement,new,dev-feedback,2011-03-28T16:19:55Z,2011-07-17T23:18:21Z,"It's a bit confusing IMO to have all media items appearing in the gallery tab of the media upload popup as it only deals with images. I'm making an audio player plugin with soundmanager2.js that uses an extra media upload tab to organise the uploaded audio files and insert a playlist shortcode into the post.

To do this I had to take a copy of get_media_items() with my filter hardcoded in. I can share my code if desired but it's not the prettiest, I'd like a more wordpressy way of doing this in future releases when you're able.",sanchothefat
23983,Add filter to get_post_thumbnail_id to override default thumbnail use,,Media,,normal,normal,Awaiting Review,enhancement,new,dev-feedback,2013-04-07T20:48:44Z,2013-04-08T00:43:56Z,"The current function for getting the post thumbnail ID, used in among others `get_the_post_thumbnail`, is as follows:
{{{
function get_post_thumbnail_id( $post_id = null ) {
	$post_id = ( null === $post_id ) ? get_the_ID() : $post_id;
	return get_post_meta( $post_id, '_thumbnail_id', true );
}
}}}

In my opinion, this needs a filter, so the user can override this by the attachment of his choosing, such as an Advanced Custom Fields image attached to the post.

Something like:
{{{
function get_post_thumbnail_id( $post_id = null ) {
	$post_id = ( null === $post_id ) ? get_the_ID() : $post_id;
	return apply_filters( 'post_thumbnail_id', get_post_meta( $post_id, '_thumbnail_id', true ), $post_id );
}
}}}

I know you can hook into the `get_{$meta_type}_metadata` filter, but getting the post thumbnail ID should still be possible by using get_post_meta, the other thumbnail should just be used for displaying.",Jesper800
18835,Add filter to image_resize_dimensions( ) return values,,Media,3.2.1,normal,minor,Awaiting Review,enhancement,new,has-patch,2011-10-01T16:14:39Z,2012-10-03T01:00:57Z,"Requesting a filter on the values about to be returned, including access to the function's original arguments.

Use case:
Currently, any cropping happens to images always crops to the top-left corner (0,0). Want to be able to write a plugin that will allow cropping with more options (say, crop out at the middle of the image, etc).",scottconnerly
13568,Add filters to media uploader,,Media,3.0,low,minor,Future Release,enhancement,new,,2010-05-27T01:02:56Z,2011-12-30T13:12:12Z,"In wp-admin > includes > media.php:

There should be a ""gallery_fields_to_edit"" filter similar to the ""attachment_fields_to_edit filter"", allowing gallery options to be filtered out. (Begins line #1749)

Additionally, it should be possible to disable the ""Insert into Post"" button below each image (I believe it's line #1239 of the current build).

I'm sorry, but my PHP knowledge is insufficient to write a working patch.",nudnik
23148,Add hook in wp_ajax_save_attachment for additional attachment fields,,Media,3.5,normal,normal,3.6,enhancement,new,has-patch,2013-01-08T19:25:07Z,2013-02-15T21:56:58Z,"As of now, `wp_ajax_save_attachment` only looks for the attachment title, caption, description and alt text fields. Without a hook, there is no way to extend the new media system properly and take advantage of the save functionality. 

There should be a hook provided at the end of this function (before the JSON response is sent back) that allows devs to update any additional attachment fields that have been rendered by extending the `media.view.Attachment.Details` subview.",griffinjt
23768,Add option to turn post gallery into a slideshow,,Media,,normal,normal,Awaiting Review,enhancement,new,close,2013-03-14T14:09:34Z,2013-04-04T05:10:18Z,"To build on the improvements to the WordPress Media manager, it would be great to have an option built-in to output a gallery as a slideshow.",ericlewis
20151,Add parameter for wp_embed_defaults(),,Media,,normal,normal,Awaiting Review,enhancement,new,has-patch,2012-03-01T20:08:17Z,2012-03-02T06:07:04Z,"If we can add a parameter (like $url) to wp_embed_defaults(), then people can filter more intelligently as WordPress extends to allow more and more oEmbed.

",wpsmith
20205,Add the ability to filter wp_get_attachment_image(),,Media,3.4,normal,normal,3.6,enhancement,new,dev-feedback,2012-03-08T20:21:16Z,2013-02-19T18:38:38Z,"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
21407,Allow filtering of upload resize dimensions,,Media,3.4.1,normal,normal,Awaiting Review,enhancement,new,dev-feedback,2012-07-28T18:00:19Z,2012-07-29T19:29:25Z,"Background: 

Plupload ships with a client-side upload resizer that was included with Core in 3.3 but had the action removed because of [http://core.trac.wordpress.org/ticket/19174 browser inconsistencies] so I implemented it as [http://wordpress.org/extend/plugins/enable-image-scaling-option-on-upload/ a plugin] at the time. Everything works just fine and dandy with zero problems except that the `resize_height` and `resize_width` vars are defaulted to the Large image sizes defined in media settings. It would be nice to be able to filter one or both of the dimensions outside the scope of the 'Large' size (when 'Original' becomes the same size as 'Large', you effectively lose an image size).

Patch attached.

You'll have to re-add this action to test:

`add_action( 'post-upload-ui', 'media_upload_max_image_resize' );`

Related: #19174, #19770",DrewAPicture
24285,Allow to filter AJAX attachments query args,,Media,,normal,normal,Awaiting Review,enhancement,new,,2013-05-08T08:41:24Z,2013-05-08T08:41:24Z,"Hi, I am currently working on plugin that shows only the author-attachments in the new WordPress Media Manger ( like [http://wordpress.org/extend/plugins/view-own-posts-media-only/ view-own-posts-media-only] plugin but more cleaner and smarter )

A filter to allow modify the AJAX attachments query is needed.",alex-ye
24019,"Allow user to specify image size when selecting ""Media File"" as ""Link To"" target for image attachments.",,Media,trunk,normal,normal,Awaiting Review,enhancement,new,has-patch,2013-04-10T00:39:26Z,2013-04-15T15:43:33Z,"Currently selecting ""Media File"" as the ""Link To"" target causes an embedded image to link to the originally uploaded file.  These files can be very large and there is no way to non-destructively resize them on upload while retaining this ""Link To"" functionality.

This enhancement patch adds a drop down list of available image sizes to the form (defaulting to Full Size - the existing behaviour) when ""Media File"" is selected, allowing the user to link to custom image sizes as specified in their themes or plugins if desired.

[[Image(http://dfcowell.net/wp-content/uploads/2013/04/attachdisplay.png)]]


[[Image(http://dfcowell.net/wp-content/uploads/2013/04/attachdisplay2.png)]]

This is a significant improvement over default functionality, especially when used in conjunction with a lightbox plugin.  It allows the user to retain the full-size image on the server while being able to specify a link to a smaller size if desired.",dfcowell
22548,Better behaviour when embedding oEmbed supported URLs,,Media,3.5,normal,normal,Awaiting Review,enhancement,new,,2012-11-23T00:11:57Z,2012-11-23T00:11:57Z,"If a user isn't aware that they can just paste the URL of a video from YouTube/Vimeo/etc into a post in order to embed it, then the user experience for embedding such content could do with some improvement.

In [http://make.wordpress.org/ui/2012/11/14/to-change-things-up-i-tested-a-different/ this recent user interaction test by lessbloat], the user was given a URL to a Vimeo video and asked to embed it into their post. The user clicked 'Add Media', switched to the 'Embed From URL' tab and pasted the URL there. All that happened was the URL to the video was inserted into the post as a formatted link (`<a href=""{url}"">{title}</a>`). This meant oEmbed didn't do its thing when the post was displayed and the user just ended up with a link to the Vimeo URL.

== What Should Happen ==

URLs inserted via the 'Embed From URL' tab in the media modal should be handled according to whether or not there's oEmbed support for the URL. To do this an AJAX request should be fired off to a new AJAX handler which reports whether there's oEmbed support for the URL. If there is, then a UI element (message/icon/something) should be shown indicating that the media will be embedded. As a bonus we could even grab the oEmbed data immediately and display the title/thumbnail/etc if it's relevant.

Note that if you paste a URL to an image file (gif/png/jpeg) you're immediately shown an interface for entering a caption and selecting the alignment and the link. This is nice behaviour and improves on the UI we had in 3.4.

----

This isn't specific to the new media modal because this has always been the behaviour, but marking as an improvement to trunk anyway (I'd call this a bug, but I'll leave it as an enhancement).",johnbillion
23594,"Categorization of files in Media Library (i.e. folders, tags, etc.)",,Media,3.5.1,normal,normal,Awaiting Review,enhancement,reopened,close,2013-02-23T10:16:26Z,2013-03-27T23:39:24Z,"Hi, the new media library is great but if you have a site with a lot of images, it is really hard to find anything.

My suggestion would be to allow admins to create a folder structure for media files, so that content can be grouped accordingly. If folders are not an option, then I would at least like to see tags as a taxonomy for media files. Anybody who has more than 100 files of media in the library can't possibly be happy about how they find their media.

Thanks for considering this. I know it's been a request in the forums for something like 3 years now, and there was a lot of hope in the community that the new media library would accommdate for this.

NextGen Gallery probably comes closest to what I am thinking of, but sometimes you don't want a bloated gallery plugin when all you want to do is categorize your media library files..
",titush
16251,Change attachment image uploads to have post_date corresponding to EXIF created date,,Media,,normal,normal,Future Release,enhancement,new,dev-feedback,2011-01-15T23:03:15Z,2011-07-23T15:30:02Z,"General idea is that if an image has EXIF data about its creation time, we should use that as the post_date in the attachment post, since the attachment post is the representation in WordPress of the attachment file.

Advantages: The posts will show their proper dates of creation by simply using the_date and similar functions.

This code will do it as a plugin. A patch would be much simpler and more generally beneficial.

{{{
add_filter('wp_update_attachment_metadata','attachment_redater',10,2);
function attachment_redater($data, $id) {
	if (!empty($data['image_meta']['created_timestamp'])) {
		$post=get_post($id);
		$post->post_date = gmdate('Y-m-d H:i:s', $data['image_meta']['created_timestamp']);
		wp_update_post($post);
	}
	return $data;
}

}}}
",Otto42
23843,Consolidate and filter get_attached_audio|video|images,helen,Media,,normal,normal,3.6,enhancement,reopened,,2013-03-22T07:42:29Z,2013-04-04T04:27:24Z,"Seeing as they are so very similar, we should probably just de-spaghetti and consolidate them into `get_attached_media( $type )`. Should also filter the args and the resulting arrays.",helen
21329,Consolidate filters and functions in wp-admin/includes/media.php,,Media,,normal,normal,Awaiting Review,enhancement,new,close,2012-07-20T20:28:59Z,2013-01-28T23:50:11Z,"in wp-admin/media.php, there are several functions that do similar things and could be combined, simplifying how they get used.",martythornley
17866,Copy adjustment in wp-admin/includes/media.php,,Media,,normal,trivial,Awaiting Review,enhancement,new,has-patch,2011-06-22T02:54:50Z,2011-08-10T15:49:33Z,"""Link Image To:"" seems preferable to ""Link URL"" in wp-admin/includes/media.php (and it is more consistent as it is already used on the ""From URL"" tab when inserting an image).",hew
21304,Create unique file for rotated images,,Media,,normal,normal,Awaiting Review,enhancement,new,,2012-07-18T16:31:06Z,2012-07-18T16:31:06Z,"When images are cropped in WordPress, the resulting file is given a unique filename, which helps in two ways — the original is preserved, and it also busts any caching. Preserving the original isn't such a major concern when we're talking about rotating the image, but caching still can be an issue. I propose that when images are rotated they're given a unique filename to bust through any caching or CDN that the image has already gone to.",wpdavis
17247,Crop tool is automatically selected when editing an image,,Media,,normal,normal,Future Release,enhancement,new,,2011-04-27T00:17:31Z,2011-04-27T09:34:31Z,"The crop tool is automatically selected when editing an image with the built-in tools. This can be confusing as the crop button is greyed out and inactive by default.

To reproduce:
1. Create a new post or page
2. Upload an image
3. Click the Gallery tab
4. For the image you uploaded click ""Edit Image""

The crop tool will be automatically selected. If you drag the mouse over the image it will select an area to crop.

A more intuitive behavior would be to have none of the editing tools selected by default.

Currently, the next step is presumed when you click ""Edit Image."" It would be better to leave the next step up to each user so that clicking ""Edit Image"" didn't imply a default action.",andrewspittle
24168,Custom image sizes don't automatically populate in 3.5+ media modal,,Media,3.5,normal,normal,Awaiting Review,enhancement,new,,2013-04-23T17:41:20Z,2013-04-26T11:53:00Z,Seems a bit redundant to have to filter (image_size_names_choose) the default list of attachment sizes to get a custom image size in the select dropdown.,ericlewis
22768,"EXIF/IPTC captions should populate caption/post_excerpt on upload, not description/post_content",,Media,2.5,normal,normal,Future Release,enhancement,new,early,2012-12-06T00:24:39Z,2012-12-15T20:10:37Z,"It's been this way forever, but it is dumping data into the wrong field. Two schools of thought on this:

 * Plugins have used the description field, so we should not change this.

 * Users continue to struggle with moving *captions* from the description field to the caption field, so we should change this.

I am in the latter school of thought. A plugin can remain compatible by ensuring it checks either description or caption before falling back to the other.",nacin
17956,Edit all image sizes,,Media,3.2,normal,minor,Awaiting Review,enhancement,new,,2011-07-01T08:19:52Z,2011-07-01T08:19:52Z,"It would be nice that I could edit each image size seperatly instead of just ""all"", ""thumbnail"" ""all except thumbnail""",Horttcore
22990,Edit custom image sizes,,Media,3.5,normal,normal,Awaiting Review,enhancement,reopened,,2012-12-18T13:36:46Z,2013-05-07T11:54:04Z,"There is currently no way to edit custom image sizes.

Since it's possible to create custom image sizes, it should also be possible to edit them in the backend.

Right now there three scenarios:
1. All images
2. All images except thumbnail
3. Thumbnails only

Whatever choice you make it will affect all custom image sizes.

I propose more options added here,for instance:
1. All images
2. Custom -> Select size from select menu
3. Thumbnails only",jonkristian
10501,Enhancements to media upload rules and/or delete media confirm dialog,,Media,,low,minor,Future Release,enhancement,new,dev-feedback,2009-07-28T13:21:09Z,2009-11-23T19:53:18Z,"Now only some file types has required ""Name"" field, rest don't requires typing name for file. After upload if name field was empty file get name in media library from original uploaded file for example: ""doc234"" if uploaded file was named ""doc234.txt"".

Now user can Edit uploaded to library file and delete name. In library view file is called ""(no title)"", but when user try to delete in confirmation box are only empty quotes without name.

There are two possibilities to fix this.

First: require ""Name"" value for every file, not only for few types.
Second: add function which show uploaded file name as ""Name"" in confirmation box, when this name is empty.",Simek
22679,Ensure that unattached images inserted from media library get pretty url directly,,Media,3.5,normal,normal,Awaiting Review,enhancement,new,has-patch,2012-12-02T11:24:19Z,2012-12-02T22:13:17Z,"When inserting an unattached image (with no parent) from the media library and setting the ""Link To"" option to ""Attachment page"", the URL at first gets the default query string format (with a '?'). Though after updating the post it gets the final ""pretty"" format (which seems to happen in the function _fix_attachment_links() in wp-admin/includes/post.php).
The provided patch, gives the URL the final pretty format directly.
See also #22085.",jond3r
14110,Expose height and width attributes to 'wp_get_attachment_image_attributes' filter,,Media,3.0,normal,minor,Future Release,enhancement,new,dev-feedback,2010-06-27T00:54:46Z,2013-02-04T19:51:35Z,"The filter 'wp_get_attachment_image_attributes' allows you to alter the attributes of embedded images. However the height and width attributes aren't passed to this filter. These would be useful to have – I'm making a theme with a fluid layout where I have to remove all height and width attributes to ensure that the browser maintains the attribute of images when they're resized.

I've attached a patch with a fix. In it I've also changed the function 'get_image_tag' so that I could remove the immensely pointless 'hwstring' function.",divinenephron
21569,Filter gallery styles with access to $attr,,Media,3.5,normal,normal,3.6,enhancement,new,has-patch,2012-08-13T21:18:25Z,2013-02-15T23:46:07Z,"Currently you can replace the entire output, but that's all or nothing — if you decide to do that, you also need to parse the attributes array, decide on good defaults, etc. You can also filter the styles, but you don't have access to the attributes array.

Use case: In my theme, I'd like to use the number of columns as more of a suggestion. I could set min-width to what `$itemwidth` is currently and it would be more responsive. If the page shrinks too small, it would only load 1 image per line instead of being locked into the right number of columns.",betzster
21988,Filter get_media_item output,,Media,3.4,normal,normal,Awaiting Review,enhancement,new,dev-feedback,2012-09-25T03:56:27Z,2012-09-25T09:38:43Z,"L1027-1028 of media.php looks like this:

{{{
if ( $item = get_media_item( $id, array( 'errors' => isset($errors[$id]) ? $errors[$id] : null) ) )
			$output .= ""\n<div id='media-item-$id' class='media-item child-of-$attachment->post_parent preloaded'><div class='progress hidden'><div class='bar'></div></div><div id='media-upload-error-$id' class='hidden'></div><div class='filename hidden'></div>$item\n</div>"";
}}}

The biggest issue I see with this is that because you can only attach images to one post, this will unnecessarily display images that cannot be attached to the current post type in instances where the Media Library tab is forced to send items even though no editor support has been added for the post type.

In that light, it would be nice to have a filter to remove the output of these unnecessary items in order to improve UI and UX when navigating through images to attach to the post type. Currently I am having to create an error-like overlay on each item that is already attached in order to prevent users from trying to attach an item that is already attached elsewhere.

Where would it make the most sense to have this filter? At the end of get_media_item? ",griffinjt
12120,Force Media Image Generation (for thumbnails),,Media,,normal,normal,Future Release,enhancement,new,has-patch,2010-02-03T17:53:32Z,2010-03-07T08:19:33Z,"It would be very useful to force the generation of a thumbnail images for uploaded files. With content being syndicated to feeds, e-readers, and mobile devices, the ability to have a working thumbnail is more important.

For example, if the original image has dimensions of 250x50, and the default thumbnail size in WP is 150x150, a thumbnail will not be generated because the 50 height is smaller than the 150 pixel minimum.

The fix would be to include an additional parameter to the image_resize_dimensions to allow the function the dimensions. A filter could be applied to allow the user to set which images should force the generation of a resized image (i.e. to exclude a medium and large image from being generated for a 250x50 image) by passing in the original width/height and max width/height.

in wp-includes/media.php

========

function image_resize( $file, $max_w, $max_h, $crop = false, $suffix = null, $dest_path = null, $jpeg_quality = 90 ) {

...

$force = apply_filters('image_resize_dimensions_force', $orig_w, $orig_h, $max_w, $max_h);
$dims = image_resize_dimensions($orig_w, $orig_h, $max_w, $max_h, $crop, $force);

========

function image_resize_dimensions($orig_w, $orig_h, $dest_w, $dest_h, $crop = false, $force = false) {
...

// if the resulting image would be the same size or larger we don't want to resize it
	if ( $new_w >= $orig_w && $new_h >= $orig_h && !$force )
		return false;
",atow
23331,Gmagick support,,Media,,normal,normal,Future Release,enhancement,new,has-patch,2013-01-30T22:33:53Z,2013-04-25T20:50:14Z,In 3.5 we added Imagick support. It would be great to also include Gmagick. Since Graphicmagick is just more awesome then ImageMagick.,markoheijnen
16635,Handle grouped MIME-Types,,Media,3.1,normal,minor,Awaiting Review,enhancement,new,has-patch,2011-02-24T13:41:14Z,2011-02-24T13:41:14Z,"I'm trying to add a filter in the Media Library for common archive file types. The problem is that there are a lot of MIME-Types for archive files and none have a common prefix. Wildcards are not a solution here.

POC:
{{{
add_filter('post_mime_types', 'modify_post_mime_types');

function modify_post_mime_types($post_mime_types) {
	$type = 'application/zip,application/x-tar';
	$labels = array(
		__('Archive'), 
		__('Manage Archives'), 
		__ngettext_noop('Archive <span class=""count"">(%s)</span>', 'Archives <span class=""count"">(%s)</span>')
	);

	$post_mime_types[$type] = $labels;

	return $post_mime_types;
}
}}}

I've tried using ""|"" (regexp) as a separator:
{{{
$type = 'application/zip|application/x-tar';
}}}
This works ok in wp_match_mime_types but fails in wp_post_mime_type_where.

I've found two possible solutions:

1) Change 
{{{
$post_mime_types = array_map('trim', explode(',', $post_mime_types));
}}}
to 
{{{
$post_mime_types = array_map('trim', preg_split('/,|\|/', $post_mime_types));
}}}
in wp_post_mime_type_where and use ""|"" as a separator;

2) Handle this in wp_match_mime_type (see code in attached file) and use "","" as a separator.

I'm aware that this is not a widely used filter but in my case this enhancement makes a lot of sense. If it works for images why shouldn't it work for archives? Also, why is wp_post_mime_type_where designed for comma-separated lists of MIME-Types if it's never used that way?",sergiu.paraschiv
19393,Image crop position,,Media,3.3,normal,normal,Future Release,enhancement,new,,2011-11-29T18:46:06Z,2013-04-08T13:26:54Z,"In WP, images are cropped to center horizontally and vertically. Setting a different crop position is very painful and a bit of hack using filters/hooks (see [https://gist.github.com/1405838]). The small attached patch enhances the `$crop` parameter of `add_image_size`, allowing an array to be passed in containing the crop position.  For example,

{{{
add_image_size( 'product-screenshot', 300, 300, array( 'left', 'top' ) );
}}}

The `$crop` parameter still accepts true/false values and the patch should be fully backward compatible. Syntax is borrowed from CSS' `background-position` property, so it should be familiar to designers/developers.",bradt
13392,Image editor UX could be more straightforward,,Media,3.0,normal,normal,Future Release,enhancement,new,close,2010-05-14T13:54:06Z,2013-02-08T17:15:27Z,"The image editor introduced in v2.9 (?) is pretty handy, but I believe the UI needs to be straightforward. Here's some issues which I see, as a starter for discussion, and hopefully later I'll be able to make some quick wireframes to suggest improvements and so everyone can have something to get hating.

The overarching issue is that the UI seems confused when it comes to committing the action you've just taken, for example:

 * To scale an image, you commit the action with a button labelled ""Scale"".
 * To commit a crop you have to click the crop icon button, which looks like a tool selection button (ala Photoshop) rather than something which commits the change.
 * The Save button is disabled most of the time, for reasons which are unclear, but it's not super obviously styled as disabled.

Separately from the problems of committing actions, the ""Apply changes to"" panel is kind of stuck down to the right and it's not clear at which points it's having an effect.

There are no messages back to the user to confirm whether actions have or haven't been taken.
",simonwheatley
21221,Image title and alt attribute content should be texturized.,,Media,3.4.1,normal,normal,Awaiting Review,enhancement,new,has-patch,2012-07-11T19:49:18Z,2012-07-11T22:11:44Z,"
gallery_shortcode() texturizes the caption shown underneath images in galleries.

For consistency, alt and title tags content should also be texturized.
This is also valuable for developers extending the gallery shortcode or output, such as with the WordPress.com (and Jetpack) [http://en.blog.wordpress.com/2011/11/08/new-photo-carousel/ Gallery Carousel feature], as it provides i18n'd texturization, for EG.

See attached patch, which:
 * uses wptexturize() in wp_get_attachment_image() directly (/wp-includes/media.php), which makes it work with gallries, attachment pages, etc.
 * also uses wptexturize() in get_image_tag() (/wp-includes/media.php), for consistency.
 * uses wptexturize() in wp_get_attachment_link() (/wp-includespost-template.php), for consistency",stephdau
21810,Improve intermediate image size handling,,Media,3.5,normal,normal,Future Release,enhancement,new,,2012-09-05T20:28:14Z,2013-01-15T20:29:29Z,"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
22075,Improving `wp_get_attachment_link`,,Media,3.4,normal,normal,Awaiting Review,enhancement,new,dev-feedback,2012-10-02T04:29:05Z,2012-10-07T22:07:52Z,"I answered a [http://wordpress.stackexchange.com/questions/65982 question] not so long ago on [http://wordpress.stackexchange.com/ WordPress StackExchange].

There I saw the need on a filter for `wp_get_attachment_link()` to allow the developer to add or remove attributes to the HTML without having to use a regex on it or creating the `a` tag again.

So I've done this small patch with changes to apply this enhancement to the function.",webord
16180,"In Add an Image, Link URL should be empty if Size = Full Size",,Media,3.0.4,normal,normal,Awaiting Review,enhancement,new,,2011-01-10T17:00:17Z,2011-01-10T17:41:42Z,"In the '''Add an Image''' dialog, '''Link URL''' should be empty if '''Size''' is '''Full Size'''. This is because there is no value in adding a link to an image if the original, unmolested version is being displayed.

You may need to be selective about how to implement this enhancement. Examples:
 * If '''Full Size''' was not the default selection when the dialog loaded, then it may not be right to remove the '''Link URL''' field if the '''Size''' radio button is changed ''to'' '''Full Size'''.
 * If '''Full Size''' ''was'' the default selection when the dialog loaded, and this is the dialog produced just after uploading an image, then the '''Link URL''' field probably should stay empty unless someone selects a different selection for '''Size.'''",novasource
10161,Insert button in Media Uploader,,Media,2.8,normal,minor,Future Release,enhancement,new,,2009-06-14T19:33:08Z,2010-01-10T06:17:16Z,"Hi, in the Media Uploader, the third and forth tabs, could we have a link/button to insert media instead of clicking SHOW and then INSERT INTO EDITOR.
The options are saved, so some of us do not really need check the options before inserting media into post, this helps a lot with slow browser.

Thanks",link2caro
12238,Introduce a function to return image attributes of a specific attachment,,Media,,normal,normal,Future Release,enhancement,new,dev-feedback,2010-02-15T11:47:02Z,2012-09-22T20:05:57Z,"It's useful to get all the data relating to an image via one source:
{{{
/**
* returns an array containing attributes for an image stored in the database
 * $image_id : id of the image to query
 * $size : size of the image, can be 'thumbnail', 'medium', 'large' or 'full'
 */	
function get_image_by_id($image_id, $size) {
	$image = get_post($image_id);

	$imageObj = array();
	$imagearray = wp_get_attachment_image_src($image->ID, $size, false);
	$imageObj['src'] = $imagearray[0];
	$imageObj['width'] = $imagearray[1];
	$imageObj['height'] = $imagearray[2];
	$imageObj['id'] = $image->ID;
	$imageObj['title'] = $image->post_title;
	$imageObj['caption'] = $image->post_excerpt;
	$imageObj['description'] = $image->post_content;
	$imageObj['alt'] = get_post_meta($image->ID, '_wp_attachment_image_alt', true);

	return $imageObj;
}
}}}",jredfern
21294,Introduce zoom-crop in Media image handling,,Media,,normal,normal,Awaiting Review,enhancement,new,,2012-07-17T10:09:23Z,2013-04-08T15:03:29Z,Please could the wordpress image handling introduce support for a zoom crop of images smaller than specified file sizes.,TwoThirdsWater
22670,Konami Code Easter Egg to trigger new Media model,,Media,,low,normal,Awaiting Review,enhancement,new,,2012-12-01T02:41:23Z,2012-12-11T17:31:43Z,"Just a harmless easter egg that will trigger 3.5's media uploader via the post editor page. It'd be a fun touch, imho.

To trigger, just use your keyboard and press, in order, up up down down left right left right B A",tw2113
19181,Make image_link_input_fields filterable to add buttons,,Media,2.7,normal,normal,Awaiting Review,enhancement,new,has-patch,2011-11-06T20:27:53Z,2012-07-07T10:31:15Z,"This patch makes the image_link_input_fields function filterable, so that additional buttons could be added to the Link URL section when inserting an image into a post.

In my case, I want to be able to link an image to the post it belongs to. It's a weird/tiny use case, but this filter will let me use a plugin to add it myself.",ryanimel
19110,Media File Url,,Media,,normal,normal,Awaiting Review,enhancement,new,,2011-11-02T05:58:42Z,2011-11-07T10:41:44Z,"The media file URL includes the site URL this makes running two identical copies of the same site problematic since it would require doing a search and replace through a dumped database for each synchronization.

The following is stored in the guid column: 
http://braydon.com/wp-content/uploads/2011/10/BGF028_500x606.jpg

My recommendation is to store in the guid column:
/wp-content/uploads/2011/10/BGF028_500x606.jpg

Which then could become:
http://braydon.com/wp-content/uploads/2011/10/BGF028_500x606.jpg
http://mirror1-of-braydon.com/wp-content/uploads/2011/10/BGF028_500x606.jpg
http://mirron2-of-braydon.com/wp-content/uploads/2011/10/BGF028_500x606.jpg
http://braydon.localhost/wp-content/uploads/2011/10/BGF028_500x606.jpg

Although this could cause a problem to how the guid field is to be handled, and a new column would need to be made.",braydonf
23116,Media GalleryEdit Controller should have an option to hide gallery settings,,Media,,normal,normal,Awaiting Review,enhancement,new,,2013-01-04T05:53:46Z,2013-01-04T05:53:46Z,"wp.media.controller.GalleryEdit (from /wp-includes/js/media-views.js, line ~557) should include an option to disable the gallery settings in the right sidebar. The settings might not always be desired (when editing a Gallery that doesn't go directly into a shortcode, for example).",nd987
23172,"Media Library - Rename the default ""Images"" in dropdown to something more clear",,Media,3.5,normal,normal,Awaiting Review,enhancement,new,has-patch,2013-01-10T17:05:32Z,2013-02-01T21:40:13Z,"I have a group of about 6 people on my team and after the upgrade to 3.5 not one of them could figure out how to filter down to only the images attached to a post. I'm assuming that other people out there are having similar trouble..
The label ""Images"" makes it seem like that is where you could switch to other media types like ""Audio"" instead of filtering search results. I think ""All Images"" would be much more clear as to what the dropdown changes..",jacopo.vip
11078,"Media Library tab in post editor should have ""Unattached"" and ""Trash"" filter options",,Media,2.9,normal,minor,Future Release,enhancement,new,,2009-11-05T04:16:04Z,2010-01-06T03:45:50Z,"The master Media Library admin page has options for viewing attachments based on their status, not just type—but the post editor media management only allows sorting based on type.

Having at least the ability to filter for unattached media items would be useful when editing a post. Occasionally users could have older media that is not yet attached to a post and could get buried in the media pages by newer items.",markel
22984,"Media Modal - Auto-save for compat-items doesn't trigger the UI to show the spinner or ""Saved"" indicators.",,Media,3.5,normal,normal,Awaiting Review,enhancement,new,,2012-12-18T00:10:53Z,2013-01-22T00:22:10Z,"When the auto-save kicks in for the standard attachment editor fields, it triggers the spinner icon in the top right corner. This is followed by ""Saved"" which then disappears on its own. None of these UI indicators are triggered for custom input items added via the 'attachment_fields_to_edit hook.

Not sure if its was an oversight or simply not seen as important.",eddiemoya
22744,Media search doesn't include file name,,Media,3.0,normal,normal,Future Release,enhancement,new,,2012-12-04T22:56:45Z,2012-12-29T10:37:30Z,"Upload a file called `foo.png` and then do a search for `foo.png` (either on the Media screen or in the new media modal) and it won't find the file.

Probably existed since forever. Marking as 3.0.",johnbillion
13014,Missing Thumbnail Size,,Media,,normal,trivial,Future Release,enhancement,new,,2010-04-15T12:13:02Z,2013-04-08T15:03:10Z,"If I add an image size i.e.:
add_image_size('big', 960, 240, true);
then I'm uploading an image with 960x320px, the this new 'thumbnail' won't be generated.

So if the third parameter is true he should be compare the width and the height of the source image.",Horttcore
19397,Missing hide-if-js class on gallery items,,Media,,normal,normal,Awaiting Review,enhancement,new,,2011-11-29T22:48:30Z,2012-01-15T22:26:14Z,"When you open the gallery tab in the media thickbox, next to each attachment item you have an input in which you can enter an order.

The thing is that thse attachments can be ordered via drag-and-drop, so there's no need to show the inputs to users that have JavaScript enabled.

Not to mention that the order column header is way off.",scribu
22949,More Accurate and Extensible MIME Type Handling,,Media,3.5,normal,normal,Awaiting Review,enhancement,new,has-patch,2012-12-14T22:08:16Z,2012-12-17T21:42:22Z,"In the general case, a file extension may represent more than one MIME type. Currently, file extensions are married to a single MIME.

Specifically, let's look at the case of the ""ico"" file extension. Officially, the MIME type for this file should be ""image/vnd.microsoft.icon"". Unofficially, ""image/x-icon"" along with many others are usable.

The solution to this problem is extremely simple.

First, allow key => value pairs in the exhaustive MIME list located in wp_get_mime_types to be arrays so we can account for cases such as ico.

Second, add the proper handling for this change in wp_check_filetype. The way I have written it should not interfere with existing uses of this function (as they were all passing strings and now can pass a string or array).",mattonomics
22894,Need WordPress Media Uploader Stop or Cancel Button in WP Version 3.5,,Media,3.5,normal,normal,Awaiting Review,enhancement,new,,2012-12-12T17:34:01Z,2013-01-09T20:11:46Z,"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
23205,New Media Uploader slow for sites with many images,,Media,3.5,normal,normal,3.6,enhancement,new,dev-feedback,2013-01-15T17:17:02Z,2013-05-17T08:11:21Z,"The new media uploader added in 3.5 looks very nice. Unfortunately, its functionality is worse for sites with thousands of images. I think this can be combated by allowing us to select the ""Upload Files"" page as our default after clicking ""Add Media,"" and rather than ""All Media Items"" be the page it jumps to after the image is uploaded, instead have it jump to ""Uploaded to this Post."" Is there any way the WordPress team can make this default? Or add the option to make it default? It's made posting on my site 10 times more annoying, especially for those posts with 40-50 images. And I'm sure there are others who feel the same.",salromano
22726,New Media: 'From URL' tab should move,,Media,3.5,normal,normal,Awaiting Review,enhancement,new,,2012-12-04T11:36:57Z,2012-12-07T00:15:18Z,"Should the 'From URL' tab on the left hand side of the new media modal should be moved into the same tab group as 'Upload Files' and 'Media Library' across the top?

It makes no sense in the context of the other tabs on the left, 'Insert Media', 'Create Gallery' and 'Featured Image'.",johnbillion
18191,New filter request - media_items,,Media,3.2.1,normal,normal,Awaiting Review,enhancement,new,,2011-07-21T15:03:21Z,2012-06-14T11:59:15Z,"Hi there,

I humbly ask for new filter in WordPress, in file wp-admin/includes/media.php, function get_media_items(), aplied on output after the media files have been processed. Please see attached file (based on 3.2.1 version of the file) where I would like to have it.

Purpose: I am developing a plug-in that would add mass-rename/update to the gallery items (e.g. I upload 50 pictures into gallery and want to set their label to the same value for all 50 of them, so I don't need to edit it 50 times, but do it just once). For this I want to add one more line to the list of media items where I put the code for this functionality. For this injection of my code I ask for the new filter.

Thanks, Honza",honza.skypala
22822,New media: 'Create a new gallery' button should indicate that it's the first of two steps,,Media,3.5,normal,normal,Awaiting Review,enhancement,new,has-patch,2012-12-08T00:35:34Z,2013-01-22T01:57:11Z,"When creating a gallery, the primary action button at the bottom of the screen says 'Create a new gallery'. This button is actually the first of two steps, but this button doesn't make that clear.

It should either have an ellipsis appended, which is a standard UI convention for a non-immediate action, or it should say something like 'Next »'",johnbillion
22970,No Set Featured Image Option in existing Media Gallery,,Media,3.5,normal,normal,Awaiting Review,enhancement,new,,2012-12-17T05:57:12Z,2013-01-29T02:24:00Z,"There is a Set Featured Image link when you add new gallery but in already existing gallery, you can't set Featured Image (in case you want to add more photos and set a new featured image). You have to do it from Set Featured Image link on the post which means more clicks.

Plus, I wanted to add, wouldn't it be easier if we have Set Featured Image link on the right side where all image meta exists, instead of having to click on a separate link on the left? Similar to what we had with 3.4. That would really lessen the number of clicks you have to do to set a featured image. You could do the same with existing galleries/posts too. For example, if you upload one image, its selected by default and on the right side, you can just click a Set Featured Image link.",nhuja
21959,No way to override the name of an image when that is being resized,,Media,3.4.2,normal,normal,Awaiting Review,enhancement,new,needs-docs,2012-09-21T16:34:23Z,2012-09-22T20:42:44Z,"The most obvious solution is to add a hook to allow the destination file name to be modified. 

The solution attached gives pretty much all the information you could possibly want to modify the filename as you might need to.",jkmassel
22938,Presentation of hierarchical taxonomy in Media modal should be checkboxes rather than comma-separated tag list,,Media,,normal,normal,Awaiting Review,enhancement,new,,2012-12-14T14:10:16Z,2013-01-31T18:24:24Z,"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
15490,Preview oEmbed results when using the media modal to insert from URL,filosofo,Media,,normal,normal,Future Release,enhancement,new,has-patch,2010-11-19T15:22:45Z,2013-05-16T12:12:55Z,"If you insert a video URL via the ""Add media file from URL"" popup, it should do the following:

 * Determine whether the URL is oEmbed-able, and if so, insert the appropriate shortcode into the post.
 * Create a corresponding attachment with something indicating that it's a video in the `post_mime_type` field (even though we're not really dealing with true MIME types). That way, we can query video attachments, agnostic of where the actual video file exists.",filosofo
23096,Provide callback before setting state of the editor media manager,,Media,3.5,normal,normal,Awaiting Review,enhancement,new,dev-feedback,2012-12-31T18:33:52Z,2013-01-25T16:54:03Z,"In the current setup, there is no way to modify the current state or views when the media manager is opened from the ""Add Media"" button. By the time you can modify anything, all the default views have been rendered and all of the events have been fired.

It would be helpful to check for the existence of a callback, and if it exists, run that before returning the workflow.

My patch does this, which you could invoke in this way:
{{{
wp.media.editor.extend = function(workflow){
        // Manipulate the workflow here
}
}}}

Thoughts? This is only for the default media manager that is invoked by clicking the Add Media button.",griffinjt
23115,Refactor wp.media.gallery.attachments to accept an array of attachment ids rather than shortcode,,Media,,normal,normal,Awaiting Review,enhancement,new,,2013-01-04T05:22:32Z,2013-01-04T05:22:32Z,"In /wp-includes/js/media-editor.js, line 175, the wp.media.gallery.attachments method is too closely coupled to the shortcode. This makes it impossible to fetch Attachments without first creating a shortcode to pass in.

A better approach would be to accept an array of attachment ids or a hash of properties; more than just shortcodes need to fetch Attachments by their ids.",nd987
15606,Remove Hardcoded Image Extensions,,Media,,normal,normal,Future Release,enhancement,new,,2010-11-29T12:54:47Z,2011-01-14T16:00:08Z,"Hi,

As the web changes, browsers support more image extensions. Part of what I'm doing is write plugins that extend Wordpress's ability to thumbnail beyond the norm (PDFs for example).

In order to extend functionality and provide the most support to existing themes, one way is to override functions like `wp_attachment_is_image()`. Rather than full overriding, it would be better still to change the data their logic is based on. However, these functions do make some unfortunate hard-coded assumptions.

This function, in wp-includes/post.php includes the code:
{{{
$image_exts = array('jpg', 'jpeg', 'gif', 'png');
}}}

I believe that should refer to a global array. This is not in object scope, so where would be best to place it?

Best,
Leo",acumensystems
22854,"Rename ""Alt text for the image, e.g. “The Mona Lisa” when inserting an image",,Media,3.4.2,normal,normal,Awaiting Review,enhancement,new,,2012-12-11T16:00:09Z,2012-12-11T16:18:16Z,"When inserting an image, a message appears under the ""Alt"" field ('''Alt text for the image, e.g. “The Mona Lisa”'''). 

This message is not clear. For a long time I didn't bother about it and I never completed it because I had no idea what its purpose was nor it result. Not knowing, I preferred to no change the default settings since that field is not completed by default, unlike the field ""Title"" which is completed by default.

Then through internet browsing, I finally learnt that field is used by blind people in order to know about the displayed images.

From there, I manually copied/pasted what was in the field ""Title"" of my almost 350 images (a one hour job).

If the text displayed under the field ""Alt"" had been ""'''Alternative text to be read by our blind friends unable to see the image'''"" ('''or something of the kind'''), that would have been clearer to me and I would have completed that field as soon as I inserted my first image. 
Here, as it is, the text explaining that field doesn't help newbees ; it's a language for people knowing HTML (since the field names are exactly those of the img HTML tags).

Also, it would be clearer for newbees not knowing HTML if the explanatory text for the field ""Title"" itself was something like: ""Displayed in a bubble when hovering the image"".

The idea of all this is to tell expliciteley what fields are for, so that a person not knowing HTML can rapidly understand what they are supposed to do with them, without having to go through long searches on internet in order to understand those fields.

I hope some members of the WordPress staff will consider my present comments.

Best regards",luciole135
20602,Replace media,,Media,3.3.1,normal,major,Awaiting Review,enhancement,new,dev-feedback,2012-05-02T13:29:45Z,2012-05-02T17:55:33Z,"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
22641,Request: include post_id on media_send_to_editor filter call in wp_ajax_send_attachment_to_editor,,Media,2.6,normal,minor,Awaiting Review,enhancement,new,,2012-11-29T20:44:58Z,2012-12-02T15:37:53Z,"Before 3.5, by combining some hidden fields on the add media popup (using attachment_fields_to_edit) and then looking for those fields in $attachment in the media_send_to_editor filter, you could alter the $html sent back to the editor on a per custom post type basis.

Here's a pre 3.5 tutorial on what I'm on about: http://shibashake.com/wordpress-theme/how-to-hook-into-the-media-upload-popup-interface - The relevant part is in step 4, ""Set Our Own Action"".

Because recent changes mean that the fields added by attachment_fields_to_edit are posted separately (""save-attachment-compat""), there's no way to identify the custom post type when hooking into the media_send_to_editor filter. 

In wp_ajax_send_attachment_to_editor(), is there any reason we couldn't also include $_POST['post_id'] with the ""media_send_to_editor"" filter?

e.g. 

{{{
$html = apply_filters( 'media_send_to_editor', $html, $id, $attachment, $_POST['post_id']);
}}}

I'm new to WP, but I would've thought that wouldn't break anything because of the way most filter hooks will only look for params 1-3.

Thanks,

Adrian",adrianhardy
13052,Return the URL of the next adjacent image in a gallery,,Media,,normal,normal,Future Release,enhancement,new,,2010-04-19T20:32:33Z,2010-04-20T07:54:37Z,"A function that returned the URL of the next adjacent image for an attachment in a gallery post, or the URL of the parent post if there isn't an adjacent image, would be a really useful enhancement for attachment templates.

Attached is a diff of media.php with the custom function I rolled from adjacent_image_link() to do just that.",iandstewart
24202,Self-explanatory argument values for new media functions,,Media,trunk,high,major,3.6,enhancement,new,dev-feedback,2013-04-26T13:14:52Z,2013-05-17T19:43:58Z,"We've introduced a bunch of functions, some with a relatively long list of arguments, which accept booleans:
{{{
function get_content_media( $type, &$content, $html = true, $remove = false, $limit = 0 )
function get_embedded_media( $type, &$content, $remove = false, $limit = 0 )
function get_content_audio( &$content, $html = true, $remove = false )
function get_embedded_audio( &$content, $remove = false )
function get_content_video( &$content, $html = true, $remove = false )
function get_embedded_video( &$content, $remove = false )
function get_content_images( &$content, $html = true, $remove = false, $limit = 0 )
function get_content_image( &$content, $html = true, $remove = false )
function get_content_galleries( &$content, $html = true, $remove = false, $limit = 0 )
function get_post_galleries( $post_id = 0, $html = true )
function get_post_gallery( $post_id = 0, $html = true )
function get_content_chat( &$content, $remove = false )
function get_content_quote( &$content, $remove = false, $replace = '' )
function get_content_url( &$content, $remove = false )
}}}
I wonder if we can convert them to use arrays instead for future-proof changes, or at least switch from booleans to self-explanatory values, per our [http://make.wordpress.org/core/handbook/coding-standards/php/#self-explanatory-flag-values-for-function-arguments coding standards].

Otherwise, we might fall into a trap of `submit_button()`: #20492.
",SergeyBiryukov
19990,Separate ID and display name for add_image_size,,Media,3.3.1,normal,normal,Awaiting Review,enhancement,new,has-patch,2012-02-08T17:19:01Z,2012-12-31T02:05:50Z,"Currently, the first argument in `add_image_size()` is used as both the id (and key in the global array `_wp_additional_image_sizes`, and as the displayed name, since nothing else is available.

As such, the `$name`, when it is displayed, is not translatable, since some other code might be hard-coded to use a specific image size.

Instead of adding a 5th argument to the function, one solution might be to allow the first argument to be a string or array, and if it is an array, passing that as a new item in the array that is set. Theme or plugin authors could then check for the existence of this array value item, before falling back to using the key as per now.

Current Usage:
{{{
add_image_size( 'primary-sidebar', 150, 100 );
}}}

New Optional Usage:
{{{
add_image_size( array( 'primary-sidebar' => __( 'Primary Sidebar', 'my-textdomain' ) ), 150, 100 );
}}}",GaryJ
13372,Separate Image sizes for different post types,,Media,,normal,normal,Future Release,enhancement,new,close,2010-05-13T07:59:07Z,2013-01-03T16:14: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
22966,Show admin-cropped thumbnails instead of Wordpress-cropped thumbnails,,Media,,normal,normal,Awaiting Review,enhancement,new,,2012-12-16T22:22:59Z,2012-12-16T23:27:18Z,"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
13235,Simplify and add filtering to call to display author for media,,Media,3.0,normal,normal,Future Release,enhancement,new,commit,2010-05-03T19:13:35Z,2011-04-25T16:03:53Z,"The author displayed on the media page (upload.php) is not filterable in any way currently. This patch adds a filter for the author ('media_author'). Perhaps more filters should be added for other fields, but at the least I would like to add this filter.",sbressler
23932,Support for remove_post_type_support() in attachment post type,,Media,3.5.1,normal,normal,Awaiting Review,enhancement,new,,2013-04-03T22:07:02Z,2013-04-03T22:07:02Z,"In the past it was possible to remove certain fields from the media editor by hooking ""attachment_fields_to_edit"" and unset'ing the fields you didn't want included (e.g. caption).

After the media library got the major rework in WP3.5 its longer possible to remove those fields.

I believe that since the attachment post type has been more closely lined up to normal posts it should support remove_post_type_support() et al.

The easiest (and probably popular) case for this is removing the editor.  I believe this code should do the trick:

{{{
#!php
remove_post_type_support( 'attachment', 'editor' );
}}}
",flyingtrolleycars
22100,Treat built-in image sizes the same as custom image sizes,,Media,,normal,normal,Future Release,enhancement,new,has-patch,2012-10-04T15:39:44Z,2013-05-14T13:50:34Z,"Goals:

0. Have a solid API for working with intermediate image size definitions.

1. Don't hardcode default image sizes; register them like any other.

2. ~~Introduce a 'pregenerate' arg, which will allow defining an image size that will not be automatically generated right after upload.~~

Related tickets: #15311, #21810",scribu
20046,Unnecessary default category code remains in wp_insert_attachment,,Media,,normal,trivial,Awaiting Review,enhancement,new,has-patch,2012-02-15T00:13:30Z,2012-02-16T06:46:13Z,"After the default arguments are set, post_type is forced to 'attachment', negating any requirement for default categories to be added.

Quick patch removes:

(1) The test performed for 'post' post_type in order to assign default categories to an array. Result was always an empty array.

(2) The call to wp_set_post_categories with this empty array, which sends the post_ID through a bunch of taxonomy related code that passes over it. This does cause the action 'set_object_terms' to be skipped, which should be okay as attachments don't have terms.",jeremyfelt
15309,Updating Attachments will always set post_modified[_gmt] to the post_date[_gmt],,Media,,normal,normal,Future Release,enhancement,new,has-patch,2010-11-03T17:40:31Z,2012-04-20T05:31:51Z,"When updating an attachment the post_modified and post_modified_gmt are always set to post_date and post_date_gmt respectively. 

Is there a specific reason for this or can we allow attachments to properly set a modified time?

Attached is a proposed patch (which just copies code directly from `wp_insert_post`).",shawnparker
21819,Use an image size for custom headers instead of duplicating an attachment,,Media,3.5,normal,normal,Future Release,enhancement,assigned,,2012-09-05T21:19:51Z,2012-11-07T20:40:58Z,"The improvements in #21810 will allow us to use an image size for custom headers, and we definitely should — it results in fewer attachments, allows the user to recrop the header, and allows us to make intelligent decisions regarding how to treat custom headers when the theme is changed.",koopersmith
24055,Videos should be responsive when admin size shrinks,,Media,trunk,normal,normal,3.6,enhancement,new,,2013-04-11T22:41:25Z,2013-04-17T22:43:50Z,,wonderboymusic
17857,WP_Embed - Split shortcode() function into two for increased flexibility,,Media,2.9,normal,normal,Awaiting Review,enhancement,new,has-patch,2011-06-21T01:52:41Z,2011-06-21T03:33:55Z,"Currently, the WP_Embed class is restricted to posts; it takes a post ID as a parameter and checks the post meta table.

What I'd like to propose is to apply a filter to the post ID and split WP_Embed::shortcode() into two functions (at http://core.trac.wordpress.org/browser/trunk/wp-includes/media.php#L1177).

In a nutshell, let the link parsing be one function and if the link is oEmbed-worthy send it to the second function for parsing.  The second function could then be easily extended for usage in 3rd-party plugins not using WP posts (like BuddyPress).

Also, the patch checks the URL against each registered WP oEmbed provider's URL scheme if oEmbed discovery is false.  This is designed to prevent unnecessary external pinging of an oEmbed provider and avertible meta caching for failed attempts.  Andy Peatling primarily wrote this part of the code, which he sent to me awhile ago.

Attached patch is against r18324.",r-a-y
23424,WP_Image class for handling images from the media library,,Media,3.5,normal,normal,Awaiting Review,enhancement,new,dev-feedback,2013-02-08T15:41:24Z,2013-02-08T15:41:24Z,"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
16435,"When only one image has been uploading, make Enter submit the Insert into Post button",,Media,3.0.4,normal,normal,Awaiting Review,enhancement,new,,2011-02-01T17:06:29Z,2013-04-08T14:25:02Z,"When I didn't use !WordPress for my website I had an online site creator and when you had uploaded a pic and edited the proporties and then pressed enter the pic placed itself.
But in !WordPress you get an error that no pic is selected. 

So tje idea is that when you have just uploaded a pic and selected no other that the just uploaded pic is placed when you press enter",JonezJeA
21668,WordPress still does not save jpeg as progressive jpeg,,Media,3.4.1,normal,normal,Awaiting Review,enhancement,new,has-patch,2012-08-23T16:44:06Z,2013-04-08T12:52:45Z,"Every time WordPress does `imagejpeg` it should be doing `imageinterlace` beforehand to set progressive mode, but it's not.

http://php.net/manual/en/function.imageinterlace.php

Progressive jpeg has been supported by ALL browsers since 2001 or so.

progressive demo: http://bbshowcase.org/progressive/

Note that even if an ancient browser is listed somewhere as not rendering progressive, progressive jpeg still will be displayed, simply showing it all at once rather than gradual. 

IE6 for example WILL load progressive jpeg, it will just not render it progressively, instead it will load the entire image and then render all at once at the end.

Progressive algorithm will also make slightly smaller jpeg as a side effect in most cases.

ie. in `media.php`  
`
imageinterlace($newimage,1);
imagejpeg( $newimage, ...
`

This update is years overdue.

It might be possible to futureproof this by adding a filter to `$newimage` before the final `imagejpeg`. I am uncertain if that would work since filters would not pass `$newimage` by reference and instead make a copy - while newimage is only a pointer to php/gd memory. Can apply_filters be forced to work somehow by reference instead of a copy? Maybe that should be another feature idea.
",_ck_
17023,add hook for media_upload_library_form(),,Media,,normal,normal,Awaiting Review,enhancement,new,has-patch,2011-04-02T17:19:35Z,2011-04-02T18:24:05Z,"The ""Media Library"" tab of the Upload Media dialog includes a date filtering dropdown.  The query which populates it returns only month/year combinations in which attachments were uploaded.  However, that query is not filterable.

Plugins which filter backend access to attachments via standard WP_Query hooks need a way to make the month/year dropdown match those filtered results.

The corresponding patch adds query filter 'media_upload_year_month_query'
",kevinB
20663,add_image_size needs a $label,,Media,3.3.2,normal,normal,Awaiting Review,enhancement,new,,2012-05-12T20:47:31Z,2012-05-21T00:05:59Z,"add_image_size() does not have a $label parameter, this effects both localization but more importantly limits the `image_size_names_choose` filter.

The is when you try to add an image to a post and you can select sizes via the radio buttons.

Default sizes have labels like:  `'large' => __('Large')`

the `image_size_names_choose` filter is a great new filter that allows you to alter those radio buttons, but requires you to hardcore the array values for add_image_size() since it does not have a label (unless I'm missing something).

Reference code: https://gist.github.com/2668630

Related: #19990",wycks
10390,attachments should store the WP uploads path that was configured when they were uploaded,,Media,2.8.1,normal,normal,Future Release,enhancement,new,,2009-07-12T10:34:51Z,2010-05-13T08:52:54Z,"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
20620,create redirect_media_location filter in media.php,,Media,,normal,normal,Awaiting Review,enhancement,new,,2012-05-06T07:54:09Z,2012-05-06T07:54:09Z,"Similar to the post.php redirect_post_location filter, media.php could use a redirect_media_location filter. This is useful for plugins that want to edit an attachement and redirect back to a specific place.",Sjeiti
15311,dynamic image resize (on the fly) using already available functions,,Media,3.1,normal,normal,Future Release,enhancement,new,dev-feedback,2010-11-03T20:18:44Z,2013-05-11T16:00:11Z,"The lack of a dynamic resize function in WordPress forces theme developers to register lots of image sizes for their themes to use.

One of the problems with this approach is that the server becomes full of image files that will be never used.

Another problem is that when someone changes their theme the image sizes simply doesn't match, forcing people to use a plugin to regenerate all image files, and once again lots of those files will never be used.

So theme developers right now are using some sort of image resizing script like timthumb that works outside of wp. I think it has many drawbacks comparing to a native implementation.

So I made a function that uses WordPress native image handling capabilities to resize and save those resized images for future use.

I use this for attached images as well as standalone files such as custom fields and other images.

What I want here is just to share my solution, and maybe we can someday put something like this into core (actually something better then this):

{{{
/*
 * Resize images dynamically using wp built in functions
 * Victor Teixeira
 *
 * php 5.2+
 *
 * Exemple use:
 * 
 * <?php 
 * $thumb = get_post_thumbnail_id(); 
 * $image = vt_resize( $thumb,'' , 140, 110, true );
 * ?>
 * <img src=""<?php echo $image[url]; ?>"" width=""<?php echo $image[width]; ?>"" height=""<?php echo $image[height]; ?>"" />
 *
 * @param int $attach_id
 * @param string $img_url
 * @param int $width
 * @param int $height
 * @param bool $crop
 * @return array
 */
function vt_resize( $attach_id = null, $img_url = null, $width, $height, $crop = false ) {

	// this is an attachment, so we have the ID
	if ( $attach_id ) {
	
		$image_src = wp_get_attachment_image_src( $attach_id, 'full' );
		$file_path = get_attached_file( $attach_id );
	
	// this is not an attachment, let's use the image url
	} else if ( $img_url ) {
		
		$file_path = parse_url( $img_url );
		$file_path = ltrim( $file_path['path'], '/' );
		//$file_path = rtrim( ABSPATH, '/' ).$file_path['path'];
		
		$orig_size = getimagesize( $file_path );
		
		$image_src[0] = $img_url;
		$image_src[1] = $orig_size[0];
		$image_src[2] = $orig_size[1];
	}
	
	$file_info = pathinfo( $file_path );
	$extension = '.'. $file_info['extension'];

	// the image path without the extension
	$no_ext_path = $file_info['dirname'].'/'.$file_info['filename'];

	$cropped_img_path = $no_ext_path.'-'.$width.'x'.$height.$extension;

	// checking if the file size is larger than the target size
	// if it is smaller or the same size, stop right here and return
	if ( $image_src[1] > $width || $image_src[2] > $height ) {

		// the file is larger, check if the resized version already exists (for crop = true but will also work for crop = false if the sizes match)
		if ( file_exists( $cropped_img_path ) ) {

			$cropped_img_url = str_replace( basename( $image_src[0] ), basename( $cropped_img_path ), $image_src[0] );
			
			$vt_image = array (
				'url' => $cropped_img_url,
				'width' => $width,
				'height' => $height
			);
			
			return $vt_image;
		}

		// crop = false
		if ( $crop == false ) {
		
			// calculate the size proportionaly
			$proportional_size = wp_constrain_dimensions( $image_src[1], $image_src[2], $width, $height );
			$resized_img_path = $no_ext_path.'-'.$proportional_size[0].'x'.$proportional_size[1].$extension;			

			// checking if the file already exists
			if ( file_exists( $resized_img_path ) ) {
			
				$resized_img_url = str_replace( basename( $image_src[0] ), basename( $resized_img_path ), $image_src[0] );

				$vt_image = array (
					'url' => $resized_img_url,
					'width' => $new_img_size[0],
					'height' => $new_img_size[1]
				);
				
				return $vt_image;
			}
		}

		// no cached files - let's finally resize it
		$new_img_path = image_resize( $file_path, $width, $height, $crop );
		$new_img_size = getimagesize( $new_img_path );
		$new_img = str_replace( basename( $image_src[0] ), basename( $new_img_path ), $image_src[0] );

		// resized output
		$vt_image = array (
			'url' => $new_img,
			'width' => $new_img_size[0],
			'height' => $new_img_size[1]
		);
		
		return $vt_image;
	}

	// default output - without resizing
	$vt_image = array (
		'url' => $image_src[0],
		'width' => $image_src[1],
		'height' => $image_src[2]
	);
	
	return $vt_image;
}
}}}



",vteixeira
23711,file include wrapper for media_sideload_image,,Media,3.5,normal,normal,Awaiting Review,enhancement,new,dev-feedback,2013-03-07T15:14:26Z,2013-03-10T06:07:52Z,"Currently, when using `media_sideload_image` outside of wp-admin, you are required to load three extra files, as explained at [http://codex.wordpress.org/Function_Reference/media_sideload_image#Notes the bottom of this codex page].

This function simply calls those three files, but will allow flexibility in future versions if those file dependencies change.",norcross
18947,get_intermediate_image_sizes() should also contain width/height/crop values as sub array,,Media,3.2.1,normal,normal,Awaiting Review,enhancement,assigned,dev-feedback,2011-10-14T14:48:05Z,2012-01-06T16:22:03Z,"Currently the function [http://core.trac.wordpress.org/browser/branches/3.2/wp-includes/media.php#L580 get_intermediate_image_sizes()] only displays a combined list of built-in/default & (via {{{add_image_size()}}}) registered image size ''names''. In lot's of cases it would be pretty handy to also have the height, width & crop values attached as sub array as you can see it in {{{$GLOBALS['_wp_additional_image_sizes']}}}.

''I currently do not have a working dev version of wp installed, so I put it here as plain code:''

Change for [http://core.trac.wordpress.org/browser/branches/3.2/wp-includes/media.php#L580 get_intermediate_image_sizes()]:
{{{
function get_intermediate_image_sizes() {
	global $_wp_additional_image_sizes;
	$image_sizes = array('thumbnail', 'medium', 'large'); // Standard sizes
	foreach ( $image_sizes as $size ) {
		$image_sizes[ $size ]['width']	= intval( get_option( ""{$size}_size_w"") );
		$image_sizes[ $size ]['height'] = intval( get_option( ""{$size}_size_h"") );
		// Crop false per default if not set
		$image_sizes[ $size ]['crop']	= get_option( ""{$size}_crop"" ) ? get_option( ""{$size}_crop"" ) : false;
	}
	if ( isset( $_wp_additional_image_sizes ) && count( $_wp_additional_image_sizes ) )
		$image_sizes = array_merge( $image_sizes, $_wp_additional_image_sizes );

	return apply_filters( 'intermediate_image_sizes', $image_sizes );
}
}}}

The only two other affected lines in core are pretty a simple fix: Use the {{{array_keys()}}} only:

[http://core.trac.wordpress.org/browser/branches/3.2/wp-admin/includes/image.php#L106 wp_generate_attachment_metadata()]
and
[http://core.trac.wordpress.org/browser/branches/3.2/wp-includes/post.php#L3824 wp_delete_attachment()]:
{{{
foreach ( array_keys( get_intermediate_image_sizes() ) as $s ) {
}}}

I'm not really shure how the {{{crop}}} works, so this could maybe add additional DB calls if the option wasn't set - currently I only see {{{thumbnail_crop}}} added to the autoloaded options.

''The links are to the 3.2 branch of the repo.''",F J Kaiser
15149,image_get_intermediate_size partly ignores 'path' and 'url' fields and has inconsistent return values,,Media,3.1,normal,normal,Awaiting Review,enhancement,new,has-patch,2010-10-19T13:13:32Z,2013-04-08T14:44:35Z,"the current implementations of image_get_intermediate_size and image_downsize in wp-includes/media.php have several inconsistencies.

image_get_intermediate_size() returns the following information about an attachment for registered sizes: file, width, height, path, url. for ad-hoc sizes (if the size argument is an array) it returns: file, width, height.

in the second case, path and url information that may have been set by a plugin is lost.

further, the calling function, image_downsize(), in any case regenerates the url like this


{{{
$img_url = str_replace(basename($img_url), $intermediate['file'], $img_url);
}}}

this means that now also for the registered sizes, the 'url' information is discarded. further, this means that for registered sizes, the url is computed twice, once inside image_downsize as detailed above, once in image_get_intermediate_size() like this


{{{
$data['url'] = path_join( dirname($file_url), $data['file'] );
}}}


to me, a cleaner approach would be to return the full information (file, width, height, path, url) independent of whether an image size is registered or not. all these fields can then also be directly calculated inside image_get_intermediate_size() and the caller does not have to bother with, e.g., generating paths and urls. further, this would allow to accept path and url information that is already present in the db, also in the case of ad-hoc image sizes.

i put together a patch that provides a potential solution. 

 ",whoismanu
19629,return option for media_sideload_image,,Media,3.3,normal,minor,Future Release,enhancement,new,has-patch,2011-12-21T09:14:50Z,2012-11-12T21:10:09Z,"An optional parameter to return the attachment id opposed to the html would be beneficial to those attempting to make use of this functionality outside of press this.

Ticket: #11993 has an enhancement suggestion to allow adding thumbnails from URL.  I have written a solution for this enhancement, and the result duplicates the functionality of media_sideload_image() setting the post thumbnail opposed to returning the image html markup.",slbmeh
17071,wp_count_attachments() is not filterable,,Media,,normal,normal,Awaiting Review,enhancement,new,has-patch,2011-04-07T05:05:10Z,2011-04-07T05:12:06Z,"The Media Library attachments listing and edit links can be filtered via existing WP_Query and has_cap hooks. However, corresponding attachment counts are not cleanly filterable.",kevinB
21538,wp_get_attachment_image_src() is misnamed,,Media,2.5,normal,normal,Awaiting Review,enhancement,new,,2012-08-10T11:58:20Z,2012-09-06T06:25:45Z,"The function wp_get_attachment_image_src is misnamed. The name suggests that the function returns the URL for the src attribute of img tag, and this suggestion is so strong that it is practically impossible to remember that it in fact returns an array. I've just now been bitten by this for perhaps 50th time, and I have lost what amounts to days of debugging on finding out again and again that a function named ...get...src doesn't get src.

I suggest renaming to wp_get_attachment_image_attributes and forwarding+deprecating the old function.",rulatir
13694,Add $args parameter to wp_create_nav_menu(),,Menus,3.0,normal,normal,Future Release,enhancement,new,dev-feedback,2010-06-02T06:55:23Z,2010-06-03T00:22:35Z,"The attached patch adds an $args parameter to wp_create_nav_menu() which simply gets passed to wp_insert_term().  This would not be used during the standard case but is important for use when a plugin uses the menu system as a building block for enhanced functionality and needs to either set a specific slug or a specific parent.

I don't need for much (any) testing so I hoping this can make it in 3.0 so I can get rid of the ugly hack in the ""Microsite Editor"" plugin I'm working on.  Thanks. :-)",mikeschinkel
19272,Add Filter to Nav Menu Support Themes Text,,Menus,,normal,trivial,Awaiting Review,enhancement,new,has-patch,2011-11-16T22:47:52Z,2011-11-16T22:47:52Z,"Frameworks could use a filter here to customize the message: _n('Your theme supports %s menu. Select which menu you would like to use.', 'Your theme supports %s menus. Select which menu appears in each location.', $num_locations ). For example, it may be the child theme that doesn't support the menus. Also, if none are supported (say via add_theme_support), then when it's zero, it says: ""Your theme supports 0 menus. Select which menu appears in each location."" (which doesn't make much sense). So adding a filter can enable theme developers to further customize.

An example use case:
add_filter( 'nav_menu_theme_support_text' , 'wps_nav_menu_theme_support_text' );
function wps_nav_menu_theme_support_text ( $num_locations ) {
	if ( $num_locations == 0 )
		$text = 'Your child theme does not support custom menus.';
	else
		$text = _n('Your theme supports %s menu. Select which menu you would like to use.', 'Your theme supports %s menus. Select which menu appears in each location.', $num_locations );
	return $text;
}",wpsmith
16075,Add Post Type Archives support in Nav Menus,,Menus,3.1,normal,normal,Awaiting Review,enhancement,assigned,has-patch,2011-01-02T17:25:58Z,2013-03-29T13:32:54Z,"The setup: Take a post type (be it default or custom, in my case custom)

I wish to be able to add the archive page to the menu without adding the menu entry as hardcoded link (in my case /artists/) 

The problem: Adding it as hardcoded link does not bring the page up as current page in the menu when visiting the link. 

Example: 
http://www.blowmeup.ro/artists/ vs http://www.blowmeup.ro/crews/ ",matzipan
21603,Add a delete button to individual menu items,,Menus,3.4.1,normal,normal,Awaiting Review,enhancement,new,,2012-08-15T21:45:29Z,2012-08-15T21:45:29Z,"When working with a menu in the Admin, if you need to delete a lot of entries it's really slow because you have to expand each entry, then click delete, then wait for the refresh to do it all over again. If we had an X next to the down arrow for each menu item, it would be much faster/easier to delete them.

Thanks!",wphound
14884,Add a filter inside admin-ajax.php for walker,,Menus,3.0.1,normal,normal,Future Release,enhancement,new,,2010-09-16T14:01:31Z,2010-11-18T09:19:16Z,"I'm trying to extend the Wordpress menu system and i can't get the things working from start because inside admin-ajax.php on line 841, there is no filter. I'm talking about this piece of code

{{{
if ( ! empty( $menu_items ) ) {
		$args = array(
			'after' => '',
			'before' => '',
			'link_after' => '',
			'link_before' => '',
			'walker' => new Walker_Nav_Menu_Edit,
		);
		echo walk_nav_menu_tree( $menu_items, 0, (object) $args );
	}
}}}

The Walker_Nav_Menu_Edit class is applied by default.
If someone can add a filter, it would be great for all developers.",dmad
15214,Add class for menu items containing a sub-menu,,Menus,3.1,normal,normal,Future Release,enhancement,new,has-patch,2010-10-25T20:51:40Z,2013-04-23T02:12:41Z,"I wanted to add a class to the menu item LI elements for navigation menus that have sub menus. This would allow me to do some specific styling such as using a background that shows that a sub menu is available on hover.

I found that adding this support for both the wp_nav_menu and wp_list_pages functions was quite simple. So, I put together a patch in case it might be a good candidate for core.

The new classes are menu-item-with-sub-menu and page_item_with_children for wp_nav_menu and wp_list_pages, respectively. These class names were chosen to closely match the existing navigation classes of menu-item, sub-menu, page_item, and children.

I should note that while making this modification I found that the display_element method of the Walker class doesn't set has_children when $args is an object, just when it is an array. The patch also handles fixing this shortcoming of the Walker API.",chrisbliss18
15633,Add class to custom menu item when menu url is found in current page,filosofo,Menus,3.0.2,normal,normal,Future Release,enhancement,reviewing,needs-refresh,2010-12-01T21:06:41Z,2011-01-15T04:42:44Z,"I found the need to identify custom nav menu items when the page is at a certain URL. For example,

Menu URL: http://mysite.com/wiki/
Page URL: http://mysite.com/wiki/Moose_Attacks

Anything below http://mysite.com/wiki/ is considered to be ""within"" http://mysite.com/wiki/ so I want to add a class to the menu item whenever that happens.

I made a rough patch with the following code, added just below line 381 of wp-includes/nav-menu-template.php in wordpress 3.0.2:


{{{
     if ( strpos($current_url, untrailingslashit($item_url)) == 0 )
          $classes[] = 'current_url_parent';
}}}

This probably brings up other problems, such as other custom menu items having that class, but I hope this can be considered. Thanks

Bradford",elBradford
16828,Add filter on initial_meta_boxes for nav menu,,Menus,,normal,normal,Awaiting Review,enhancement,new,,2011-03-10T21:08:40Z,2013-05-08T09:19:56Z,"When you create a custom post type with `show_in_nav_menus = true` the metabox in Appearance->Menus is hidden to all new users.  This is especially annoying for multi-site setups.  The issue is in `wp_initial_nav_menu_meta_boxes()` where it sets the initial meta boxes:
{{{
$initial_meta_boxes = array( 'nav-menu-theme-locations', 'add-custom-links', 'add-page', 'add-category' );
}}}

I'd settle for a filter on that, but it seems like a more complete fix would be to add the filter with a default function hooked into it which would add post types with `show_in_nav_menus = true` to the list.",aaroncampbell
19264,Add get_nav_menu_item_children(),,Menus,,normal,normal,Awaiting Review,enhancement,new,has-patch,2011-11-16T19:09:23Z,2011-11-16T19:09:23Z,"Just as get_page_children() exists, it would be good to have get_nav_menu_item_children(). Since the object is different the code get_page_children() needs to be slightly modified.",wpsmith
13147,Add-menu-item boxes should slide on expand/collapse,,Menus,3.0,lowest,minor,Future Release,enhancement,assigned,,2010-04-27T15:54:23Z,2012-05-01T14:05:29Z,"Self-descriptive. This part of a #13134 patch wasn't being cooperative, so I moved it here.",koopersmith
21070,Added a filter to the sub-menu class attribute,,Menus,3.4,normal,normal,Awaiting Review,enhancement,reopened,dev-feedback,2012-06-25T12:47:34Z,2012-06-25T20:50:30Z,"The sub-menus are hard coded with ""sub-menu"" as the only CSS class. This may cause bad performing CSS with maintainability issues, like when you're targeting the third level sub menu.

I've added a filter, so CSS classes like ""sub-menu-level-$depth"" can be added.",bjornjohansen
14698,Adding custom menu items in a WP managed menu,,Menus,3.0.1,normal,minor,Awaiting Review,enhancement,reopened,,2010-08-25T21:22:12Z,2011-01-29T17:52:21Z,"In Walker:walk() line 932 of classes.php (WP version 3.0.1), the comparison of the parent ID to 0 is done so using ==.  This is an issue if you're trying to manually insert a menu item for a term within a menu consisting of posts.  I would like to be able to set the parent_id to something like 'term:4' (with 4 being the ID of the term).  But because it is a string and comparing a string to zero with == will always equate to false.

I suggest that line 932 is changed from:
{{{
if ( 0 == $e->$parent_field )
}}}
to:
{{{
if ( empty( $e->$parent_field ) )
}}}

The end result I'm looking for is a way to take an existing menu and add in sub-items for a particular item that contains all the terms from a given taxonomy.  Then for each of the term items, add child items for all of the custom posts associated to the term.  For the time being, I'm using a negative db_id to bypass the comparison issue.

Here's a sample of my code:
{{{
function my_get_nav_menu_items($items, $menu, $args) {
  if ($menu->slug != 'primary') {
    return $items;
  }
  $findAProgram = null;
  foreach ($items as $item) {
    if ($item->post_name = 'find-a-program') {
      $findAProgram = $item;
      break;
    }
  }
  if ($findAProgram) {
    $order = count($items);
    foreach (get_terms('program-focus') as $term) {
      $posts = get_posts(""taxonomy=program-focus&term={$term->term_slug}&post_type=programs"");
      if (!empty($posts)) {
        $term = wp_setup_nav_menu_item($term);
        $term->menu_item_parent = $findAProgram->db_id;
        // set db_id to negitive value to avoid collisions with posts with the same ID
        // This is needed due to the non-strict equality check in classes.php
        // line 932 in Walker::walk().  I would love to use a string for the
        // term ID's (something like 'term:4'), but ""any string"" == 0 will
        // always return false.
        $term->db_id = -1*$term->ID;
        $term->menu_order = $order++;
        $items[] = $term;
        foreach ($posts as $post) {
          $post = wp_setup_nav_menu_item($post);
          $post->menu_item_parent = $term->db_id;
          $post->menu_order = $order++;
          $items[] = $post;
        }
      }
    }
  }
  return $items;
}
add_filter('wp_get_nav_menu_items', 'my_get_nav_menu_items', 10, 3);
}}}

",mackeyn@…
17221,Adopt a selected page hierarchy to a custom menu,,Menus,3.1,normal,normal,Future Release,enhancement,new,has-patch,2011-04-23T11:14:12Z,2011-05-26T15:40:33Z,"I don't know if this is a bug or a FR but I think it would be handy to have a option that when you make a costum menu that the parent and child pages stay in order. In other words: when you made a game page as parent and WoW as childpage that when you add those two pages at the costum menu editior that is automatic orderend as the parent child page

ps: sorry for bad english",JonezJeA
13273,"Allow ""'non-clickable"" menu items",,Menus,,normal,minor,Future Release,enhancement,new,,2010-05-06T10:58:50Z,2010-10-28T09:26:20Z,"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
12934,Allow a menu to be added as a menuitem to be a submenu.,ryan,Menus,3.0,normal,normal,Future Release,enhancement,new,,2010-04-08T21:55:32Z,2010-10-28T09:12:09Z,"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
23627,"Allow plugins to short-circuit wp_nav_menu, good for performance",,Menus,3.5.1,normal,normal,Awaiting Review,enhancement,new,has-patch,2013-02-26T12:49:28Z,2013-02-26T14:44:22Z,"We already have short-circuit filters for [http://core.trac.wordpress.org/browser/tags/3.5.1/wp-includes/widgets.php#L180 widgets], [http://core.trac.wordpress.org/browser/tags/3.5.1/wp-includes/option.php#L40 options], [http://core.trac.wordpress.org/browser/tags/3.5.1/wp-includes/link-template.php#L115 links] that all can be used for retrieving items from non-persistent data store. It would make a lot of sense if this feature was also available to `wp_nav_menu` which is particularly DB heavy. 

My suggestion is to add `pre_wp_nav_menu` right after `wp_nav_menu_args`, like so:

{{{
	$args = wp_parse_args( $args, $defaults );
	$args = apply_filters( 'wp_nav_menu_args', $args );
	$args = (object) $args;

	// Allow plugins to short-circuit menu output
	$nav_menu = apply_filters( 'pre_wp_nav_menu', '', $args );

	if ( ! empty( $nav_menu ) && $args->echo )
		echo $nav_menu;
	elseif ( ! empty( $nav_menu ) )
		return $nav_menu;

	// Get the nav menu based on the requested menu
	$menu = wp_get_nav_menu_object( $args->menu );
}}}",kasparsd
19499,Allow wp_nav_menu to return just the links (no <li> tags),nohalfpixels,Menus,3.2.1,normal,normal,Awaiting Review,enhancement,new,reporter-feedback,2011-12-10T12:15:35Z,2011-12-10T17:44:37Z,"every now and again i find im in the need of the wp_nav_menu function where i only want a list if links, not the outer ul, or the li tags.

there is already scope to remove the outer ul.

but no support for removing the <li> tags from the returned results.

at present i have to do this:


{{{
$foot_nav = wp_nav_menu( array( 'container' => '', 'echo' => '0', 'theme_location' => 'footer_menu' ) );
$foot_nav2 = preg_replace( array( '#^<ul[^>]*>#', '#</ul>$#' ), '', $foot_nav );
$foot_nav2 = preg_replace( array( '#<li[^>]*>#', '#</li>$#' ), '', $foot_nav2 );
echo $foot_nav2;
}}}



this isnt very clean, it would be nice to just be able to pass a parameter the wp_nav_menu function which just returns the links.

i propose something like:


{{{
'return_links' => true,
}}}



the main reason for this is styling centered links in the footer.

its much easier to just center links than it is to center a <ul> and results in much cleaner html with less dom elements.",nohalfpixels
24101,Argument for separating wp_nav_menu items,,Menus,trunk,normal,normal,Awaiting Review,enhancement,new,close,2013-04-16T09:50:37Z,2013-04-17T06:59:01Z,"There is no proper way to add separators between menu items without generating custom walkers for menus.

The use of menu elements with separators are great for page styling where one doesn't need a menu container like in common primary navigation areas, but rather just want a quick list for example in a page footer.

I feel having to use a custom walker for this purpose is more work then need be, for a feature that would make sense to include with core, the below patch introduces the `separator` argument to the mix to address this.

{{{wp_nav_menu( array( 'separator' => ' | ' ) );}}}

The above would output a menu as `Menu item | Menu item 2 | Menu item 3`",Clorith
19464,Auto add do_action for menu in admin,,Menus,,normal,normal,Awaiting Review,enhancement,new,,2011-12-07T12:29:46Z,2011-12-07T12:30:39Z,"In menu's there is this feature: ""Automatically add new top-level pages"" 

I'm in a process to implement ""Automatically add categories"" and ""Automatically add new subpages of page:"", but unfortunately there is no action which to hook so I could insert HTML right after or before the ""auto-add-pages"" in my plugin.

So I suggest to add a new action or filter like ""menu_auto_add"" so it would be simple to insert the HTML after the auto-add-pages.",ciantic
18588,"Auto-select ""Primary Menu "" when switching themes",,Menus,,normal,normal,Future Release,enhancement,new,,2011-09-04T18:08:03Z,2013-03-12T09:40:48Z,"Now that we have auto-matching of sidebars when switching themes, it's time to do the same for at least the Primary Menu. This would improve the UX quite a bit.

While testing the widgets/sidebars had to switch themes many times and since my test install has few hundred pages, each time I've ended up with a huge menu on the front end. That of course looks completely broken.

Further to keeping the setting for Primary Menu on theme switching IMHO we should auto-set it as soon as a menu is created. This would fix the most unfriendly experience with the menus screen.",azaozz
11957,Change Admin Menu Save-State Rules,ryan,Menus,,normal,normal,Future Release,enhancement,new,early,2010-01-20T18:04:19Z,2011-02-28T11:40:19Z,"When we redid the menus in 2.7, we built in a save-state to keep open sections you had explicitly expanded until you explicitly closed it. I think it was a good experiment, and in some cases is helpful (like for people who are frequently accessing discussion settings or some such), but overall I think it adds to the problem of having too many menus expanded on a small screen pushing the lower menu items out of reach without scrolling. Mark and I have talked about various options for this, and we both agree that we should remove the save-state feature from the menu. So, the section you're in would stay open and highlighted, and if you opened another menu section to see the subs, if you had another menu open before, it would close. You could only ever have one section open at a time in addition to the one you're currently in. Maybe we could release the original save-state menus controls as a plugin in case there's anyone who prefers it that way. ",janeforshort
13247,Drag/drop for add menu item boxes,koopersmith,Menus,3.0,normal,normal,Future Release,enhancement,new,,2010-05-04T07:12:03Z,2010-10-28T09:25:22Z,Because checkboxes are no fun. This first patch covers dragging from view all and most used. Search still has bugs.,koopersmith
18527,Duplicate Menu Option or Add a Hook for Plugins,,Menus,3.3,normal,normal,Awaiting Review,enhancement,new,has-patch,2011-08-26T21:09:21Z,2011-09-04T10:25:22Z,"It would be great to add a hook for plugins to be able to add options, etc, to Appearance > Menus. One thing would be to have the option to duplicate a menu.

I have worked up a patch that accomplishes this, which would serve as a good starting point for adding duplication functionality.",wpsmith
12900,Enhance Nav_Menu to use the older menu functions,,Menus,,normal,normal,Future Release,enhancement,reopened,,2010-04-07T16:42:23Z,2011-09-12T20:14:27Z,"Concerning wp_list_pages, wp_page_menu, and/or wp_list_categories functions:

Since these functions exists and developers are comfortable with them, and they'd add much functionality if they were included in the new wp_nav_menu function.

Could the wp_nav_menu utilize these established functions in itself to allow ""dynamic"" listing of pages with the useful options available in those functions?

New ""widgets"" on the left among the ""Add Existing Page"" and ""Add an Existing Category"" (perhaps ""Add Dynamic Page List"" or the like) that would essentially be a UI interface for the args that the wp_list_pages, wp_page_menu, or wp_list_categories functions already accept. The wp_nav_menu would then pass those args to the appropriate function and create items in the appropriate place in the nav menu. (I have no idea how easy/hard that'd be.)

This wouldn't replace the ""Add Existing Page"" or ""Add an Existing Category"" as starting at zero and adding individual items is different and also very useful.

This treatment might be appropriate for any function listed in ""Related"" http://codex.wordpress.org/Template_Tags/wp_list_pages#Related or maybe only wp_page_menu or wp_list_pages. I think it warrants discussion.

P.S. This is well above my ability in PHP. I don't think I can't do a working patch on this :-(",WraithKenny
13998,Inconsistency in arguments when wp_nav_menu falls back to wp_page_menu,,Menus,3.0,normal,normal,Future Release,enhancement,new,,2010-06-19T15:22:58Z,2010-12-09T14:02:29Z,"[http://codex.wordpress.org/Function_Reference/wp_nav_menu wp_nav_menu]'s 'menu_class' parameter applies the class to the <ul>. 

The default fallback function [http://codex.wordpress.org/Template_Tags/wp_page_menu wp_page_menu] however, applies 'menu_class' to the <div> enclosing the <ul>.

This can cause inconsistent styles if the style is applied to ul.<menu class>",Utkarsh
22009,Menu Builder URL structure,,Menus,3.4.2,normal,normal,Awaiting Review,enhancement,new,,2012-09-26T21:16:12Z,2012-09-26T21:16:12Z,"Menu builder is a great functionality, but I can't figured it out why URL structure is based on page builder rather than menu builder?[[BR]]
In my point of view, it would make more sense if we could define a simple ""identifier"" for each page (ie : ""my-page"" for a page named ""My page"") and build architecture in menu builder (or make it optional) --> the URL structure will be generate base on the menu builder hierarchy.[[BR]]
Actually, when moving an element, we have to define a new parent in the page builder to follow the menu logic?",will83
10597,More classes in menu generated using wp_list_pages and wp_page_menu,ryan,Menus,,normal,normal,Future Release,enhancement,new,,2009-08-12T11:17:41Z,2010-03-01T20:46:38Z,"I think that dev team should think about adding more classes to positions generated by wp_list_pages and wp_page_menu as it's very hard to style those menus. I'm thinking about class ""parent"" for every li that contains another ul etc. We got current_page_ancestor and others but they only work if you're on the child ...",newkind
23806,"Nav Menu Edit Walker per menu item type, not menu?",,Menus,,normal,normal,Awaiting Review,enhancement,new,,2013-03-18T02:09:11Z,2013-03-19T11:53:01Z,"The assignment of a walker to show the menu items on the right side of the Menus screen is set per menu in `wp_get_nav_menu_to_edit()`.

Ideally, it could be overridden per menu item type. That is, posttype, custom and taxonomy menu items can be handled by `Walker_Nav_Menu_Edit`, while a menu item (in the same menu) or 'foobar' can be handled by the `start_el()` from a different walker.

As things stand, I'd have to extend `Walker_Nav_Menu_Edit`, copy `start_el()`, and place the conditional code for what to output in there (in my case, strip out fields that aren't ever going to be used in my 'foobar' menu item type).",GaryJ
17698,"Nav menu ""Add to menu"" buttons should be disabled if they're actually non-functional",koopersmith,Menus,3.0,normal,trivial,Awaiting Review,enhancement,reviewing,has-patch,2011-06-05T23:10:27Z,2011-06-22T17:15:41Z,"Nav menu ""add to menu"" buttons currently stay enabled, or enabled-looking, even if no .categorychecklist are checked or if no custom link URL is entered. We should dynamically specify whether that button is enabled or not, based on the options in that postbox.",mitchoyoshitaka
18584,Nav menu UI needs more hooks,,Menus,3.3,low,minor,3.6,enhancement,new,has-patch,2011-09-04T02:38:16Z,2013-04-16T15:29:35Z,"I'm trying to add some additional fields to the nav menu blocks but sadly there are no hooks for doing so. Zero.

We should add some and get in a better habit of just doing so when the code is written.

My specific suggestions are before the Remove/Cancel links (i.e. for adding standard stuff), one above the ""original"" field, and one after those action links (to add more actions).",Viper007Bond
23832,Nav menu screen text tweaks,,Menus,trunk,normal,normal,Awaiting Review,enhancement,new,has-patch,2013-03-20T22:38:08Z,2013-03-21T17:23:57Z,,johnbillion
14975,Nav-menu system does not always run titles through 'the_title' filter.,,Menus,,normal,normal,3.6,enhancement,new,commit,2010-09-27T15:19:48Z,2013-05-04T23:41:26Z,I am using the qTranslate plugin that uses the 'the_title' filter to parse its multilingual content (separated with comment tags). All titles are parsed well except for the titles appearing in the menu system's meta boxes; It seems this is because nav-menu functions don't run the titles through this filter.,Goldfrapper
14325,"No possibillity to add a ""Home""-link to the nav_menu when there are no Pages",,Menus,3.0,normal,normal,Future Release,enhancement,new,dev-feedback,2010-07-15T22:36:13Z,2012-03-07T20:10:38Z,"If you want to add a ""Home"" link to the new nav_menu in Wordpress 3.0 you can't do so, if there is no Page created yet. If there is no Page, there is also no ""View All""-Button in the Pages-Section to view the ""Home""-Link.

In my opinion the ""Home-Link"" in the Pages-Section is very hidden anyway.",lundj
19365,Pages listed under Most Recent and Search tabs of Page meta box in Appearance -> Menus should be filterable,,Menus,3.2.1,normal,normal,Awaiting Review,enhancement,new,has-patch,2011-11-26T09:10:41Z,2013-03-04T17:30:09Z,"On the '''''Appearance''''' -> '''''Menus''''' administration page, pages listed under the '''''Most Recent''''' and '''''Search''''' tabs of the '''''Page''''' meta box on the left are not filterable. Since the pages listed under the '''''View Al'''l'' tab of the said metabox are already filterable via the '''''nav_menu_items_page''''' hook, why not do the same for these 2 tabs?

I have a plugin that generates a number of pages that are accessible by registered users only, and I do not want administrators to be able to put these pages on the menu in any way.",onokazu
19064,Pass $depth argument to nav_menu_css_class filter,cyclometh,Menus,3.2.1,normal,minor,Awaiting Review,enhancement,reopened,has-patch,2011-10-26T22:31:15Z,2012-04-12T07:36:34Z,"function start_el() in nav-menu-template.php receives a $depth argument, representing the nesting level of the current menu item, but does not pass it to the nav_menu_css_class filter.

Passing the $depth argument allows one to create classes on a menu item such as menu-item-depth-1, menu-item-depth-2, etc by hooking the nav_menu_css_class filter.
",cyclometh
13222,Private Page Not in Menu,,Menus,3.0,normal,normal,Future Release,enhancement,assigned,,2010-05-03T03:59:31Z,2011-02-25T17:21:02Z,"According to me, there should be a option of Adding private Pages to the Wordpress Menu System. Adding them as a link is a problem as non-logged in members see it as a 404 link. So if Wordpress Menus allow Private Pages to be added in such a way so that the menu item appears only when you are logged in would be awesome.",navjotjsingh
13335,The menu's + tab should be to the right of the menu navigator,,Menus,3.0,low,minor,Future Release,enhancement,new,dev-feedback,2010-05-11T09:43:53Z,2010-11-15T20:25:27Z,"If you create enough menus to occupy the full width of the screen and beyond, you end up with navigator tools that allow to scroll left/right in order to navigate the menus you've created.

The last menu item is the + tab is the last available item. Would it not make more sense for it to always be visible?",Denis-de-Bernardy
15646,Theme menu locations don't appear until a menu is created,,Menus,3.0,normal,normal,Awaiting Review,enhancement,new,dev-feedback,2010-12-02T12:33:47Z,2013-03-07T19:17:49Z,"Nacin told me this was by design, but he said to create a ticket after I asked him this: How can a user know what menu to create or whether to create a menu if they don't know the locations that the theme supports?

Related: http://wordpress.org/support/topic/register_nav_menu?replies=29",JohnONolan
14331,Tweaks to menu setup page,,Menus,3.0,normal,normal,Future Release,enhancement,new,,2010-07-16T21:30:45Z,2012-08-07T10:47:34Z,"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
23076,Update menu item title when editing menu item label,,Menus,3.5,normal,minor,Awaiting Review,enhancement,new,,2012-12-29T13:59:46Z,2012-12-29T13:59:46Z,"I'd like to suggest that the menu item title gets updated when the user is editing the ""Navigation Label"" field. That results in a nicer preview, when the menu item is collapsed again before saving.",tillkruess
16594,inconsistency in wp_nav_menu_items,,Menus,3.0,normal,normal,Future Release,enhancement,new,has-patch,2011-02-19T10:43:12Z,2012-06-28T04:29:51Z,"Not sure if it is a bug: when I create a menu, e.g.
wp_nav_menu(array( 'theme_location' => 'footer' ));
and put there a menu (E.g. named ""My menu"") using nav-menu.php editor and then try to call wp_nav_menu_items filter to see all arguments, e.g.
{{{
add_filter('wp_nav_menu_items','my_test', 10, 2);
function my_test($items, $args) {
print_r ($args);
}
}}}
the resulting object is

{{{
(
    [menu] => 
    [container] => div
    [container_class] => 
    [container_id] => 
    [menu_class] => menu
    [menu_id] => 
    [echo] => 1
    [fallback_cb] => 
    [before] => 
    [after] => 
    [link_before] => 
    [link_after] => 
    [items_wrap] => <ul id=""%1$s"" class=""%2$s"">%3$s</ul> 
    [depth] => 0
    [walker] => 
    [theme_location] => menu
)
}}}

But if I put the same ""My menu"" to the same place using widget, I got object with extended 'menu'

{{{
    [menu] => stdClass Object
        (
            [term_id] => 4
            [name] => My menu
            [slug] => my-menu
            [term_group] => 0
            [term_taxonomy_id] => 4
            [taxonomy] => nav_menu
            [description] => 
            [parent] => 0
            [count] => 3
        )
 
    [container] => div
    [container_class] => 
    [container_id] => 
    [menu_class] => menu
    [menu_id] => 
    [echo] => 1
    [fallback_cb] => 
    [before] => 
    [after] => 
    [link_before] => 
    [link_after] => 
    [items_wrap] => <ul id=""%1$s"" class=""%2$s"">%3$s</ul> 
    [depth] => 0
    [walker] => 
    [theme_location] =>
}}}

I guess that they should be the same (except 'theme_location') - the problem is, that using the first scenario, i got no way to find ""My menu"" details - id, name, slug ... of the menu, so i even cannot filter by them in my functions (e.g. apply filter just for a specific menu).",thomask
14969,"menu element ""all (direct) child pages""",,Menus,3.0.1,normal,normal,Future Release,enhancement,new,,2010-09-26T20:16:39Z,2010-10-28T08:25:22Z,"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
16301,set limits to nesting of menus,,Menus,,normal,normal,Future Release,enhancement,new,dev-feedback,2011-01-19T16:21:10Z,2011-01-20T20:12:38Z,"It would be great to be able to limit/control the nesting depth of menus. I'm using menus to let my editors control where posts show up in various spots in our theme, and don't want them to accidentally nest a link deeper than it should be.",alxndr
12993,'get_current_blog()' and/or 'current_blog_id()' function?,,Multisite,3.0,normal,normal,Future Release,enhancement,new,,2010-04-14T08:32:48Z,2010-08-24T22:42:11Z,"I posted this over in the mu forums but realize it is pretty dead over there and may be better mentioned here:

http://mu.wordpress.org/forums/topic/17568?replies=2

It would be a great help to easily get the current blog's id as in 'current_blog_id()'. I searched the entire wordpress 3.0 and mu code and it is not mentioned anywhere.

'get_current_blog()' might imply something more complex that returns all a blog's info, which would be nice too.

But in the short term... 'current_blog_id()'?

People are currently having to call global variables to use $wpdb, $current_site and/or $blog_id. I feel all of these are messy and pretty generic variables to be using within theme or plugin files.",martythornley
13743,Ability to change default theme for network sites,,Multisite,3.0,normal,normal,Future Release,enhancement,reopened,,2010-06-06T05:44:12Z,2010-12-06T20:16:41Z,"As stated in summary. I use WP 3.0 RC and I've found out that there is no way to set up a theme which should be used by default for newly created sites in network. Even then I disable all the themes except the one I want to be used, WP still set thentyten as theme for newly registered site. The only solution I was able to find is to change theme description and name to twentyten and delete all other themes. It's so simple to let administrator choose default network theme, and this option is present in many other CMS.",fuwaneko
24138,Add Constant control for Multisite.,,Multisite,,normal,normal,Awaiting Review,enhancement,new,,2013-04-19T15:53:06Z,2013-04-22T07:58:41Z,"Not sure if this should be tagged as feature request or enhancement.

WordPress is now making quite an extensive use of constants (like AUTOSAVE_INTERVAL , WP_POST_REVISIONS or EMPTY_TRASH_DAYS ) that are configured in wp-config.php in the form of define('EMPTY_TRASH_DAYS', 1 ); .

Right now, AFAIK , there is no way to define those variable on a site-to-site (or blog-to-blog) basis in Multisite mode.

So for example if one wants his main blog to empty trash every 3 days, while another blog to be set to 5 , or even allow and enable DEBUG_MODE on a certain blog , while keeping it disabled in others , is not currently possible (again, AFAIK) .

Now, I am not sure this should be done with constants , or with some new functions , or simply in some settings implementation, or even with some kind of a blog-based config.php for each blog ,  but it sure would be a necessary layer of control to have ( if indeed the Multisite feature is to be kept alive and expanded ..)


",krembo99
20107,Add Filter for user_name length in ms user signup,,Multisite,,normal,normal,Awaiting Review,enhancement,new,dev-feedback,2012-02-23T17:46:45Z,2012-02-23T22:44:26Z,"It is difficult for us to explain our clients why they cannot have usernames with 3 chars and left. For that issue I'd like to recommend a filter for that, so we can change this with a plugin.",hughwillfayle
21143,Add a hook for when no blog is found (in addition to NOBLOGREDIRECT),,Multisite,,normal,normal,Future Release,enhancement,new,has-patch,2012-07-03T01:20:45Z,2012-11-07T22:18:40Z,"(Related to #21142)

'''Background'''

On a multisite install, we allow users to change their subdomain name (or domain name).

We keep a list of their previously used subdomains/domains, and if there is a HTTP request for one of their old domains, we automatically perform a 301 redirect to the new domain name.

'''Problem'''

In order to perform a 301 redirect from and old domain to the new domain, we currently have to use wp-content/sunrise.php.

However we would like to take advantage of the logic at the top of wp-includes/ms-settings.php, rather than re-inventing that logic in our sunrise.php file.

The NOBLOGREDIRECT constant can be used for this, but it does not allow us to perform a 301 redirect.

'''Solution'''

Adding a simple hook to ms-settings.php would allow a sunrise.php file to determine what should happen if a HTTP request on a Multisite install does not correspond to one of the existing sites/blogs.
See attached patch.",jamescollins
20075,Add action hooks to wp-activate.php in WP network,,Multisite,3.3.1,normal,normal,Awaiting Review,enhancement,new,,2012-02-19T11:55:26Z,2012-02-19T11:55:26Z,"Similar to the hooks in wp-signup.php:

do_action( 'before_signup_form' );
do_action( 'after_signup_form' );

these hooks should be added to wp-activate.php:

do_action( 'before_activate_form' )
do_action( 'after_activate_form' )

Purpose : allow signup and activate pages to be built/styled in a similar way.
",gdvwp
20592,Add hooks to New Site form in Dashboard,,Multisite,,normal,normal,Awaiting Review,enhancement,new,,2012-05-01T18:53:16Z,2012-07-20T19:03:02Z,"WordPress provides hooks for altering the wp-signup.php form that users use to create new sites on a MultiSite network.  Using these, we developed a plugin that adds fields there for people to indicate some other information about their site. (specifically, to choose a topic)

However, there are no such hooks available on the New Site form available to network admins via the dashboard for some reason.  This means that I am not able to append the extra form fields here that I can on the wp-signup.php page.

There should be similar (or identical) hooks used here so the New Site form can be modified in a similar way and be consistent with the wp-signup.php form.",MadtownLems
22917,Allow Live Updating of User & Site number in Multisite network dashboard 'Right Now' meta box,,Multisite,3.5,normal,normal,Future Release,enhancement,new,dev-feedback,2012-12-13T14:54:48Z,2013-05-14T12:40:17Z,"Wordpress installation don’t show the correct number of users and sites correctly registered in the site.

Please see images for reference:

- https://dl.dropbox.com/u/7531173/mu/Only1Site1User.png
- https://dl.dropbox.com/u/7531173/mu/UsersNumber.png
- https://dl.dropbox.com/u/7531173/mu/UsersSites%20.png",vmaia
22701,Allow the use of SITEURL and HOME constants for Multisite Installations,,Multisite,,normal,normal,Awaiting Review,enhancement,reopened,,2012-12-03T21:21:26Z,2012-12-03T22:02:13Z,"This is a proposal to allow the use of the SITEURL and HOME constants, as we do with single site installations.

My proposal would be to follow the naming conventions put forward by the database schema for multisite installations.

Example for a constant override of the siteurl and home option for blog_id 3.

{{{
#!php
define('WP_3_SITEURL', 'http://example.com');
define('WP_3_HOME', 'http://example.com/wp');
}}}

",jondavidjohn
15706,Allow wildcarded domains in multisite limited email domains,westi,Multisite,,normal,normal,Future Release,enhancement,reviewing,dev-feedback,2010-12-06T18:59:24Z,2012-08-29T16:45:39Z,"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
20176,Allowing the Developer Filter the Regex on wpmu_validate_user_signup(),,Multisite,3.4,normal,normal,Awaiting Review,enhancement,new,dev-feedback,2012-03-04T23:03:53Z,2012-09-28T04:16:15Z,"So I've been having a problem with the way WordPress Multisite handles the restriction for new users. 

Looking at the file ''ms-functions.php'', I saw no Filter to the regular expression applied on the user_name to do it's validation. 

I've changed like this, so by default you will be restricted to the ''[a-z0-9]'' pattern, but if needed the developer should have the power to filter that. 

This might need a patch for the domains.",webord
15828,Alphabetized My Sites,jakub.tyrcha*,Multisite,,normal,minor,Future Release,enhancement,accepted,has-patch,2010-12-15T15:52:48Z,2013-02-08T13:42:00Z,"For installs that have lots of sites it would be easier to browse if the sites are alphabetized. I add the following code to our install after each update. It would be nice if this was the default. 

after line 72: reset( $blogs );
{{{
	function cmp($a, $b){
		if ($a->blogname == $b->blogname)return 0;
		else return ($a->blogname < $b->blogname) ? -1 : 1;
	}
	uasort($blogs, 'cmp');

}}}",scep
23349,Be able to suppress registration redirect for multisite in wp-login.php,,Multisite,3.5.1,normal,normal,Awaiting Review,enhancement,new,,2013-02-01T01:29:35Z,2013-02-01T02:06:55Z,"Currently I commented out the following lines in wp-login.php.  But I should be able to use a filter.  Maybe test the result  'wp_signup_location' filter if false do not exit.  Easy, and seems to annoy many people.
{{{
case 'register' :
    /*  AJB Comment out
	if ( is_multisite() ) {
		// Multisite uses wp-signup.php
		wp_redirect( apply_filters( 'wp_signup_location', network_site_url('wp-signup.php') ) );
		exit;
	}
	*/
}}}",aberglas
12030,Better Options for New Registrations,,Multisite,,normal,normal,Future Release,enhancement,new,,2010-01-26T00:23:07Z,2012-04-18T17:13:58Z,"MU Trac Ticket: http://trac.mu.wordpress.org/ticket/872



At the moment when new users register, there are very few options and not many plugins available.. It would be nice if the administrator could :

1) Allow passwords to be set during registration, rather than having it sent by email.

2) Make Email Verification optional.

3) See the users who haven't confirmed their registrations, and resend the confirmation emails from the admin area..

4) User Moderation : Make it easier to kick out users and delete spammers.. 

5) Invitation Codes (Optional): Allow the admin to create invite codes, which he can distribute, so that the mu install is well knit social community.

I know this is pretty much doable, but there lacks any good solution at the moment.
",wpmuguru
19879,Better caching for get_dirsize,,Multisite,3.3.1,normal,normal,Awaiting Review,enhancement,new,,2012-01-23T15:42:59Z,2012-01-24T23:54:25Z,"In a multisite install, when trying to determine whether a site has exceeded its storage quota, WordPress will scan through a blog's upload directory and sum up the file sizes, by running {{{filesize}}} against each one. With a large number of files, this can significantly slow down the upload process or certain portions of the Dashboard.

{{{get_dirsize}}} has transient caching in place but this is a single cache entry for all folders. It might be better if WordPress has a separate cache entry for each folder and was invalidated based on context so that get_dirsize does not need to be run constantly on older, unchanged directories as frequently.",batmoo
19451,Cannot distinguish which WordPress Signup stage I am,,Multisite,3.3,normal,minor,Awaiting Review,enhancement,new,has-patch,2011-12-05T23:35:02Z,2011-12-06T20:30:15Z,"As a plug-in developer under WordPress MS I would like to recognize at which stage I am of the signup:
1. first page because of some errors
2. blog confirmation page in case of no errors

Unluckily as today we have:
<input type=""hidden"" name=""stage"" value=""validate-blog-signup"" />

that is the same for the whole process instead would be nice to have a different value there.

Plus we have:
<?php do_action( 'signup_hidden_fields' ); ?>

But even this action is called in both stages.

So how about start naming the stages differently and also call different actions?
For example I want to include some hidden fields only when I am sure all errors are gone and I am already on confirmation of blog name stage.
I don't see this possible right now.",Cimmo
22383,Combine Domain and Path UI,,Multisite,,normal,normal,Future Release,enhancement,new,has-patch,2012-11-07T22:30:08Z,2012-11-08T01:03:40Z,"When editing a site in /network/site-info.php?id=123 you get two fields: one for the site's domain and another for the path.

It would make more sense from a UX perspective to have a single URL field, which would be intelligently parsed on save.",scribu
12145,Enhance activation process to improve integration with site theme,westi,Multisite,,normal,normal,Future Release,enhancement,new,,2010-02-06T07:10:13Z,2012-01-11T11:21:04Z,"wp-activate.php creates many notices on load due to theme hackery

an example to start:
{{{
Notice: Trying to get property of non-object in G:\www\ho.st\wp-includes\comment-template.php on line 777

Notice: Trying to get property of non-object in G:\www\ho.st\wp-includes\comment-template.php on line 794

Notice: Trying to get property of non-object in G:\www\ho.st\wp-includes\general-template.php on line 1588

Notice: Trying to get property of non-object in G:\www\ho.st\wp-includes\query.php on line 2600
Notice: Trying to get property of non-object in G:\www\ho.st\wp-includes\query.php on line 2600

Notice: Trying to get property of non-object in G:\www\ho.st\wp-includes\post-template.php on line 431

Notice: Trying to get property of non-object in G:\www\ho.st\wp-includes\query.php on line 2600

Notice: Trying to get property of non-object in G:\www\ho.st\wp-includes\post-template.php on line 1172
class=""page page-id- page-parent logged-in"">
}}}

the problem is, that wp-activate.php attempts to simulate a normal WordPress page, the problem arrises that when the header is included and/or custom code in the theme runs on the header, that the no-existance of the current post id (NULL) causes most of the WordPress functions to complain, as they're expecting a correct post object to be returned.

2 options
 1. Update all API function to move to {{{ if ( ! $_post = get_post(..) ) return false; - This should probably be done anyway
 2. Improve the hackery to allow displaying custom pages such as wp-activate.php more transparently.

Furthur to #2, this might involve creating a page in the database which the API functions can access directly, the activate site page would then become a real page in the eyes of WordPress.",dd32
17948,Enhancements to the login and registration forms,wpdavis,Multisite,3.2,normal,normal,Awaiting Review,enhancement,new,,2011-06-30T16:25:01Z,2013-01-14T19:27:28Z,"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
14172,Implement $scheme in site info in ms-sites edit site,,Multisite,3.0,normal,normal,Future Release,enhancement,new,,2010-07-01T22:45:33Z,2010-07-03T19:17:45Z,"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
20651,"Inconsistent MS API: delete_site_option action hook is only called AFTER deletion, unlike delete_option",,Multisite,3.3.2,normal,normal,Awaiting Review,enhancement,new,dev-feedback,2012-05-10T09:54:37Z,2012-05-11T16:30:39Z,"Unlike the delete_option action hook, the delete_site_option action hook is only called AFTER deletion of the row from the sitemeta table - making it difficult to capture the expiring value (for instance), unless you know its precise option key name ( and hook it using pre_delete_site_option_{$option} ).

Suggest introducing a pre-deletion, non-specific action hook call named ""pre_delete_option"" for options and ""pre_delete_site_option"" for site options, for consistency.",danielnashnz
12043,Infinite redirect if using a port number,,Multisite,,normal,normal,Future Release,enhancement,new,close,2010-01-26T17:28:32Z,2012-02-06T10:53:23Z,"MU Trac Ticket: http://mu.trac.wordpress.org/ticket/189



While setting up my new blog I found that WordPress? MU continuously re-directed me to the same URL (occurs in the if statement on line 9 of wp-signup.php). This was being caused by wpmu-settings.php on line 10. The variable $domain has the port stripped from it, which causes line 84 to return no result when it queries the database.

WP MU is installed at  http://some.host.address:8080/blogs on my machine. VHOST is false.
",wpmuguru
24061,Introduce blog-archived.php and blog-spam.php,,Multisite,,normal,normal,Awaiting Review,enhancement,new,has-patch,2013-04-12T16:54:46Z,2013-04-13T08:54:29Z,"When Multisite is active and an archived or spammed site is loaded, WordPress first looks for a file in the content directory called `blog-suspended.php` and loads it if it's found.

Two problems:

 1. The file name is counter-intuitive because 'suspended' isn't the name of a status that a site can have.
 2. It's not possible to serve a different file for spammed and archived sites.

The upcoming patch introduces support for `blog-spam.php` and `blog-archived.php` for sites with the respective status. It will fall back to `blog-suspended.php` for backwards compatibility.",johnbillion
23270,Links are not updated when changing a multisite path,,Multisite,3.5,normal,minor,Awaiting Review,enhancement,new,,2013-01-23T07:37:24Z,2013-01-25T04:28:14Z,"When changing the path of a site under a network install, URIs are not updated in post_content.

I know this can be achieved with search and replace plugins (and that this is how regular WP installs work), but the wording on the edit site page makes it appear as if WP should be updating this for you with; ""Update siteurl and home as well."", where the ""as well"" makes it sound as if other elements on your site will be updated regardless.

I'm not sure if the best approach would just be a re-wording of this area, or if implementing a function to update post_content when this is modified is the way to go.",Clorith
17164,More elegant handling of site 'archive' options for MultiSite,,Multisite,3.1,normal,normal,Awaiting Review,enhancement,new,,2011-04-18T15:08:50Z,2012-12-16T06:14:58Z,"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
21156,Move utility functions out of wp-admin/network.php,,Multisite,,normal,normal,Awaiting Review,enhancement,new,dev-feedback,2012-07-04T17:15:03Z,2012-07-04T17:15:03Z,"There are several functions in wp-admin/network.php that would come in handy outside the WP Admin -> Network Setup screen:

* network_domain_check() 
* allow_subdirectory_install()
* get_clean_basedomain()

etc.

They could be moved to wp-admin/includes/ms.php",scribu
12002,Multisite should not lock the root blog into using a /blog prefix,,Multisite,3.0,normal,normal,Future Release,enhancement,new,,2010-01-25T03:51:06Z,2013-01-29T19:26:55Z,"MU Trac Ticket: http://trac.mu.wordpress.org/ticket/409

I don't think WPMU should lock the root blog into using a /blog prefix on permalinks. Currently, the /blog on the beginning of permalinks is hardcoded.

I realise this was probably added to stop conflicts when not using a VHOST solution, but when using VHOST to put other blogs into subdomains, why lock the root blog's permalinks as such?

Could the /blog requirement be removed if VHOST is 'yes'?
",wpmuguru
20152,Multisite simplify option name to user_roles,,Multisite,3.3.1,normal,normal,Future Release,enhancement,new,dev-feedback,2012-03-01T21:44:28Z,2013-03-07T07:02:02Z,"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
11869,Multisite upgrade notice at wpmu-upgrade-site.php isn't steadily visible.,,Multisite,3.0,normal,minor,Future Release,enhancement,new,,2010-01-11T22:03:14Z,2011-12-15T23:59:25Z,"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
19753,Network admin pages don't show network name in page title,,Multisite,3.0,normal,trivial,Future Release,enhancement,new,has-patch,2012-01-05T22:24:18Z,2012-04-27T18:47:27Z,"When you're on network admin screens, the page `<title>` doesn't contain the network name, unlike site admin screens which contain the site name.",johnbillion
19996,New function get_blog_metadata for ms-functions.php,,Multisite,,normal,minor,Awaiting Review,enhancement,new,has-patch,2012-02-09T10:20:20Z,2012-02-09T10:20:20Z,"Hi!

I think that the ms-functions are very useful for WP multisite developers, for example: get_blog_post where you can select the blog_id and post_id to return the post info of a blog.

But I'm missing an important one: get_blog_post_metadata. With the function that I'm proposing, you can select the blog_id, the post_id and the meta_key and the function will return the metadata for those values.

I have attached in the file get_blog_metadata.txt the function that I have made and I think it would be very useful to have it in the core.

Cheers! :)",_DorsVenabili
18292,"Not interrupting the network update, even if errors are detected",,Multisite,3.2.1,normal,normal,Future Release,enhancement,new,has-patch,2011-07-29T10:24:41Z,2012-04-18T21:00:28Z,"'''My installation'''[[BR]]
3.2.1 multi-site installation with almost 8000 sites.

'''The issue'''[[BR]]
During the network update, I kept getting this error message :[[BR]]
''Warning! Problem updating http://username.example.com. Your server may not be able to connect to sites running on it. Error message: 0: Empty reply from server.''[[BR]]
The problem is that the network update script (/wp-admin/network/upgrade.php) dies every time an error is detected, so I had to reload the page every time. With nearly 8000 sites to update, it was impossible, so I modified that script.

'''Suggested enhancement'''[[BR]]
Enhance the network update script so that it doesn't die at each error, logs the error and continues. A second run on the unsuccessful upgrades would also be nice.",luuzan@…
17630,Redirect wp-signup.php to wp_signup_location,,Multisite,3.1.3,normal,minor,Awaiting Review,enhancement,new,has-patch,2011-05-31T23:03:15Z,2012-11-17T15:43:47Z,"I noticed that if wp-signup.php is accessed directly and wp_signup_location is not the default ""site_url( 'wp-signup.php' )"", it does not redirect to the signup location.

I've attached a potential patch. It works for me.",dwieeb
23709,Relax wildcard restrictions for populate_network() when installing in subdomain mode,,Multisite,3.5,normal,normal,Awaiting Review,enhancement,new,has-patch,2013-03-06T20:03:49Z,2013-04-01T09:25:14Z,"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
14125,Seperate out non-editable options in edit site,sorich87*,Multisite,,normal,normal,Future Release,enhancement,accepted,dev-feedback,2010-06-28T04:11:36Z,2010-11-30T21:52:09Z,"In the edit site screen, blog options which are arrays are shown as SERIALIZED and the textbox is disabled. The attached patch pulls those options out of the options metabox and displays the option name in another metabox below.

Related: #14120",wpmuguru
21546,Site Settings page is a hot mess,,Multisite,3.0,normal,normal,Awaiting Review,enhancement,new,has-patch,2012-08-10T21:44:07Z,2012-08-20T16:50:59Z,"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
14988,Site admins should be allowed to add existing users without also enabling creation,,Multisite,,normal,normal,Future Release,enhancement,new,,2010-09-29T07:08:11Z,2010-10-27T08:11:35Z,"Blog admins are allowed to add users to their multisite blog when the ""add new users"" network setting is turned on.

Unfortunately this allows them to both add existing users, and create new users. There should be a way, potentially just with a filter versus an option, to limit that to only add existing users, and prevent the creation of new users without going through the public registration process.

Use case: WordPress.com does exactly this.

Alternative use case: WordPress.org uses a pretty crazy SSO setup. We should not be allowed to create new users through the admin, but it would be very helpful to allow administrators to add users to a blog without going through the network admin (or asking a super admin).

Real world use case: Any blogging network like WordPress.com, or crazy synchronized login system like WordPress.org, would want this.",nacin
18225,Sub-blog on Network site redirects to wrong URL for user registration,,Multisite,3.2.1,normal,critical,Awaiting Review,enhancement,new,,2011-07-23T03:35:06Z,2012-11-04T06:00:36Z,"When a user clicks on the '''register''' button of a sub-blog, it redirects the user to the signup form on the primary blog, which means they end up creating an account with it instead of the sub-blog.

When the user tries accessing the sub-blog login after activation, they are denied access because the registration took place with the parent blog instead.  There's also no way to transfer users to another blog.

This issue sounds similar to the one in #16866 , but it's not a feature request, instead it's a bug.

My test case is:
network blog is installed in sub-directory, such as '''http://mydomain.com/blogs/'''.
A sub-blog is created at say '''http://mydomain.com/blogs/my-sample-blog/'''.
I register a new user account with the sub-blog, which takes me to '''http://mydomain.com/blogs/wp-signup.php''' instead of http://mydomain.com/blogs/my-sample-blog/wp-signup.php.

Running on Ubuntu 10.04, Apache 2, PHP 5.3, WordPress 3.2.1.",amereservant
23358,Switch to a usermeta key for email confirmation in Multisite,,Multisite,3.0,normal,normal,Awaiting Review,enhancement,new,,2013-02-01T13:54:05Z,2013-02-01T13:54:53Z,"Background: #23146

In `send_confirmation_on_profile_email()`, an option is used to store the new email: [[BR]]
http://core.trac.wordpress.org/browser/tags/3.5.1/wp-admin/includes/ms.php#L238

A usermeta key should be used instead.",SergeyBiryukov
19497,The 'My Sites' menu is redundant for users with just one site,,Multisite,3.3,normal,normal,Future Release,enhancement,new,,2011-12-10T07:03:58Z,2012-01-27T20:53:06Z,"When a user only belongs to one site in a multisite install, they're shown a 'My Sites' menu. All of the items in this menu in this scenario are redundant (both in the admin area and when viewing the site) as all four menu items can be accessed from other menus in the toolbar.

Users shouldn't be shown this menu unless they belong to two or more sites.

I know we're on RC2 but I'd love to get this into 3.3 because it looks a bit silly.",johnbillion
16990,WP Multisite doesn't use custom db-error.php,tmuka,Multisite,3.1,normal,minor,Awaiting Review,enhancement,new,,2011-03-28T19:19:46Z,2011-07-18T01:23:14Z,"I suppose this is a feature request. I don't see a way to configure a Multisite install to use the same wp-content/db-error.php file as a single wp site install uses. Instead where the db is down the page dies on ""Error establishing database connection"" wrapped in an <h1>.

It could be a complication of using the HyperDB plugin, but it appears that on line 104 of wp-includes/ms-settings.php when the db is down get_blog_details() obviously fails and wp-includes/ms-load.php:ms_not_installed() is called. Unfortunately ms_not_installed() does not redirect to db-error.php, and instead dies, returning
$title = /*WP_I18N_FATAL_ERROR*/'Error establishing database connection'/*/WP_I18N_FATAL_ERROR*/;

Obviously i could hack in a call to wp-includes/functions.php: dead_db() in ms-load.php, but i try to avoid any core hacking to make upgrades easier.

Does anyone have a suggestion for overriding this behavior cleanly? perhaps something in wp-WP_CONTENT_DIR/sunrise.php ?

I suppose if somebody else is interested in the simple fix, here it is. In ""function ms_not_installed"" on line 224 of wp-includes/ms-load.php, insert dead_db();
like this...

{{{
function ms_not_installed() {
dead_db(); //hacked this in so we can get use our custom db-error.php
}}}

The bottom line is that now the visitor will potentially see a more friendly error message when the db or db table is unavailable.",tmuka
20220,add test to see if sunrise === on in ms-settings,,Multisite,3.0,normal,normal,Future Release,enhancement,new,commit,2012-03-12T19:06:56Z,2012-11-02T22:49:31Z,"We needed to disable sunrise for certain requests. 

We thought about declaring sunrise before including wp-load, but setting it to 'off'. Then having a conditial in the wp-config that only defines it to on if it is not defined and then in ms-settings to a additional check to see if sunrise is defined and equal to on. (the patch I am adding does not have the wp-config if !defined() as wp-config doesn't get updated, but if someone feels it is helpful I can add it)

Others could of changed the default defined value of sunrise and this could break bc. I am therefore not sure if the limited use case warrants it. But I thought I would suggest it.",sboisvert
23808,allow multisite to match bare URL,,Multisite,3.5,normal,normal,Awaiting Review,enhancement,new,,2013-03-18T13:33:07Z,2013-04-01T09:39:30Z,"Currently, when matching the requested URL to a blog, the ""domain"" and ""path"" are used together. When there is no match, no blog will be selected. $path can never be interpreted as just ""/"".

This makes it impossible to have multiple domains working from the root ""/"" pointing to separate blogs.

The attached patch makes this possible.

A little more in-depth explanation can be found here:
http://wordpress.org/support/topic/allow-multisite-to-match-bare-url?replies=4
",fuentez
18910,get_blog_details query alteration for root-relative url plugin support...,,Multisite,3.2.1,normal,normal,Awaiting Review,enhancement,new,has-patch,2011-10-11T23:39:05Z,2011-10-28T22:28:13Z,"After reading through this ticket http://core.trac.wordpress.org/ticket/17048 and all of its referenced links / discussions I decided to write my own plugin to do root-relative urls.

However there is a core issue that prevents such a plugin from working when using path-based MU installs (versus subdomain installations where as it stands cannot support root relative urls... yet.)

Looks like the logic for path-based site detection was copied wholesale from the subdomain-based detection logic in the if-block just below it.  

I don't see a need to query both the path and the domain if the domain isn't going to change for a MU path-based install.  This fix proposes checking explicitly for is_subdomain_install == false and then only querying the database on the path column.  

If this patch doesn't account for some scenario in which path-based installs could actually have multiple domain addresses in the database then please add a filter to the $fields variable so that a plugin can handle the variance there.

I'm not here to start a root-relative vs absolute uri debate (I'm saving that for another day ;)  But basically the recommendation from the WP Core team is to do this in a plugin, yet we can't until this is fixed.

Thanks!
-Marcus

(ps - if you'd like to have the absolute uri / relative root debate I'm totally game! just email me :D)",MarcusPope
23650,make get_space_allowed() filterable,,Multisite,3.4,normal,normal,Awaiting Review,enhancement,new,has-patch,2013-03-01T00:38:34Z,2013-03-01T00:57:30Z,"When the `blog_upload_space` option is set to `0`, instead of returning `0`,  `get_space_allowed()` returns the default value which is currently hardcoded to `50` in core.

As discussed in #18119 and committed in [19314], the function should return `0` if the option is set to `0`. However this was reverted in [19654] (see #19538). So I am not sure which is the desired behaviour.

The attached patch adds filters for the default value and for the returned value. This is useful for scenarios where you don't want it to fallback to `50` if the option is accidentally set to `0`, and you want to set your own default.

I can adjust the patch if the consensus is that an option of `0` should in fact return `0`.",jkudish
13752,multisite loop,,Multisite,3.0,normal,normal,Future Release,enhancement,new,,2010-06-07T04:17:57Z,2010-07-17T10:32:56Z,"I've been experimenting with multisite/wpmu and it would be great if there were an actual multisite loop - added ""blog"" parameter to wp_query/querypost. It's possible to emulate a multisite loop with ""switch to blog"", ""get_posts"" and merged arrays, but it requires a hand-written paged navigation adding some arguments to the navigation links. It would be great if there was either a way to directly add blog parameter to the query string.",youngmicroserf
14511,new function - wp_get_sites($args),,Multisite,,normal,normal,Future Release,enhancement,new,has-patch,2010-08-02T22:02:54Z,2012-09-18T17:24:15Z,"With the deprication of get_blog_list (and the dire warnings), we had a need for a function to retrieve a list of blogs. At first blush, it appears that one could use get_blogs_of_user. It seems to assume that the same admin (userid 1) is going to create all sites. If you have multiple network_admins, then a search for a single user's sites won't return a full list.

So I have adapted the code from wp-admin/ms-sites.php and with a nod to wp_list_pages - am submitting wp_get_sites for a future release.

This function accepts an argument list to filter the results, modify the order, and limit the range of results. I wrote it with an eye to provide an interface consistent with other wp functions, as well as potentially replacing the sql query in wp-admin/ms-sites.php.

The initial set of arguments include:
{{{
			'include_id' 		,				// includes only these sites in the results, comma-delimited
			'exclude_id' 		,				// excludes these sites from the results, comma-delimted
			'blogname_like' 	,				// domain or path is like this value
			'ip_like'			,				// Match IP address
			'reg_date_since'	,				// sites registered since (accepts pretty much any valid date like tomorrow, today, 5/12/2009, etc.)
			'reg_date_before'	,				// sites registered before
			'include_user_id'	,				// only sites owned by these users, comma-delimited
			'exclude_user_id'	,				// don't include sites owned by these users, comma-delimited
			'include_spam'		=> false,		// Include sites marked as ""spam""
			'include_deleted'	=> false,		// Include deleted sites
			'include_archived'	=> false,		// Include archived sites
			'include_mature'	=> false,		// Included blogs marked as mature
			'public_only'		=> true,		// Include only blogs marked as public
			'sort_column'		=> 'registered',// or registered, last_updated, blogname, site_id
			'order'				=> 'asc',		// or desc
			'limit_results'		,				// return this many results
			'start'				,				// return results starting with this item
}}}
The usual warning are provided. It works for me but I haven't tested it completely yet. But I am assuming this could be helpful to others and I have no doubt about getting comments back <grin>",transom
12013,new user creation features,,Multisite,,normal,normal,Future Release,enhancement,new,,2010-01-25T17:41:04Z,2010-01-27T03:26:35Z,"MU Trac Ticket: http://trac.mu.wordpress.org/ticket/1079

1: there needs to be native ability to select how many blogs each user can have.

2: there needs to be the ability for users to add blogs for users who signed up with out creating a blog and for those who want to add additional blogs to their current list(depending on the blog limit you set in feature request 1 above) from the ""my blogs"" tab in their site admin panel.

3: if the ability to select the number of blogs each user can have is put into place, the option to have the blog auto created to the users name when blog limit is set to 1. ie: user signs up with ""username"" and wants to add his 1 allotted blog it would be auto created using his user name like this example.com/username or username.example.com depending on your settings.

these enhancements kinda all tie together and am surprised they are not currently implemented...
",wpmuguru
14862,wp 30 to wpmu - wild card domain - suggestion,,Multisite,,normal,normal,Future Release,enhancement,new,,2010-09-13T18:23:39Z,2012-11-02T22:19:17Z,"im new to wordpress hacking, but i did hit the forums with this.

we could pick up the last 'if' statement from: 

/wp-admin/includes/schema.php 
function populate_network()

the last if :
{{{
if ( $subdomain_install ) 
{
...
...
}
}}}

and paste it to:
/wp-admin/network.php
inside function allow_subdomain_install()

the problem of a last minute Error out would be solved. 

putting it there, and showing a warning in the 1st step itself would be warning enough for the user to go back and get things done right/ check on things again wrt wild carded domain.

again, i am new to wordpress, please do correct me if im wrong 

Warm Regards,
M.
",msolution
21910,wpmu_create_user() standardization,,Multisite,3.0,normal,minor,Awaiting Review,enhancement,new,,2012-09-17T18:03:24Z,2012-09-17T23:36:26Z,"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
20019,wpmu_validate_blog_signup(): Allow '.' and '-' in blog names,,Multisite,3.3.1,normal,normal,Future Release,enhancement,new,has-patch,2012-02-10T23:04:29Z,2012-04-26T12:33:25Z,"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
19862,"""My Sites"" menu should include ""Create a new site"" if enabled in Network settings",,Network Admin,3.3.1,normal,normal,Awaiting Review,enhancement,new,has-patch,2012-01-20T16:58:14Z,2012-02-13T04:22:49Z,"The ""My Sites"" menu should include ""Create a new site"" if blog registration is enabled in Network settings.",ebellempire
18301,Activating a new theme on multisite is very long-winded,PeteMall*,Network Admin,3.1,normal,normal,Future Release,enhancement,accepted,,2011-07-30T23:38:48Z,2012-12-31T18:25:57Z,"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
18777,Add new site valid domain filter,,Network Admin,,normal,normal,Awaiting Review,enhancement,new,has-patch,2011-09-26T11:41:32Z,2011-09-26T12:02:50Z,"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
23462,Add top Save Settings button for MU Site settings,,Network Admin,3.0,normal,trivial,Awaiting Review,enhancement,new,has-patch,2013-02-13T05:21:47Z,2013-02-13T23:03:47Z,"It's quite a long list, and it'd be awesome to have a button at the top to use, as well as at the bottom, so that one doesn't have to scroll all the way down just to save.",tw2113
15800,"Adding tabs to the ""Edit Site""-pages in Network Admin",,Network Admin,3.1,normal,minor,Future Release,enhancement,new,,2010-12-13T17:57:41Z,2012-04-26T18:59:22Z,"There are four tabs in the Network Admin > Edit Site pages. These are statically defined as an array in the files:

{{{
wp-admin/network/site-info.php
wp-admin/network/site-options.php
wp-admin/network/site-themes.php
wp-admin/network/site-users.php
}}}

It would be nice if there was a filter that allowed us to add more tabs to this bar. This would enable us to add more user friendly, site specific, option pages for super administrators.",PuffyThePirateBoy
18661,Include IDs for users and sites on their respective views in the network admin,danielbachhuber*,Network Admin,,normal,normal,Awaiting Review,enhancement,accepted,has-patch,2011-09-14T16:03:45Z,2011-09-15T18:58:20Z,It would be nice if the IDs for Users and Sites were displayed in columns on their respective views in the network admin (with the option to hide in screen options of course),danielbachhuber
15389,Make New Site & New User Network form pluggable.,,Network Admin,3.1,normal,normal,Future Release,enhancement,new,has-patch,2010-11-11T16:43:32Z,2011-01-13T05:31:13Z,"'''Problem:''' Currently the only way to add additional fields to the new site & new user network form is by dynamically injecting them using javascript.

'''Solution:''' They should either have action hooks or use the settings API. I'll provide patches for both methods.

In addition, I've added semantic ids to the current form fields so they can be selectively hidden.
",ptahdunbar
18188,Make it easier to go between Dashboard and site edit pages,PeteMall,Network Admin,3.1,normal,normal,Future Release,enhancement,reopened,,2011-07-20T19:22:16Z,2012-04-18T21:01:14Z,"Each site in a network install has a Dashboard and a set of ""edit"" pages (Info/Users/Themes/Settings).

The ""edit"" page URLs are '''/wp-admin/network/site-''settingsName''.php?id=''id''''' where ''settingsName'' is '''info''', '''users''', '''themes''', or '''settings'''. The Dashboard URL is '''/''siteName''/wp-admin/''' where ''siteName'' is, I think?, the site's '''Path''' field as shown in '''/wp-admin/network/site-info.php?id=''id''''' but without the leading and trailing slashes.

The problem is if I am in the ""edit"" pages and want to go to the site's dashboard, I have to click on '''Sites''', then hunt down the site in the list, then click '''Dashboard''' while hovering the mouse over the site's row. I have a similarly convoluted process to get from a Dashboard to the ""edit"" pages.

Does this need to be so complicated? It would be nice for network admins to see links on every Dashboard or ""edit"" page that allows the user to go back and forth between the two easily.

Or even better, how about making the ""edit"" pages just show up as additional items in the Dashboard?",novasource
20468,Recently active network plugins,,Network Admin,3.0,normal,normal,Awaiting Review,enhancement,new,,2012-04-17T17:01:31Z,2012-04-19T03:41:30Z,There's no 'Recently Active' list on the Plugins screen in Network Admin. This should be simple enough to add in.,johnbillion
21994,Subdomains may not exceed 63 characters in length,,Network Admin,3.4,normal,normal,Awaiting Review,enhancement,new,has-patch,2012-09-25T22:31:44Z,2012-09-28T07:57:15Z,"According to section 3.1 ""Name space specifications and terminology"" of  [http://www.faqs.org/rfcs/rfc1034.html RFC1034], domain names are nodes in a tree structure and ""Each node has a label, which is zero to 63 octets in length.""

WP should help to correctly enforce this requirement, so I've attached a patch that adds a maxlength=""63"" attribute on the input field on line 126 of wp-admin/network/site-new.php. This should help sites and network admins prevent the creation of blogs hosted on subdomain installs that will not resolve properly, and at the same time allow for maximum length subdomains.",humanshell
20459,Super admin should be able to bypass banned/limited domains when creating users,,Network Admin,,normal,minor,Awaiting Review,enhancement,new,has-patch,2012-04-16T16:12:25Z,2012-04-16T16:12:25Z,"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
16383,Width of Site Address input box in network/site-new.php,,Network Admin,3.1,normal,normal,Future Release,enhancement,new,has-patch,2011-01-27T02:47:20Z,2012-11-01T05:32:42Z,See screenshots,garyc40
13237,Absense of alots lowers community morale,Alot,Optimization,,normal,normal,Future Release,enhancement,reviewing,has-patch,2010-05-03T19:27:26Z,2012-09-01T10:53:21Z,We all like WordPress alot.,johnjamesjacoby
12996,"Clean up some redundant options from new blog setup, and remove legacy wp-hacks support",,Optimization,3.0,normal,normal,Future Release,enhancement,new,has-patch,2010-04-14T11:45:31Z,2013-05-14T12:35:41Z,"In the process of updating some plugins for WP 3.0 I came across a few things that look like remnants of old WP versions that don't need to be there any more:

The following options are created during installation, but are  redundant:

- gzipcompression (see [http://core.trac.wordpress.org/ticket/10365 #10365])

- advanced_edit (no idea what this was for)

- hack_file

With regard to hack_file - it's been deprecated since 1.5 and there is no longer an admin option for it - isn't it about time to remove it completely? See also [http://core.trac.wordpress.org/ticket/9551 #9551]

Proposed patch to follow.",solarissmoke
7773,Duplicate enclosure attributes are created when a client resubmits a post with identical enclosure,josephscott,Optimization,2.7,low,minor,Future Release,enhancement,new,,2008-09-21T04:25:07Z,2009-11-17T15:14:49Z,"The support in 2.6 for accepting enclosures via XMLRPC does not discriminate whether the specified enclosure is already attached to the post in question. This has the effect that if a client redundantly re-specifies the enclosure value, WordPress will redundantly add new enclosure custom field entries, each time the post is edited.

The code that accepts <enclosure> elements should only add a new custom field to the post if the enclosure specified is different from the previous enclosure(s). Arguably, for an XMLRPC context, the specified enclosure should always replace the (presumed singular) enclosure on the post.

Right now, the number of redundant enclosure attributes can spiral out of control depending on the number of times a given post is edited by a remote client that re-specifies all the known attributes of a post.

Consider for example, that when resubmitting a post, it's natural and expected to re-specifiy the <title> even if it hasn't changed. This doesn't cause multiple ""title"" attributes to appear on a post. The re-specification of the <enclosure> value shouldn't cause attribute bloat in posts.

Daniel

Daniel

",redsweater
14424,"Eliminate dynamic function definitions, ie create_function",westi*,Optimization,3.0,normal,normal,Future Release,enhancement,accepted,has-patch,2010-07-26T23:05:09Z,2011-09-29T17:20:35Z,"create_function() calls are essentially a form of eval() where the body of the functions is defined at runtime rather than compile time. This patch removes all but one of the calls within the translation code.

There are a few reasons for doing this, one is apc can't cache the results of the function definition and secondly HipHop doesn't support complex create_function definitions.

Most of the references were array_filter / array_map and replaced with a simple foreach.

Others were sorting and a callback function was added.",ScottMac
5407,Improve wp_list_authors efficiency,,Optimization,2.3.1,low,normal,Future Release,enhancement,new,,2007-12-01T12:49:14Z,2013-03-23T00:00:11Z,"wp_list_authors() makes multiple queries per registered user.  For example, if a blog has 50 registered users, wp_list_authors() will make over 100 queries, even if there are only a few users who can write posts.

Alexander Concha developed the attached patch which does it all with only one query total (two if ""show_fullname"" is enabled).  However, he questions if this change belongs in the WP core.  I think it does because it's such a vast improvement over the current extremely inefficient code.",Bobcat
6860,Make clean_post_cache child cleaning optional,,Optimization,2.5.1,normal,normal,Future Release,enhancement,new,has-patch,2008-04-27T22:13:40Z,2010-07-15T02:17:42Z,"clean_post_cache() makes a MySQL query in every call to clean the cache for child posts. This should be optional if the caller knows that there are no child posts or they're not cached.

Background: I need to query all posts have to clean the post cache to stay within the memory limits. Before 2.5 this was fine with clean_post_cache, but since the update the php execution time increased extremely because of this additional db query.",arnee
9736,Memory allocation failed on category.php,,Optimization,2.7.1,lowest,minor,Future Release,enhancement,new,,2009-05-06T02:02:11Z,2010-06-12T15:04:05Z,"When I opened ""/wp-admin/categories.php"" I got following error message.
> Fatal error: Allowed memory size of 268435456 bytes exhausted (tried to allocate 3877 bytes) in /path_to_wordpress/wp-includes/category.php on line 369

I made over 70,000 categories manipulating MySQL table directory.",matsubobo
8648,Post Author quick edit drop down does not scale well,,Optimization,2.7,normal,normal,Future Release,enhancement,new,,2008-12-17T17:05:35Z,2010-01-17T20:14:54Z,"With large amounts of registered users.

",mrmist
13989,Recent Comments widget optimization,,Optimization,3.0,normal,normal,Future Release,enhancement,new,,2010-06-19T06:30:36Z,2010-10-28T12:21:48Z,"Currently when permalinks are enabled, the recent comments widget will call get_post() on each parent post to retrieve its permalink.

In the event that the posts the recent comments are on are not in the current query (for example, posts on old posts, or if we're currently on a singular view), then get_post() will perform a SQL query to load the postdata.

The attached patch introduces a {{{cache_posts($post_ids, $term_cache, $postmeta_cache);}}} function to mass load/cache a set of posts through the usage of WP_Query

The function is smart enough not to query for posts which are already in the Object cache (ie. If the comments are on the current page, it'll skip, or if its in a memory cache)

An example of the SQL query generated by this query:
{{{
SELECT wp_posts . * 
FROM wp_posts
WHERE 1 =1
AND wp_posts.ID IN ( 95, 98, 106 ) 
AND wp_posts.post_type IN ('post', 'page', 'attachment', 'wiki', 'note', 'odd')
AND (wp_posts.post_status <> 'trash' AND wp_posts.post_status <> 'auto-draft')
}}}

Explain'd:
{{{
id 	select_type 	tabl