﻿__group__	ticket	summary	owner	component	_version	priority	severity	milestone	type	_status	workflow	_created	modified	_description	_reporter
Next Release	16567	Can't create categories with different names but similar slugs on Edit Post screen		Administration	3.0.5	normal	normal	3.6	defect (bug)	new	needs-unit-tests	2011-02-15T18:29:10Z	2013-01-09T23:38:54Z	"We run a blog that deals with programming languages. Today we were creating a post concerning the C programming language and attempted to create a new category for it, called ""C"" (just one character). This angered WordPress; it appeared to create a superfluous ""Uncategorized"" category, but it wound up not actually creating any categories for the post.

I've attached a screenie so you can see what this looks like after I attempt to create the category.

If it's for some reason forbidden to create categories comprised of a single character, maybe a validation error message of some kind would be in order?"	jeffreymcmanus
Next Release	7392	Don't create new autosave revision if nothing has changed yet	westi	Autosave	2.6	normal	minor	3.6	defect (bug)	reopened	has-patch	2008-07-23T22:03:39Z	2013-05-09T15:22:06Z	"I noticed that simply loading and saving a post creates a new revision. This seems rather dumb to me. Could we not load the post up, compare it with the revision, and not create a whole new revision if nothing changed (ignoring post save time, of course)?

Discuss."	Otto42
Next Release	14773	Error in slug parsing leads to unlimited URLs for the same article = duplicate content		Canonical		normal	normal	3.6	defect (bug)	assigned	has-patch	2010-09-03T14:20:45Z	2013-04-11T03:30:30Z	"an example says more than 1000 words:

right url:

http://ahmongwoman.wordpress.com/2010/09/02/i-am-not-hmong-and-i-dont-speak-spanish/

wrong urls:

http://ahmongwoman.wordpress.com/2010/09/02/i-am-not------hmong-and-i-dont-speak-spanish/

http://ahmongwoman.wordpress.com/2010/09/02/i----am-not-hmong-and-i-dont-speak-spanish/

http://ahmongwoman.wordpress.com/2010/09/02/i-am-not-----hmong-and-i-------dont-speak---------spanish/

Problem:

Wordpress returns the article with HTTP status code 200 for the wrong URLs.

This is a serious issue for people regarding search engine optimization (duplicate content).

Expected results:

Wordpress returns HTTP Status code 301 with Location-Header and right URL to the client."	thermoman
Next Release	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
Next Release	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
Next Release	17767	Anonymous comments can break comments RSS feed	westi*	Feeds	3.2	normal	normal	3.6	defect (bug)	accepted	has-patch	2011-06-11T11:30:34Z	2013-01-13T23:54:50Z	"dc:creator and description elements should not be parsed.

Author field that can break RSS:
{{{
&#1040;&#1079; &#1089;&#1077; &#1082;&#1072;&#1079;&#1074;&#1072;&#1084; &#1042;&#1077;&#1089;&#1077;&#1083;&#1080;&#1085; &#1053;&#1080;&#1082;&#1086;&#1083;&#1086;&#1074;, &#1090;&#1086;&#1074;&#1072; &#1077; &#1077;&#1076;&#1085;&#1086; &#1084;&#1085;&#1086;&#1075;&#1086; &#1076;&#1098;&#1083;&#1075;&#1086; &#1080;&#1084;&#1077;
}}}

Comment text that can break RSS:
{{{
&amp;ndash;
}}} 

(and most of the $allowedentitynames)"	dzver
Next Release	17375	Serialzed option values broken for classes and strings on unserialize for C and S	markjaquith	General	3.1	normal	normal	3.6	defect (bug)	reviewing	has-patch	2011-05-11T11:42:09Z	2013-01-14T01:06:27Z	"Wordpress has a feature build in to store arrays and objects into option values.

This is done by transparently serializing on storing and unserialize on retrieving.

The implementation is broken.

Wordpress is unable to unserialize serialized option values if they contain a serialized representation of classes implementing the [http://www.php.net/manual/en/class.serializable.php PHP serializeable interface] (C instead of O).

This is because the is_serialized() does not recorgnize that type of value."	hakre
Next Release	17262	wp_get_attachment_thumb_file is always false		Media	3.0	normal	normal	3.6	defect (bug)	new	has-patch	2011-04-27T18:36:19Z	2013-05-05T03:33:40Z	The issue is that on line 3863 we always search for `$imagedata['thumb']` and it never exists. Instead we have `$imagedata['thumbnail']`. This always exists.	lonnylot
Next Release	13822	Menu items that get unpublished still appear	nacin	Menus	3.0	normal	normal	3.6	defect (bug)	reopened	has-patch	2010-06-10T16:30:12Z	2013-03-21T14:53:47Z	"We need to properly account for menu items linked to unpublished/pending post type objects.

My thought is they should probably be hidden from the frontend with an indication on the backend (like ""(Pending)"") that they are are unpublished/pending.

We need to properly handle private posts too."	nacin
Next Release	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
Next Release	15907	inconsistent handling of plugin_folder in get_plugins()		Plugins		normal	normal	3.6	defect (bug)	new	has-patch	2010-12-20T03:35:16Z	2013-05-05T00:25:18Z	"If you pass the name of a folder to get_plugins, it needs to have a leading slash which then stores the plugin list from that folder in {{{$wp_plugins['/folder-name']}}}. 

Secondly, the plugin file/path does not include folder-name passed to get_plugins, so the returned data has to have the {{{'folder-name/'}}} added to the key of each plugin's information before it can be used throughout WP. The code I'm currently using to work around the issue is

{{{
			$my_plugins = get_plugins( '/extra' );
			$extra = array();
			if( !empty( $my_plugins ) ) {
				foreach( $my_plugins as $k => $v )
					$extra['extra/' . $k] = $v;
			}
}}}

related #15906"	wpmuguru
Next Release	16843	wp_unique_post_slug() doesn't check pagination base when CPT has archive		Post Types	3.1	normal	minor	3.6	defect (bug)	new	has-patch	2011-03-13T06:22:22Z	2013-01-14T00:12:14Z	Title says it all.	scribu
Next Release	16834	UI problem in Permalinks SubPanel (on RTL sites)	ramiy	RTL	3.1	normal	normal	3.6	enhancement	reopened	has-patch	2011-03-11T15:15:12Z	2013-05-18T07:11:57Z	"hi,
i want to report a UI problem in RTL sites, on the Settings->Permalinks SubPanel.

See the  Attached screenshots."	ramiy
Next Release	14578	Default User Role isn't checked against defined roles, causing unexpected resets to Administrator	garyc40	Role/Capability	3.0.1	normal	major	3.6	defect (bug)	assigned	has-patch	2010-08-10T10:00:29Z	2013-01-13T23:00:20Z	"Take these steps:

1. Activate a plugin that creates role on activation. For example, it calls ""add_role( 'photo_uploader', 'Photo Uploader', array( 'read') );""[[BR]]
2. In General Settings, set the Default User Role to this new role, 'Photo Uploader'.[[BR]]
3. Deactivate the plugin, removing the roles: ""remove_role( 'photo_uploader');""[[BR]]
4. In General Settings, the Default User Role now displays 'Administrator'. (In the database, it still says 'photo_uploader'.)[[BR]]
5. When creating a new user (as admin), the role dropdown-box now displays 'Administrator' as role for this new user. This new user _will_ have role 'Administrator' if an unsuspecting admin does not explicitly alter the role in the dropdown-box.[[BR]]

This way, an unsuspecting adminstrator might accidentally create new admins for his blog.

I have also tested this for new users registering themselves. Fortunately, they are assigned the role 'None', not 'Administrator'.

Greetings,

Ivo van der Linden[[BR]]
(employee of LaQuSo @ Eindhoven University of Technology)"	Ivolution
Next Release	15264	Deleting a term shared across taxonomies deletes all associated nav menus.	garyc40	Taxonomy	3.0.1	normal	major	3.6	defect (bug)	assigned	has-patch	2010-10-31T08:01:32Z	2013-01-12T05:44:21Z	"Using other taxonomies since WP 2.3 in [http://wordpress.org/extend/plugins/xili-dictionary/ plugin xili-dictionary] , I just discover that now (since WP. 3.0) when deleting a term of his taxonomy, ''a menu item can disappear''.

'''In which conditions ?''' 

When the term (i.e. news) is shared by taxonomy category and the plugin taxonomy named dictionary ?

After deep tests (thanks to the night when time changes from summer to winter time), I can also reproduce it in current conditions : when a term is shared between taxonomies category and post_tag : If you delete the tag (i.e my test), if a category 'my test' exists and was active inside a navigation menu : the nav menu item disappear (unpleasant).

The cause of this unexpected erasing, was the action hook ''delete_term'' at end of '''wp_delete_term''' function and precisely the default filter ''_wp_delete_tax_menu_item''.
The add_action in default-filter.php (line 233) don't pass the 3 parameters and the function (menu-nav.php line 700) don't verify if it is possible to delete the menu item (as well done for term in other taxonomies in wp_delete_term itself) by testing the params and the taxonomy of the menu item content.

Today workaround in plugins using new taxonomies : remove filter before deleting a term on concerned taxonomies and add it after. 
Hope that explanations were explicit.

Best regards
"	michelwppi
Next Release	16705	"Unclear wording: ""An administrator must always approve the comment """		Text Changes	3.1	normal	normal	3.6	defect (bug)	new	commit	2011-02-28T21:22:12Z	2013-05-05T01:04:18Z	"I'm not certain if I should classify this as a bug or as a need to revise wording in the options menu, or if I should put in a feature request for a refined option...

...but...

If, under Settings->Discussion you have ""An administrator must always approve the comment"" checked, if the author of the post receiving the comment has the ""edit_comment"" capability, they will receive an email notification to moderate the comment in the queue.

After viewing the wp_notify_moderator function for 3.1 in pluggable.php (and comparing it to 3.0.5's version) I can see this functionality seems to be coded in by design.

What's confusing is that the option reads ""An administrator must always approve the comment"" and it's difficult to discern if that means the user role of ""Administrator"" or anyone who can be an ""administrator"" of the comments.

It's also hard to tell from the reading of the option text whether or not this means that the function is implemented incorrectly, or if the option is simply poorly worded.

In either case, it would be useful to be able to have more granular control over who is getting these email notifications for comment moderation.

Failing that, if the ""An administrator must always approve the comment"" is checked, that should mean that only users with the ""Administrator"" role should be able to approve the comment.

...depending on what the expected behavior of this functionality is meant to be."	joe.woidpress
Next Release	13239	Filter locate_template template_names variable		Themes	3.0	normal	normal	3.6	enhancement	reopened	has-patch	2010-05-03T21:43:05Z	2013-05-04T11:09:25Z	"I recently encountered a situation where it would be very helpful to supply alternate template file locations; however, this cannot be accomplished as the locate_template function is being used and that function's arguments are not filterable. So, I created a patch that adds the filter.

This patch adds two filters: locate_template and locate_template-TEMPLATENAME. This allows for both general and specific filtering.

The following example shows how this could be used to modify the location of a BuddyPress template file.

{{{
function filter_member_header_template( $template ) { 
    return dirname( __FILE__ ) . '/buddypress/members/single/member-header.php';
}
add_filter( 'locate_template-members/single/member-header.php', 'filter_member_header_template' );
}}}

While the value of this example is debatable as BuddyPress could be updated to support alternate template locations, the value of the patch itself is high. This opens up a new ability for plugins to modify template file locations, giving plugins a hook into the content rendering process without requiring themes to be modified."	chrisbliss18
Next Release	20101	Can't use 'show_admin_bar' filter with conditional tags	nacin	Toolbar		normal	normal	3.6	defect (bug)	reopened	commit	2012-02-22T19:10:11Z	2013-04-22T22:10:49Z	"I'm trying to show the admin bar only on the front page:

{{{
function scribu_show_admin_bar() {
  return is_front_page();
}

add_filter( 'show_admin_bar', 'scribu_show_admin_bar' );
}}}

However, this doesn't work because '_wp_admin_bar_init' is called on 'init', before the main WP_Query is set up."	scribu
Next Release	16057	download_url() error checking fails to notice that the file wasnt correctly witten to disk		Upgrade/Install	3.0	normal	normal	3.6	defect (bug)	new	has-patch	2011-01-01T01:36:51Z	2013-01-21T23:45:37Z	"When upgrading/installing plugins, themes and WordPress download_url() is called to download the package to a temporary file.

At present, the return value of fwrite() is not checked, the result can be that the file is not written to disk correctly and subsequently, the Zip extraction fails.

This appears as if it can be caused by the user running out of disk space, as seen here: http://erisds.co.uk/wordpress/wordpress-automatic-upgrades-one-of-the-pitfalls

I'm attaching a patch which appears to fix it for me, however, As I do not have a setup where I can enforce a quota I cannot test the saving of the file without fudging the return value of fwrite() to something lower than expected."	dd32
Future Releases	14565	After Category Quick Edit Update Parent Category Dropdown		Administration	3.0.1	normal	trivial	Future Release	defect (bug)	new	has-patch	2010-08-08T22:07:45Z	2010-12-26T23:09:36Z	"On a clean install I went to Posts -> Categories and used Quick Edit to rename 'Uncategorized' to 'Rename-Test' I then went to create a new Category using the form on the left and the Parent drop down still lists 'Uncategorized'.

Should this be updated without have to reload the page?"	Dempsey
Future Releases	10422	Answering to comment from Dashboard does not update Dashboard statistics		Administration	2.8.1	normal	normal	Future Release	defect (bug)	new	has-patch	2009-07-16T05:18:48Z	2012-09-17T19:50:52Z	"Hi there,

there is a short statistics ""Right now/At a Glance"" box in Dashboard, containing number of posts, pages, comments etc.

There is also a box with list of most recent comments in the Dashboard.

If a user answers to a comment in this ""Recent comments"" box in Dashboard, which uses AJAX, so it does not reload the whole page, it creates a new comment, but the number of comments in the ""Right now"" box is not updated.

I know this is not a critical bug, but it would be really nice if it works.

Take care, Honza

P.S.: As there is no ""Dashboard"" component in the Trac, I did not know whether to assign it to Administration or Comments component. I put it into Administration, if you think it better suits to Comments or any other component, please feel free to change it."	honza.skypala
Future Releases	19206	Improve internal admin menu code		Administration	3.3	normal	normal	Future Release	defect (bug)	new	has-patch	2011-11-08T17:53:44Z	2011-11-09T16:27:02Z	"The internal admin menu code is both hard to read and filled with several unnecessary branches. This makes maintaining the code quite difficult.

A few uses of list and smarter branching can considerably improve _wp_menu_output. Patch attached. Let's revisit this when we branch for 3.4."	koopersmith
Future Releases	14949	Login gives false assurance of having logged out	filosofo	Administration	3.1	normal	normal	Future Release	defect (bug)	new	has-patch	2010-09-23T10:39:34Z	2012-09-20T22:02:19Z	"If you visit `wp-login.php?loggedout=true` while logged in, WordPress falsely tells you that ""You are now logged out.""

This is a problem because it could lead you to think, e.g., that a public computer is no longer authenticated with access to your WP admin.

Patch redirects a still-authenticated user back to the admin from the login page if she requests the above page without actually having logged out."	filosofo
Future Releases	13655	Login/Install/User Edit should stripslashes() $_POST data		Administration	3.0	normal	normal	Future Release	defect (bug)	new	has-patch	2010-05-31T11:33:17Z	2010-11-13T08:05:36Z	"Following on from #13654 All Login/Registration/Install/User Edit functionality should stripslash $_POST data.

At present, it seems that we do not stripslash at all.

For existing user passwords, we should migrate passwords to their non-stripslashed versions:

 [5/31/10 6:34:11 AM] Mark Jaquith: We could migrate people.[[BR]]

 [5/31/10 6:34:13 AM] Dion (dd32): Perhaps oughta just add proper stripslashing in 3.1, and add back-compat to change password from non-stripslashed to stripslashed.. similar to the md5->phpass implementation..[[BR]]

 [5/31/10 6:35:13 AM] Mark Jaquith: Yep. If the PW doesn't match, addslashes() and compare again. If that matches, set the new PW hash. Right?[[BR]]

 [5/31/10 6:35:19 AM] Dion (dd32): yep

"	dd32
Future Releases	24149	Set RTL body class for iframes		Administration		normal	minor	Future Release	defect (bug)	new	commit	2013-04-21T03:57:06Z	2013-04-22T06:36:02Z	"iframe_header() sets the current locale string in the body class, but not the RTL flag. Please add this.

This came up in MP6 development, where MP6 does not (at this moment) rely on a separate rtl stylesheet like in the current admin CSS, but instead relies more on the body having .rtl set."	mitchoyoshitaka
Future Releases	9296	Settings API & Permalink Settings Page Bug	jfarthing84	Administration	2.7.1	normal	major	Future Release	defect (bug)	reopened	has-patch	2009-03-07T05:33:55Z	2013-04-22T20:58:19Z	Although there is a hook in the options-permalink.php to insert custom settings, it does not actually save any custom setting which is added to that page.  Instead of posting to options.php like all the other options pages, it posts to itself and only handles the form data which is built into the wordpress core.  It should be implemented on that page to also store custom settings that may be hooked onto that page.	jfarthing84
Future Releases	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
Future Releases	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
Future Releases	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
Future Releases	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
Future Releases	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
Future Releases	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
Future Releases	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
Future Releases	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
Future Releases	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
Future Releases	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
Future Releases	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
Future Releases	15384	wp-login.php refactor		Administration		normal	normal	Future Release	enhancement	new		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
Future Releases	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
Future Releases	20729	Improve Admin Colors CSS enqueuing		Appearance	3.1	normal	normal	Future Release	defect (bug)	new		2012-05-22T17:19:58Z	2012-05-22T17:20:17Z	"The hacky way in which we enqueue the admin colors css means that you get different ordering of the CSS between the development version of the scripts and the script-loader sourced version of the scripts.

This can cause CSS bugs which don't show when developing but do when running with the script loader - e.g. #16827

It also makes it harder to implement a custom css concatenator.

We should do something like - http://core.trac.wordpress.org/attachment/ticket/16827/colors-hacked-fixed.diff

To make this properly enqueue the styles.

We should also make this kind of call fire a {{{_doing_it_wrong()}}} as {{{true}}} is not a url :)

{{{
$styles->add( 'colors', true, array('wp-admin') );
}}}

This code harks back from [7976]"	westi
Future Releases	20733	Theme customizer doesn't order sections based on order added		Appearance	3.4	normal	normal	Future Release	defect (bug)	new		2012-05-22T23:36:48Z	2013-01-21T15:16:04Z	"When adding sections to the theme customizer, sections with the same priority are given seemingly random order. From the [http://core.trac.wordpress.org/ticket/19910 original customizer ticket]:

> Settings and sections both contain priority parameters (you can specify these in the constructor or alter them afterwards) which serve as the primary means of sorting sections before they're rendered. The order settings/sections are added serves as a secondary sorting mechanism (tiebreaker) when multiple items share the same priority.

I was under the impression that if the priority was the same, the sections would appear in the order they were added. However, if you add sections A, B, and C (in that order) it seems to display them in order B, C, A.

To replicate, add this code to your theme:

{{{
add_action( 'customize_register', 'theme_customize_register' );

function theme_customize_register( $wp_customize ) {
	// Register Section A
	$wp_customize->add_section( 'theme_section_a', array(
		'title'    => 'Section A',
		'priority' => 35,
	) );
	$wp_customize->add_setting( 'theme_option_a', array(
		'type'              => 'option',
	) );
	$wp_customize->add_control( 'theme_option_a', array(
		'section'    => 'theme_section_a',
		'type'       => 'text',
	) );

	// Register Section B
	$wp_customize->add_section( 'theme_section_b', array(
		'title'    => 'Section B',
		'priority' => 35,
	) );
	$wp_customize->add_setting( 'theme_option_b', array(
		'type'              => 'option',
	) );
	$wp_customize->add_control( 'theme_option_b', array(
		'section'    => 'theme_section_b',
		'type'       => 'text',
	) );

	// Register Section C
	$wp_customize->add_section( 'theme_section_c', array(
		'title'    => 'Section C',
		'priority' => 35,
	) );
	$wp_customize->add_setting( 'theme_option_c', array(
		'type'              => 'option',
	) );
	$wp_customize->add_control( 'theme_option_c', array(
		'section'    => 'theme_section_c',
		'type'       => 'text',
	) );
}
}}}

'''Expected result:''' Sections show up in order A, B, C

'''Actual result:''' Sections show up in order B, C, A

Sorry if I'm doing something stupid, or if this isn't the intended functionality. I'm running trunk without any plugins."	andyadams
Future Releases	21785	Add header image uploads with cropping to the customizer		Appearance	3.4	normal	normal	Future Release	task (blessed)	new		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
Future Releases	15069	Autosave function assumes that there is only on tinyMCE on the page		Autosave	3.0.1	normal	normal	Future Release	defect (bug)	new		2010-10-08T10:28:12Z	2011-01-14T09:35:22Z	"Autosave javascript assumes there is only one tinyMCE instance on the post editor page, thus breaking autosave feature under the next circumstances:
1. Content editor is in HTML mode
2. Some custom tinyMCE instances are added to the page by some plugin or theme.

A patch that fixes that problem is attached."	karevn
Future Releases	16993	wp-mail.php doesn't account for half-hour and quarter-hour timezones.		Blog by Email	3.1	normal	trivial	Future Release	defect (bug)	new	has-patch	2011-03-29T06:55:06Z	2012-11-07T22:14:58Z	"To reproduce the problem, install Wordpress and set it to post by email. Send a post from an email address which is configured to use a half-hour or quarter-hour timezone (like Afghanistan, +0430).

wp-mail.php calculates the timezone by multiplying the timezone offset by 36. This works fine for whole-hour timezones (Pacific Time -0800, -800 * 36 = -28800 seconds). For half-hour and quarter-hour time zones this does not work (Afghanistan +0430, 430 * 36 = 15480, should be 16200). The reason this happens is because an hour has 60 minutes as opposed to 100  minutes. 430 / 100 = 4.3 hours, not 4.5 hours. 450 * 36 result in 16200 minutes, but timezones are represented as hours and minutes, not fractional hours.

This results in posts that are posted via email from a half-hour or quarter-hour timezone to be posted in the future or in the past from when it was actually posted."	neoscrib
Future Releases	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
Future Releases	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
Future Releases	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
Future Releases	23327	Cache incrementors for get_bookmarks()		Cache	3.5.1	normal	normal	Future Release	task (blessed)	new		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
Future Releases	15256	?cat=## permalinks do not redirect when category is a parent		Canonical	3.0.1	high	normal	Future Release	defect (bug)	reopened	needs-unit-tests	2010-10-30T05:44:18Z	2013-02-25T13:08:53Z	"One of my plugin users reported this while using dropdowns to display his categories: http://wordpress.org/support/topic/plugin-my-category-order-multiple-widget-support-broken

I was able to duplicate it on my own site in 3.0.1. Any category that has children displayed in the dropdown will redirect to /?cat=## instead of the the friendly /category-name permalink when selected. Select any other category or one of the children and they redirect correctly.

Any thoughts?"	froman118
Future Releases	10935	WP_Query and is_day() bug	ryan	Canonical	2.8.4	normal	normal	Future Release	defect (bug)	new	commit	2009-10-09T05:05:24Z	2013-05-07T20:31:05Z	"When you configure Wordpress with permalinks such as /%year%/%month% and even /%year%/%month%/%day/ there is
a failure when you request URLs like /2009/10/58, because it's still generating the query to the database
(AND YEAR(wp_posts.post_date)='2009' AND MONTH(wp_posts.post_date)='10' AND DAYOFMONTH(wp_posts.post_date)='58').
Also, is_day() returns true, when it should be returning false.

As adding a post with that date is nearly impossible trough the wordpress admin or the database, no posts will be found, so
Wordpress will show ""No page found"", but with HTTP status 200 OK, not 404 Not Found.

I think it's important to validate the day on the applicacion side, so for some ideas to work correctly under WP
(like take advantage of sticky posts and show all post for the month in day requests), and most importantly to save
those wasted mysql queries.

Of course I could validate the day using a filter, but that is not the general idea!"	raliste
Future Releases	12456	Canonical URL redirect issue with post_id/postname permalink structure	dd32*	Canonical	2.9.2	normal	normal	Future Release	enhancement	accepted	tested	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
Future Releases	10543	Incorrect (non-UTF-8) character handling in tag's name and slug	westi*	Charset	2.8.2	normal	normal	Future Release	defect (bug)	accepted	needs-unit-tests	2009-08-04T05:26:11Z	2010-11-13T01:15:40Z	"Incorrect (non-UTF-8) character tag's name and slug are handled in different way: name is truncated on 1st such character, and in slug they are just removed (no truncation). WP should handle both in the same way - drop invalid characters, instead of truncation.

I found this issue recently. One of the Polish programs for adding posts to the Wordpresses does not encode tags in UTF-8 - it left them in ISO-8859-2. I notified author of this bug. Unfortunately there are many copies around, so it may take a long time before everyone upgrade."	sirzooro
Future Releases	18007	is_serialized trouble for multibytes encoding		Charset	3.2	normal	normal	Future Release	defect (bug)	new	has-patch	2011-07-06T16:51:52Z	2013-04-10T12:47:42Z	"Possible bug in the ''is_serialized'' function, in a multibytes environment :

== Context ==

* ''utf-8'' encoded database fields
* auto overlaoding singlebyte functions from conf (see http://www.php.net/manual/en/mbstring.overload.php)

Retrieving an option from the database, the ''get_option'' function try to deserialize it.

== Bug scenario ==
 * the ''strlen'' call is actually a ''mb_strlen'' one
 * the ''$length'' var is the number of characters (not bytes)
 * using {{{ $data[$length-1] }}} don't retrieve the last char but one before, it's actual position is undefined, depending on the other content of the string
 * this ''$lastc'' is not '';'' or ''}'' 
 * the string is understood has not serialized

== Patch proposal ==

here is a fix i made to make it work with multibytes string :
Not tested it for single bytes, but there is no reason for it to not work.
{{{
--- a/wp-includes/functions.php
+++ b/wp-includes/functions.php
@@ -256,7 +256,7 @@ function is_serialized( $data ) {
                return false;
        if ( ':' !== $data[1] )
                return false;
-       $lastc = $data[$length-1];
+       $lastc = substr($data, -1);
        if ( ';' !== $lastc && '}' !== $lastc )
                return false;
        $token = $data[0];
}}}

"	challet
Future Releases	16134	Check capabilities/role before adding comment links to email		Comments	3.0.4	normal	normal	Future Release	defect (bug)	new	has-patch	2011-01-07T10:23:06Z	2011-02-19T20:35:22Z	"Currently the Trash it, Delete it, Spam it are added to comment notifcation emails, which are sent to the author.

However, the author may have had their role changed down to a lower-role (or had capability removed) since they wrote the post, and no longer would have permissions to use the links added to the email. 

It may also be the case that a subscriber user was assigned as the Post Author (perhaps as a sort of Guest Author) for a post, and never had the permissions to use those links.

Can some sort of check be added, before these links be added to the email?"	GaryJ
Future Releases	14711	Indexes for comment_author_email and user_id		Comments	3.0	normal	normal	Future Release	defect (bug)	new		2010-08-27T07:18:30Z	2011-01-08T19:36:17Z	"There are currently no indexes on any of the author columns in wp_comments.  That means there's no efficient way to count the comments written by a given commenter, for example.

The enclosed patch adds two separate non-unique indexes, one each for comment_author_email and user_id.
"	tellyworth
Future Releases	11286	Normal User Input Causes Status 500		Comments	2.8.4	normal	normal	Future Release	defect (bug)	new	commit	2009-11-30T21:45:04Z	2012-11-26T22:20:40Z	"To reproduce:  Click the Submit Comment button on any post with no other input.

Expected Result:  Status 200 or 403 with feedback to user.

Actual Result:  Status 500 with feedback to user.

Status 500 means the server is at fault for an unexpected error condition, which is not the case here.  It is the incorrect response to send, and it is alarming to see it show up in a server log without an error message.

Patch should be ready shortly..."	miqrogroove
Future Releases	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
Future Releases	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
Future Releases	21870	@ error control operator hides fatal error on mysql_fetch_object		Database	1.5	normal	normal	Future Release	defect (bug)	new	has-patch	2012-09-11T14:59:36Z	2012-11-07T19:49:19Z	"I ran a get_posts() query that took me a while to track down to the @ error control operator on the mysql_fetch_object call (see wp-db.php:1219 in trunk), therefore PHP was silently die'ing on me because of a memory limit error.

I'm curious as to what use cases there are for the error control operator to be used here. In my case, I want to see these errors and fix my code accordingly, or tailor my query to the memory constraints, or rethink my data relations in the database.

"	ericlewis
Future Releases	15004	Missing index on signups table	pento	Database		normal	normal	Future Release	defect (bug)	assigned	commit	2010-10-01T03:48:25Z	2013-05-07T17:36:17Z	"{{{
wp-includes/ms-functions.php:590:
$signup = $wpdb->get_row( $wpdb->prepare(""SELECT * FROM $wpdb->signups WHERE user_email = %s"", $user_email) );
wp-includes/ms-functions.php:595:
$wpdb->query( $wpdb->prepare(""DELETE FROM $wpdb->signups WHERE user_email = %s"", $user_email) );
}}}

But there is no index on user_email in the signups table.  Makes these queries perform a full table scan which is slow when you have lots of signups.

Attached patch adds the index but I can't figure out how schema upgrades on MS-specific tables ever get run after the initial activation of MS mode and table creation.

"	barry
Future Releases	12257	wpdb Scales Badly Due to Unnecessary Copies of All Query Results	ryan	Database		normal	critical	Future Release	defect (bug)	reopened		2010-02-17T03:08:06Z	2013-03-19T05:19:44Z	"While working on #11726, I encountered a reproducible crash in wpdb::query()

The following code causes memory exhaustion on large result sets:

{{{
while ( $row = @mysql_fetch_object($this->result) ) {
	$this->last_result[$num_rows] = $row;
	$num_rows++;
}
}}}

The memory exhaustion message is error-controlled, causing a white screen of death even in debug mode.

I searched wp-db.php for references to $this->last_result, and I found no justification for these object reference copies.  $this->last_result '''should''' be maintained as a MySQL resource and properly optimized using the MySQL client layer instead of this PHP nonsense.

Tagging for dev-feedback to discuss which Milestone is appropriate."	miqrogroove
Future Releases	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
Future Releases	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
Future Releases	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
Future Releases	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
Future Releases	17391	Alternative color schemes and theme settings in editor styles	azaozz	Editor	3.2	normal	trivial	Future Release	defect (bug)	assigned		2011-05-12T13:14:56Z	2012-01-14T19:10:10Z	"Hello there. 

There is no support for links color change in editor-style.css. 
If you change it in Theme Options, you will see the same:

{{{
a {
	color: #1b8be0;
	text-decoration: none;
}
}}}

As we want the editor to be WYSIWYRG, maybe we should include this change in editor-style.css too. 

I have tried to do that with `add_editor_style()`, but it is only intended for .css archives. 
I have tried to add it as a filter extending `twentyeleven_print_link_color_style` in `mce_css` and `tiny_mce_before_init`, unsuccessfully.  

All ideas for what can I use to make tinyMCE read the options are welcome. "	bi0xid
Future Releases	16077	Placement of link popup in full-size visual editor when browser window is resized	garyc40	Editor	3.1	normal	normal	Future Release	defect (bug)	assigned	has-patch	2011-01-02T19:47:30Z	2013-01-22T16:54:13Z	"To recreate: Writing a post in the full-window view of the visual editor, click the link popup. While popup open, resize browser window to be smaller. Link popup stays in original location, even if the window gets small enough to cut it off. 

You can move the link popup by dragging the top bar. If you do this, then the link popup will stay in the new place b/c our save state stuff, even when you're writing in the regular size visual editor.

Preferred UX: if browser window resizes, have link popup recenter itself in the overlay. "	jane
Future Releases	8368	Scheduling post time behavior and language refinements	garyc40	Editor	2.7	low	minor	Future Release	enhancement	assigned		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
Future Releases	23630	Simplify the DFW implementation		Editor		normal	normal	Future Release	enhancement	new		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
Future Releases	20903	Exporter gets stuck in a loop a loop/break in the category hierarchy	westi	Export	3.1	normal	normal	Future Release	defect (bug)	new	has-patch	2012-06-11T11:26:07Z	2012-06-12T08:13:02Z	"Ideally it should be impossible for a loop/incorrect parentage in a category hierarchy to exist.

But sometimes they do.

If one does exist then {{{export_wp()}}} gets stuck :(

It gets stuck in this code:

{{{
		// put categories in order with no child going before its parent
		while ( $cat = array_shift( $categories ) ) {
			if ( $cat->parent == 0 || isset( $cats[$cat->parent] ) )
				$cats[$cat->term_id] = $cat;
			else
				$categories[] = $cat;
		}
}}}

Similar to #20635 but different."	westi
Future Releases	19307	"Need ability to export ""All content"" but limited to date range"		Export	3.1	normal	normal	Future Release	enhancement	new		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
Future Releases	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
Future Releases	10984	If content uses the nextpage tag then only the first page is shown in feeds		Feeds	2.8.4	normal	normal	Future Release	defect (bug)	new	dev-feedback	2009-10-20T11:03:11Z	2012-08-27T17:40:40Z	"If content uses the nextpage tag then only the first page is shown in feeds if the ""full text"" option is selected in ""Settings > Reading > Show Full Text (in feed)"". 

No links are displayed to read the full content and no indication is given in the feed that it isn't the full content.

I think the behaviour should be to ignore pagination in feeds which are set to ""full text"".

I have attached a patch which alters the behaviour of the_content() so that if it is used in the context of a feed it concatenates the pages to form the full content and returns that."	simonwheatley
Future Releases	13066	Last-Modified headers for individual comment feeds are incorrect	jgci*	Feeds	3.0	low	normal	Future Release	defect (bug)	accepted	dev-feedback	2010-04-21T07:32:34Z	2010-11-28T16:18:31Z	"The WP::send_headers function currently uses get_lastcommentmodified() to set the Last-Modified header for all comment feeds. This is a problem when used for individual post comment feeds. The function gets the last modified comment across all blog posts. That means that every time a comment is posted anywhere, the Last-Modified header for ALL comment feeds is refreshed. Issues:

1. This is technically incorrect, since only the global comment feed and one specific post's comment feed have changed with the last comment (not all possible comment feeds); and 

2. It means that If-Modified-Since requests for other post comment feeds will not receive a 304 response when they should do (since their content hasn't changed). On blogs with many posts and many comment feeds, this will have a large impact on bandwidth because lots of requests will receive 200 responses where 304's would have done, just because a comment was posted on some other post.

If I've understood the flow correctly, $wp_query hasn't been fully set up at the time this function is called, so changing this behaviour would require some change in the flow of things (e.g., the handling of last modified headers for feeds moves into the do_feed() function). But doing so would mean that Last-Modified headers are correct/meaningful and that many more 304 responses can be served.

Any thoughts?"	solarissmoke
Future Releases	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
Future Releases	4539	Abbreviated year followed by punctuation or markup doesn't texturize	jmstacey	Formatting	2.5	low	normal	Future Release	defect (bug)	reopened	has-patch	2007-06-26T03:36:36Z	2012-12-17T14:49:10Z	"An abbreviated year followed by punctuation or markup doesn't texturize properly.

e.g. (Bruce Sterling, '97) is texturized as (Bruce Sterling, &#8216;97) when the apostrophe should be texturized as &#8217;

e.g. <li>Casino Royale '06</li> is texturized as <li>Casino Royale, &#8216;06</li> when the apostrophe should be texturized as &#8217;"	pah2
Future Releases	10823	Bad handling of ampersand in post titles		Formatting	2.8.4	normal	minor	Future Release	defect (bug)	new	has-patch	2009-09-21T10:59:50Z	2013-01-23T22:12:06Z	"Titles with ampersand (&amp;) are not correctly handled:[[BR]]

1/ the_title_attribute() doesn't transform & to &amp; causing XHTML validation errors[[BR]]

2/ titles with & followed by ; generate truncated post name (slug)
e.g. ""Test this & believe ; what ?"" => ""test-this-what"""	Commeuneimage
Future Releases	15367	WordPress strips multiple line breaks inside of <pre> tags	garyc40	Formatting	3.1	normal	normal	Future Release	defect (bug)	assigned	has-patch	2010-11-10T01:39:33Z	2012-09-12T19:49:52Z	"Write a post:

{{{
<pre>
This


is




a
test.
</pre>
}}}

You end up with this:

{{{
<pre>
This

is

a
test.
</pre>
}}}

Probably related to `wpautop()` I imagine."	Viper007Bond
Future Releases	10041	like_escape() should escape backslashes too		Formatting	2.8	high	normal	Future Release	defect (bug)	reopened	has-patch	2009-06-05T11:18:16Z	2013-04-16T17:04:06Z	"The like_escape() function doesn't escape backslashes.

source:trunk/wp-includes/formatting.php@11518#L2260
{{{
	return str_replace(array(""%"", ""_""), array(""\\%"", ""\\_""), $text);
}}}
should be ...
{{{
	return str_replace(array(""\\"", ""%"", ""_""), array(""\\\\"", ""\\%"", ""\\_""), $text);
}}}
or simply ...
{{{
	return addcslashes($text, '%_');
}}}

Considering multi-byte characters ...
{{{
	if (function_exists('mb_ereg_replace')) {
		$text = mb_ereg_replace('\\\\', '\\\\', $text);
		$text = mb_ereg_replace('%', '\\%', $text);
		$text = mb_ereg_replace('_', '\\_', $text);
		return $text;
	} else {
		return addcslashes($text, '%_');
	}
}}}"	miau_jp
Future Releases	14050	shortcode_unautop() should also remove the <br /> added after shortcodes		Formatting	3.0	normal	normal	Future Release	defect (bug)	new	dev-feedback	2010-06-22T18:15:27Z	2013-01-19T08:38:00Z	"Currently `wpautop()` wraps a shortcode in `<p>` tags as well as adding a `<br />` tag after the shortcode. We then use `shortcode_unautop()` to remove the `<p>` tags, but the `<br />` stays.

To replicate, just drop a few caption shortcodes into a post and set them all to align left or right. You'll see that even though they all float (assuming that's how your theme handles them) they stair step down because of the extra `<br />`

I'm not a regex expert so someone should probably double check my patch, but it seems to work for me."	aaroncampbell
Future Releases	15657	wp_strip_all_tags causes paragraphs to run together		Formatting	2.9	normal	normal	Future Release	defect (bug)	new	needs-unit-tests	2010-12-03T06:05:40Z	2011-12-27T20:49:30Z	"If a post contains HTML like ""foo<p>bar"", the RSS feed ends up with the text ""foobar"" instead of the more appropriate ""foo bar"" or even ""foo\n\nbar"".

Here is a simple patch to wp-includes/formatting.php that fixes this: basically, convert <p>, <br> and certain similar tags to newlines before calling the PHP-builtin strip_tags() function.
"	jwz
Future Releases	4298	wpautop bugs	markjaquith*	Formatting	2.7	low	minor	Future Release	defect (bug)	accepted	dev-feedback	2007-05-19T22:14:10Z	2010-04-04T06:42:21Z	"wpautop should at least ignore multiline html tags, and possibly ignore any area enclosed within html.

{{{
<table
 style=""width: 120px; height: 92px; text-align: left; margin-left: auto; margin-right: auto;""
 border=""1"" cellpadding=""7"" cellspacing=""2"">
  <tbody>
    <tr>
      <td><small><small style=""font-family: Arial;"">Once
I saw it here, I instantly knew what I wanted. I love my new woven wood
shades.</small></small><br>
      <small><small>- Ginny Good</small></small></td>
    </tr>
  </tbody>
</table>
}}}

gets formatted as:

{{{
<table<br />
 style=""width: 120px; height: 92px; text-align: left; margin-left: auto; margin-right: auto;""<br />
 border=""1"" cellpadding=""7"" cellspacing=""2""><br />
<tbody>
<tr>
<td><small><small style=""font-family: Arial;"">Once<br />
I saw it here, I instantly knew what I wanted. I love my new woven wood<br />
shades.</small></small><br /><br />
      <small><small>- Ginny Good</small></small></td>

</tr>
</tbody>
</table>
}}}

"	Denis-de-Bernardy
Future Releases	15918	wpautop() breaks inline tags on the same line as block tags	dunno	Formatting	3.0.3	normal	major	Future Release	defect (bug)	new		2010-12-20T16:01:31Z	2012-04-11T15:22:31Z	"Hi guys! I've got latest WP installation (3.0.3) and found strange bug in posts parser.

Create article with following HTML:

{{{
<div class=""wassup""><a href=""#"">WP IZ ASSUM</a></div>
}}}

Browser will get: 

{{{
<div class=""wassup""><a href=""#"">WP IZ ASSUM</a></div>
}}}

All seems to be fine! Now get rid of unnecessary div.

Create article with following HTML:

{{{
<a href=""#"">WP IZ ASSUM</a>
}}}

Browser will get: 

{{{
<p><a href=""#"">WP IZ ASSUM</a></p>
}}}

Dunno why there is extra <p> but who cares. All seems to be OK.

Create article with following HTML:

{{{
<figure><a href=""#"">WP IZ ASSUM</a>
</figure>
}}}

Browser will get:

{{{
<figure><a href=""#"">WP IZ ASSUM</a><br />
</figure>
}}}

Now isn't that cool? But check what is even cooler!

Create article with following HTML:

{{{
<figure><a href=""#"">WP IZ ASSUM</a>
<figcaption>NO IT'S BUGGY AS HELL</figcaption>
</figure>
}}}

Browser will get:
{{{
<figure><a href=""#"">WP IZ ASSUM</a></p>
<figcaption>NO IT’S BUGGY AS HELL</figcaption>
</figure>
}}}

Wow! Say hello to invalid markup and rendering problems! Auto-closing of tags turned off. No matter of the settings I still get this nice messed up html. WYSIWYG turned off also."	retrib
Future Releases	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
Future Releases	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
Future Releases	13821	Changing visibility to password-protected without entering a password does not warn user	kapeels*	General		normal	normal	Future Release	defect (bug)	accepted	has-patch	2010-06-10T13:48:48Z	2012-10-01T17:42:25Z	"Tested on r15182.

If the status of a post is set to Password Protected, and a password is not specified before the user clicks the OK button in visibility and then either publishes, saves, or updates the post, no warning is given to the user that not setting a password forces the post or page to remain Public.

In fact, if updating a post, and this is the only change made, the success message (1) for updating the post appears instead, even though no change was made to the post.

If the post was previously published as Private, and switched to Password Protected without entering a password, then saved, the post switches to Public on save instead of remaining Private.

Either a failure message upon updating or a warning to the user before saving should be displayed to the user to remind them that they didn't properly set a password.

To reproduce the last case above:

1. Create a post. Publish it as Private.
2. Edit the post. Change the visibility to Password Protected, but do not enter a password. Click OK.
3. Update the post.
4. The post visibility will be changed to Public."	markel
Future Releases	15963	Don't try to add orphaned pages' parents' slugs to the page URL		General	3.1	normal	normal	Future Release	defect (bug)	new	dev-feedback	2010-12-23T11:08:55Z	2012-09-19T22:31:20Z	"If a page becomes orphaned---in other words, if a page points to a parent object that doesn't exist any more---`get_page_uri()` doesn't sanity check that the parent object actually exists.

Patch does the check without any extra work, by moving stuff around."	filosofo
Future Releases	19120	Interim login needs some work	azaozz	General		normal	normal	Future Release	defect (bug)	assigned		2011-11-02T22:46:42Z	2012-05-02T19:43:33Z	"A CSS style causes a white 20px stripe at the top of the otherwise gray interim login screen.

That should go, and azaozz thinks the popup should as well.

3.3 for now, but the rest may be punted by azaozz."	nacin
Future Releases	20569	We need addslashes_deep()		General	3.4	normal	major	Future Release	defect (bug)	new	has-patch	2012-04-29T08:08:28Z	2012-09-02T03:15:55Z	"
I don't imagine anyone still feels that having `update_metadata()` call `stripslashes_deep()` is still the Right Thing to do, but I understand why removing it is basically impossible for backward compatibility reasons.

That said, !WordPress as a platform does not currently provide a way for this data to be stored accurately as a meta value:

{{{
$data = array(
	'Check me out, I have backslashes \\'
);
update_post_meta($post->ID, 'my_key', $data);
}}}

I'm not saying that this is a great deal better from a code purity standpoint:

{{{
$data = array(
	'Check me out, I have backslashes \\'
);
update_post_meta($post->ID, 'my_key', addslashes_deep($data));
}}}

but it's at least explainable.

Telling people they have to do something like this:

{{{
$data = array(
	'Check me out, I have backslashes \\'
);
$slashed_data = array();
foreach ($data as $item) {
	$slashed_data[] = addslashes($item);
}
update_post_meta($post->ID, 'my_key', $slashed_data);
}}}

or this:

{{{
if (!function_exists('addslashes_deep')) {
/**
 * Navigates through an array and adds slashes to the values.
 *
 * If an array is passed, the array_map() function causes a callback to pass the
 * value back to the function. Slashes will be added to this value.
 *
 * @since 3.4.0? (oh please, oh please, oh please)
 *
 * @param array|string $value The array or string to be slashed.
 * @return array|string Slashed array (or string in the callback).
 */
function addslashes_deep($value) {
	if ( is_array($value) ) {
		$value = array_map('addslashes_deep', $value);
	} elseif ( is_object($value) ) {
		$vars = get_object_vars( $value );
		foreach ($vars as $key=>$data) {
			$value->{$key} = addslashes_deep( $data );
		}
	} else {
		$value = addslashes($value);
	}

	return $value;
}
}

$data = array(
	'Check me out, I have backslashes \\'
);
update_post_meta($post->ID, 'my_key', addslashes_deep($data));
}}}

is just indefensible.

FWIW, @rboren created this function as [http://core.trac.wordpress.org/attachment/ticket/12402/12402.2.diff part of a patch] a couple of years back (#12402), but it hasn't landed yet. Pretty please can we get just this bit in for 3.4?"	alexkingorg
Future Releases	17923	add_query_arg() should encode values		General	3.2	normal	normal	Future Release	defect (bug)	new	has-patch	2011-06-28T22:55:50Z	2013-02-26T14:08:52Z	"One (or me at least) would expect that the result of

{{{
add_query_arg( 'foobar', 'this&that', 'index.php' )
}}}

would be

{{{
index.php?foobar=this%26that
}}}

since the whole purpose of the function is to build a URL. However the actual result is

{{{
index.php?foobar=this&that
}}}

You're asking to the function to create a URL in which `foobar` is `this&that` but instead it creates a URL in which `foobar` is set to only `this`. You shouldn't have to pre-encode values -- the function should take care of it for you.

The function to ""blame"" for this is our `build_query()` which for some reason does not encode by default.

Semi-related: #16943"	Viper007Bond
Future Releases	16221	admin bar hover class toggle adds whitespace	koopersmith*	General	3.1	low	normal	Future Release	defect (bug)	accepted	close	2011-01-13T22:32:25Z	2012-12-13T19:52:17Z	"Every time I mouseover and mouseout an admin bar item, its class attribute gets longer.

Seen in Chrome while inspecting elements in the admin bar."	andy
Future Releases	22781	setUserSetting cannot handle hyphens		General	2.7	normal	normal	Future Release	defect (bug)	new		2012-12-06T06:18:39Z	2012-12-06T18:25:43Z	"sanitize_key() can, setUserSetting should be able to as well. It's not that sanitize_key() plays a role, but it sets expectations for what is allowed in keys across core. Both keys and values should be able to accept a hyphen.

The post-thumbnail image size cannot be remembered, for example, if it is added to image_size_names_choose."	nacin
Future Releases	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
Future Releases	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
Future Releases	18954	Automatically whitelist screen options added via add_screen_option()		General		normal	normal	Future Release	enhancement	new		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
Future Releases	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
Future Releases	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
Future Releases	22400	Remove all, or at least most, uses of extract() within WordPress		General	3.4.2	normal	normal	Future Release	enhancement	new		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
Future Releases	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
Future Releases	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
Future Releases	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
Future Releases	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
Future Releases	14966	QuickPress should be a function with alot of hooks	jorbin*	General		normal	normal	Future Release	feature request	accepted		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
Future Releases	16158	3.0.4 Upgrade failed on localhost testbed, successful on public site		HTTP	3.0.1	normal	normal	Future Release	defect (bug)	new	dev-feedback	2011-01-08T21:03:55Z	2011-01-09T14:15:17Z	"Running: 3.0.1, Ubuntu, Apache

I'm still looking at this but wanted to report it while I have a break.

I got the holiday notice to upgrade to 3.0.4.  When I did an auto-upgrade on my local testbed (http://localhost:9090/wp/wp-admin/update-core.php), WP reported that I have latest version.  Plugin upgrades work fine.  The auto upgrade was successful on my public sites.  I have WP_DEBUG, etc. on for my local testbed and no errors were reported.  I have upgraded my local testbed this way in the past, definitely for 3.0.1.

Below is a debug dump I hack in the WP_HTTP->request call coming from wp_version_check.  I pasted the URL use into the browser bar it returned the correct information.  Called from wordpress localhost, api.wordpress.com returns a HTML document with the <title>Page not found</title> and a bunch of info about wordpress.


{{{
[08-Jan-2011 20:42:48] URL='http://api.wordpress.org/core/version-check/1.5/?version=3.0.1&php=5.3.2-1ubuntu4.5&locale=en_US&mysql=5.0.83&local_package=&blogs=1&users=2&multisite_enabled=0'
[08-Jan-2011 20:42:48] r=array (
  'method' => 'GET',
  'timeout' => 3,
  'redirection' => 5,
  'httpversion' => '1.0',
  'user-agent' => 'WordPress/3.0.1; http://localhost:9090/wp/',
  'blocking' => true,
  'headers' => 
  array (
    'wp_install' => 'http://localhost:9090/wp/',
    'wp_blog' => 'http://localhost:9090/wp/',
    'Accept-Encoding' => 'deflate;q=1.0, compress;q=0.5',
  ),
  'cookies' => 
  array (
  ),
  'body' => NULL,
  'compress' => false,
  'decompress' => true,
  'sslverify' => true,
  'ssl' => false,
  'local' => false,
)
}}}


So two problems:

1) If the local site core check fails, it assumes what it is running is the most current.  There is no indication that the core check failed.  It seems like the ""Page Not Found"" page returned from api.wordpress.org should be displayed. See #16156, #16094 for similar issues.

2) What in the request is causing the HTTP get to fail?  I think it must something in the header information.  BUT, it USED to work.  Is the server behaving differently?"	dturvene
Future Releases	13841	Some HTTP Transports do not respect transfer timeouts		HTTP	3.0	normal	normal	Future Release	defect (bug)	new	has-patch	2010-06-11T04:48:30Z	2012-08-03T01:30:39Z	"While doing some testing I found that fopen, fsockopen and streams do not respect transfer timeouts.

Out fopen transport cannot support a transfer timeout properly because we do not pass the 3rd optional parameter to fopen for stream context.  We don't do this on purpose because the 3rd parameter was not added until php 5, and that is partially what the streams transport is designed to cover.  So in short, unless we want to conditionally use the streams context here for php versions > 5, we cannot reliably use transfer timeouts.

The streams timeout was missing the context for timeout, which does support ""microtime"".  However, unsure at this point why, but the timeout needs to be divided by 2, so that the timeout happens requested timeout.

With fsockopen, we need to actually test for the timeout during the while loop, because the stream_set_timeout applies to each pass of fread and not the total process."	sivel
Future Releases	16606	WP_Http_Streams::test doesn't check enough to confirm if it can do HTTPS		HTTP	3.0.5	high	major	Future Release	defect (bug)	new	has-patch	2011-02-21T08:16:44Z	2013-01-20T20:44:55Z	"The WP_Http_Streams doesn't check for all it's prerequisites before saying it can process HTTPS request.

It seems to be common for the openssl extension to no be loaded.

Example Warnings:

{{{
[21-Feb-2011 08:06:48] PHP Warning:  fopen() [<a href='function.fopen'>function.fopen</a>]: Unable to find the wrapper &quot;https&quot; - did you forget to enable it when you configured PHP? in .../wp-includes/class-http.php on line 1063
[21-Feb-2011 08:06:48] PHP Warning:  fopen(https://example.com/feed/) [<a href='function.fopen'>function.fopen</a>]: failed to open stream: No such file or directory in .../wp-includes/class-http.php on line 1063
}}}

We need to at least check: {{{extension_loaded( 'openssl' )}}}
"	westi
Future Releases	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
Future Releases	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
Future Releases	21583	Improve discoverability and visual design of Screen Options and Help Panels		Help/About		normal	normal	Future Release	enhancement	new		2012-08-14T22:34:05Z	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
Future Releases	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
Future Releases	22302	Multisite administration - default date format		I18N	3.1	normal	normal	Future Release	defect (bug)	new	has-patch	2012-10-29T15:11:58Z	2012-11-07T18:17:39Z	"1) There is default non-translatable format for dates in multisite administration:

Sites - All sites (columns Last Updated and Registered)

Users - All users (column Registered)

Please see attached patch, I used existing localization format.

2) Sites - All sites - Edit any site. There are also Registered and Last Updated values in default date format, but I am not sure how to solve this issue..."	pavelevap
Future Releases	13651	Problem with plural form in comments_number	nbachiyski	I18N	3.0	high	major	Future Release	defect (bug)	new	has-patch	2010-05-31T07:55:14Z	2013-04-10T16:06:03Z	"Hi, there is problem with comments_number in WordPress (and also Twentyten theme). There is possibility to use 0, 1 or more comments. But for Czech there are also two plural forms: 0 (žádný komentář), 1 (1 komentář), 2-4 (komentáře) and 5 and more (komentářů).

Function comments_number does not support it, also in Twentyten it is not possible..."	pavelevap
Future Releases	20974	Remove obsolete locale-specific files on upgrade	dd32	I18N	3.4	low	normal	Future Release	defect (bug)	assigned	has-patch	2012-06-15T14:06:43Z	2012-11-07T20:20:44Z	"We used to have `wp-content/languages/ru_RU.css` file in ru_RU package.

Since #19603, it's no longer needed, but is still left over on upgrade. We should probably include it in `$_old_files`.

I suppose the same applies to zh_CN and he_IL packages ([19825])."	SergeyBiryukov
Future Releases	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
Future Releases	18493	HTML E-Mails	westi	Mail	3.2	normal	normal	Future Release	enhancement	reviewing		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
Future Releases	19730	"Death ""Add Media"" link after permanently deleting media items."		Media	3.3	normal	minor	Future Release	defect (bug)	new	has-patch	2012-01-04T10:30:13Z	2012-05-01T13:27:10Z	"After deleting a media item permanently and try to directly add a new one via the 'title-menu-link' (the button-link near the ""Media"" title in the admin screen) will result in a death link (""Invalid post type"").

Follow these steps to reproduce the death link(s):

If you have no '''unattachted''' media in your library, first do this:
- Media > Add New
- From the 'title' menu ""Add New"" (Button near ""Media Library"" at the top)
- Add a random image/file and press ""Save changes""
- You'll get redirected back to the overview of all your media.

If you already have one or more '''unattached''' media items in the library:
- Click on the ""Delete Permanently"" link of the file you just uploaded (the unattached file) (and press oke in the alert dialog)
- This is where something goes wrong: You'r now redirected to the edit.php page where you can read: ""Item permanently deleted."". Now click again on the ""Add New"" link in the title-menu near the title ""Media""
- You're now redirected to an invalid page: ""Invalid post type"".
"	Jordi-Fun
Future Releases	16330	media_sideload_image() broken with filenames containing strange characters (e.g., +, %)		Media	3.1	normal	major	Future Release	defect (bug)	reopened	needs-unit-tests	2011-01-21T13:56:19Z	2013-03-17T10:31:55Z	"I'm using the {{{media_sideload_image()}}} method in the upcoming version of my [http://wordpress.org/extend/plugins/e107-importer/ e107 Importer script] (see: http://github.com/kdeldycke/e107-importer/blob/b7925fdac6aa43db4be5b7925265a83d95fc62ad/e107-importer.php#L277 ) to upload remote images into WordPress.

This method work as expected with lots of images from a lot of different sources, but fail on URLs containing spaces.

Let me illustrate this bug with an example.

When trying to upload the image located at
{{{
http://home.nordnet.fr/francois.jankowski/pochette avant thumb.jpg
}}}
the result looks like this on the file system: http://twitpic.com/3s0dk7 . As you can see, image file names are clean. But in the Media Manager, here is what you have: http://twitpic.com/3s0e5d . No thumbnails seems to have been created.

Now, trying to fix this, I modified the original URL before calling {{{media_sideload_image()}}} with the following code:
{{{
  $img_url = str_replace(' ', '%20', html_entity_decode($img_url));
  $new_tag = media_sideload_image($img_url, $post_id);
}}}
With this patch, here is the result on the filesystem: http://twitpic.com/3s0ets . I was surprised by WordPress not sanitizing URLs. Is that normal ?

But the most surprising stuff is in the Media Manager: http://twitpic.com/3s0hup . It looks like thanks to this hack, WordPress somehow succeeded downloading the remote file but messed with filesystem naming. What let me think this ? The Media Manager, get the right image thumbnail dimensions but not the binary payload of the thumbnail (contrary to the case above were no binary nor dimensions are available about the thumbnail).

All of this was tested in WordPress 3.1-RC2.

As for the idea of the patch above, it come from a very old version of my plugin (v0.9) that was based on WordPress 2.3.2. There, I somehow found the root cause of the problem, [http://github.com/kdeldycke/e107-importer/blob/e107-importer-0.9/e107.php#L410 according the comment I wrote 3 years ago]:
{{{
 // The fopen() function in wp_remote_fopen() don't like URLs with space chars not translated to html entities
}}}

I should have posted this bug report sooner, as now I've forgotten everything about this issue... :("	Coolkevman
Future Releases	22768	EXIF/IPTC captions should populate caption/post_excerpt on upload, not description/post_content		Media	2.5	normal	normal	Future Release	enhancement	new		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
Future Releases	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
Future Releases	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
Future Releases	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
Future Releases	21534	Walker: has_children is only set if $args[0] is an array	betzster	Menus	3.0	normal	normal	Future Release	defect (bug)	new	commit	2012-08-10T02:12:33Z	2013-04-23T02:09:53Z	"You can't depend on `has_children` because it doesn't get set if `$args[0]` is an object. This is obviously an easy fix, just check if it's an object and set it in that case.

Related: #15214"	betzster
Future Releases	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
Future Releases	11957	Change Admin Menu Save-State Rules	ryan	Menus		normal	normal	Future Release	enhancement	new		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
Future Releases	16293	In multisite installs, users with id 1 or 2 can't be deleted		Multisite	3.1	normal	normal	Future Release	defect (bug)	reopened	dev-feedback	2011-01-19T00:21:34Z	2013-04-25T15:15:19Z	"You can't delete a user with user id of 1 or 2. 
See: source:trunk/wp-admin/network/edit.php@17326#L359"	PeteMall
Future Releases	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
Future Releases	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
Future Releases	19949	Make update_post_thumbnail_cache() work for any instance		Performance		normal	normal	Future Release	enhancement	new	has-patch	2012-02-02T22:40:03Z	2012-11-27T00:32:47Z	It would be useful if update_post_thumbnail_cache() [17883] would accept an optional $wp_query parameter, so that users aren't forced to use query_posts() in order to benefit from it.	scribu
Future Releases	22828	Remove Duplicate Array Check		Performance	3.4.2	normal	normal	Future Release	enhancement	new	has-patch	2012-12-08T18:33:52Z	2012-12-08T21:22:49Z	"I just stumbled across this silly bit of code in function get_core_updates()

{{{
if ( !isset( $from_api->updates ) || !is_array( $from_api->updates ) ) return false;
$updates = $from_api->updates;
if ( !is_array( $updates ) ) return false;
}}}
"	miqrogroove
Future Releases	14642	Support Facebook's HipHop	nacin*	Performance		normal	normal	Future Release	enhancement	accepted	has-patch	2010-08-19T03:33:20Z	2012-04-09T05:45:18Z	"Various changes to make WordPress compatible with HipHop, Facebook's
PHP-to-C++ transformer. With this patch, WordPress' codebase can be
tranformed to C++ and then compiled to binary that runs much faster
than the current PHP version.

Summary:

* sanity checks for environmentals

* string in HipHop doesn't have 'error' property

* array_merge takes only array arguments since PHP 5
  http://php.net/manual/en/function.array-merge.php

* $user needs instantiation first before being used

* always replace existing variables in registering new users
  ie. use EXTR_OVERWRITE in extract() by default"	ChenHui
Future Releases	17268	Use native gettext library when available		Performance		normal	normal	Future Release	enhancement	new	has-patch	2011-04-28T11:32:30Z	2012-11-10T07:57:24Z	"[http://codex.wordpress.org/Translating_WordPress Here] you say that the GNU gettext-Framework is used. Exactly, ""pomo"" (file: wp-includes/l10n.php) is a complete own php-implementation of the gettext-program.

I've added a patch to solve this problem. Maybe it is not very good, but it works. On my wordpress-sites, the used php-memory returns from about 65% to about 12% and the site is running much faster when patching wp-includes/l10n.php.

I know that gettext is not available on every wordpress-installation, but when it's available, it should be used.

Sorry for my bad english, I'm german."	linushoppe
Future Releases	17450	Almost pretty permalinks with non-ASCII characters do not work in Apache	westi	Permalinks	3.1	normal	major	Future Release	defect (bug)	reopened	needs-unit-tests	2011-05-16T05:53:14Z	2012-04-27T19:03:50Z	Almost pretty permalinks (using PATH_INFO) with non-ASCII characters do not work in Apache; a not found error is returned. The same permalink works in IIS when UTF-8 is used for server variables. It also works when mod_rewrite is used.	peaceablewhale
Future Releases	9102	Inverse proxy breaks permalinks	ryan	Permalinks	2.7	normal	normal	Future Release	defect (bug)	new	has-patch	2009-02-12T01:58:37Z	2010-04-02T00:34:00Z	"I have a WP installation at my university's webspace (on an apache server), say http://myuni.ac.at/mydir/wordpress/ , and an inverse proxy domain http://mydomain.at/ for it.
This means that any request to the latter, eg for http://mydomain.at/2009/02/12/inverse-proxy-trouble/ , is forwarded to http://myuni.ac.at/mydir/wordpress/ , which in turn means that the REQUEST_URI there becomes /mydir/wordpress/2009/02/inverse-proxy-trouble/ . My ''home'' variable is of course set to http://mydomain.at/ (''siteurl'' is set to http://myuni.ac.at/mydir/wordpress/ -- otherwise I wouldn't be able to login to WP).

Unfortunately, when analyzing REQUEST_URI, wordpress chops off the ''home'' path, not the ''siteurl'' one. This may be okay for some purposes, but in the inverse proxy case, permalinks break. For a fix, I had to hack two wordpress core files, namely 

wp-includes/classes.php
in function parse_request: change line 162 from 

{{{
$home_path = parse_url(get_option('home'));
}}}
to
{{{
$home_path = parse_url(get_option('siteurl'));
}}}

and wp-includes/rewrite.php, in function get_pagenum_link, line 987, same modification.

This is a dirty hack, of course; so I wonder if in general, using the ''siteurl'' path is valid in any case where the ''home'' host differs from the ''siteurl'' host. If so, I suggest changing the affected files in such a manner."	Bernhard Reiter
Future Releases	10249	Page slug in cyrillic = Error 404 - Not Found!	westi*	Permalinks	2.7	normal	major	Future Release	defect (bug)	accepted	needs-unit-tests	2009-06-23T19:44:34Z	2012-04-27T19:04:18Z	"When I create a page with page slug for example ""киро""
then when I try to open domain/киро - Error 404 - Not Found

The permalinks are %postname%

Post slug with this slug is working just fine, the same BUG exists in 2.7, 2.7.1 and 2.8"	kalifi
Future Releases	20419	get_sample_permalink() passes the wrong post_status to wp_unique_post_slug()		Permalinks	3.3	normal	minor	Future Release	defect (bug)	new	has-patch	2012-04-11T23:15:38Z	2013-05-09T04:19:10Z	"get_sample_permalink() fakes a 'publish' post_status so that it can create a pseudo-permalink for drafts and scheduled posts.  Also wp_unique_post_slug() bails when the post_status is 'draft', 'pending', or 'auto-draft', so faking a 'publish' post_status helps there too.

However, that means the incorrect post_status is passed to the 'wp_unique_post_slug' filter at times, creating unexpected behaviour -- namely sometimes the $post_status parameter of the wp_unique_post_slug filter will report a non-published post is published.  

The best approach here seems to be to let the wp_unique_post_slug() function know when a fake $post_status is being passed to it, what that status is so it can be passed to the wp_unique_post_slug filter.  That way anybody using the filter will always get the actual post status all the time without having to do anything special.

Related: #14111"	mintindeed
Future Releases	10384	Make IIS Permalink support enabled based on capability not on version number	westi	Permalinks	2.8	normal	normal	Future Release	enhancement	new	commit	2009-07-11T08:37:44Z	2011-04-12T00:19:13Z	"At the moment we enable the IIS permalink support based on checks for IIS7 and then some capabilities.

We should remove the version checking and work solely on capabilities so that we don't have to revisit when IIS8 is released."	westi
Future Releases	16055	Only fire 'Side Wide Only' plugin header deprecated notice if the plugin is activated		Plugins	3.0	normal	normal	Future Release	defect (bug)	new	has-patch	2010-12-31T23:13:56Z	2010-12-31T23:25:07Z	Apparently it can be fired on a deactivated plugin. That's annoying and confusing.	nacin
Future Releases	10535	_wp_filter_build_unique_id issues with the first time a filter is hooked by a class		Plugins	2.9	normal	normal	Future Release	defect (bug)	reopened	has-patch	2009-08-02T12:22:18Z	2013-01-10T20:02:38Z	"Ref #8723

The first time _wp_filter_build_unique_id is used to generate an ID the ID returned is different to the second time it is called. This presents a problem if the first ID is used when adding a filter which then needs to be removed later in the app flow... as the IDs don't match the filter is unremovable.

One workaround proposed is to set a wp_filter_id property before add the filter, and this will cause _wp_filter_build_unique_id to bypass the problem code and effectively forces the ""unique"" ID which is generated... this workaround feels unpoetic. ;)"	simonwheatley
Future Releases	14881	do_action should not pass empty string by default		Plugins		normal	normal	Future Release	defect (bug)	new	has-patch	2010-09-15T20:44:56Z	2012-05-17T21:09:41Z	"{{{
function test( $a = true ) {
   var_dump( $a );
}
add_action( 'test', 'test' );
add_action( 'test', 'test', 10, 0 );
do_action( 'test' );
}}}
Second example is bool(true) as expected, but the first is a zero-length string.

In this case, since do_action() is not passing any arguments, then no arguments should be passed to test() -- even if by default, one argument gets passed.

The issue here is how do_action() is defined: `function do_action( $tag, $arg = '' );`. There's our zero-length string. Of note, apply_filters() does not have this same issue.

The solution looks something like what I have attached. Has yet to be benchmarked.

Of note, this does not appear to have any direct implications for passing all args by default, as proposed in #14671, but I wanted to reference it anyway."	nacin
Future Releases	15335	register_setting() filter for sanitization callback needs to indicate 2 arguments accepted	markjaquith	Plugins	3.1	normal	normal	Future Release	defect (bug)	reopened	has-patch	2010-11-08T01:10:46Z	2011-10-12T16:37:35Z	"'''register_setting()''' adds the function for sanitization of the option with the following line (wp-admin/includes/plugin.php):


{{{
add_filter( ""sanitize_option_{$option_name}"", $sanitize_callback );
}}}

For users wanting to declare a function for option sanitization, use of the option name within the function is sometimes desired, and is provided for in the filter application inside the '''sanitize_option()''' declaration as such (wp-includes/formatting.php):


{{{
$value = apply_filters(""sanitize_option_{$option}"", $value, $option);
}}}

With the filter always being applied with the option name as the second argument, I see no reason not to propose that the '''add_filter()''' call in register_setting() include ""2"" as the number of accepted arguments, allowing the option name to be passed."	lumination
Future Releases	21169	remove_action on a tag within do_action for that tag can cause actions to be missed		Plugins		normal	major	Future Release	defect (bug)	new	has-patch	2012-07-05T21:08:22Z	2012-11-07T15:35:21Z	"'''Problem:'''

If an action (or filter) in a given priority for a given tag removes itself as part of its execution, and it was the only action/filter at that priority for that tag (or only one remaining), the next priority level is skipped.

'''Reproduction:'''

See the attached unit test.

'''Analysis:'''

This appears to possibly be a bug (or at least an undocumented feature) of PHP (tested up to 5.4.3), where next() falls over if the current array element is unset (but each() has no problem even if the /next/ array element is unset).  Example non-WP code demonstrating this is included.

'''Proposed solution / workaround:'''

Switch all uses of next() in plugin.php to use each() instead; I've included a proposed patch.

Props to smathiascrowdfavorite for bringing this bug to my attention."	devesine
Future Releases	16849	Add a filter for $overrides in wp_handle_upload()		Plugins	3.1	normal	minor	Future Release	enhancement	new	commit	2011-03-13T17:38:56Z	2013-03-19T06:21:47Z	"I'm writing a plugin that needs to set a $unique_filename_callback in wp_handle_upload() during a normal post attachment upload (not a custom upload form), but there's no way to do it without a filter like this one:

{{{
$overrides = apply_filters( 'wp_handle_upload_overrides', $overrides );
}}}


For now I just modded my /wp-admin/includes/file.php to add it, but obviously that's not an ideal solution, especially since I plan on adding the plugin to the repository for others to use."	iandunn
Future Releases	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
Future Releases	22080	add_theme_support should merge post-thumbnail post types by default (currently stomps)		Post Thumbnails	2.9	normal	normal	Future Release	enhancement	new	has-patch	2012-10-02T19:44:59Z	2013-04-09T20:02:23Z	"As documented in the Codex:

http://codex.wordpress.org/Function_Reference/add_theme_support#Post_Thumbnails

you can pass a second param to `add_theme_support( 'post-thumbnails' )` to specify the post types you want support enabled for. I expected any post types I passed in to be added to the currently specified post types, instead the passed value stomps the existing value. This means that if you create plugin that registers a post type and enables post-thumbnails for it, you need to write code like this:

https://gist.github.com/3822786

instead of a simple:

`add_theme_support( 'post-thumbnails', array( 'my-new-post-type' ) );`

The latter makes more sense to me, and I think it's likely other devs might make the same mistake and accidentally stomp on the previous value for post-thumbnails.

The attached patch enables a merge or stomp behavior for post-thumbnails. It defaults to ""merge"". Passing a `bool true` as a 3rd param will cause the second param to replace the existing value (current behavior)."	alexkingorg
Future Releases	24248	'guid' not properly escaped		Post Types	2.5	normal	normal	Future Release	defect (bug)	new	needs-unit-tests	2013-05-02T14:03:35Z	2013-05-10T20:37:34Z	"Probably related issues: #18274 #19248

'guid' being saved in database not properly escaped, example:
{{{http://www.wordpress.dev/?post_type=changeset&#038;p=57}}} , see the ampersand encode {{{&#038;}}}
It supposed to be {{{&}}} or at least {{{&amp;}}}

Once 'auto-draft' saved, 'guid' is correct: {{{http://www.wordpress.dev/?post_type=changeset&p=57}}}

Once post is saved as 'draft' or published (triggered 'update post' on auto-draft), 'guid' gets malformed.

Source of issue: inappropriate usage of {{{get_post_field()}}} function in the {{{wp_insert_post()}}}

{{{get_post_field()}}} defaults to 'display' context, we not specify context while obtaining field, and in the {{{wp_insert_post()}}} we are not going to display it anywhere, just get, check, and save again, correct?

Attached patch adds the 'raw' context to usage of {{{get_post_field()}}} with 'guid'

"	meloniq
Future Releases	21963	Consolidate post insertion APIs		Post Types		normal	normal	Future Release	defect (bug)	new	needs-unit-tests	2012-09-22T03:46:24Z	2012-12-27T15:14:44Z	"In wp-includes, we have:
 * wp_insert_post()
 * wp_insert_attachment()
 * wp_update_post()
 * wp_publish_post()

For saving from the admin, we have:
 * edit_post()
 * wp_write_post()
 * write_post()

'''wp_publish_post()''' is, as of [21942], now wraps wp_insert_post().

'''wp_update_post()''' is a fairly mundane wrapper of wp_insert_post(), but we really should eliminate the differences between the two functions and make it a straight-up wrapper.

'''wp_insert_attachment()''' was a fork of wp_insert_post(), and wp_insert_post() has gotten a lot of improvements that haven't reached wp_insert_attachment(). It doesn't take much to merge these two, though, and make wp_insert_attachment() a wrapper.

'''wp_write_post()''' calls edit_post() if it has a post ID. And since we have had a post ID since the days of auto-drafts, this function is dead code. It's wrapper, '''write_post()''', can also be deprecated.

I'm attaching a patch that takes care of wp_insert_post(), wp_write_post(), and write_post(). wp_update_post() will require a bit more concentration.

Needs testing and unit tests."	nacin
Future Releases	16415	Don't require CPTs to have archives in order to have feeds		Post Types	3.1	normal	normal	Future Release	enhancement	new	commit	2011-01-30T22:58:47Z	2013-05-16T15:33:43Z	"When archives and feeds were added to custom post types (see #13818) it was set up so you had to have archives (has_archive) in order to have feeds (rewrite[feeds]).

There are some situations where it would be nice to have feeds but archives aren't needed."	aaroncampbell
Future Releases	16176	save_{$post_type}	westi	Post Types	3.0.4	low	normal	Future Release	enhancement	assigned	has-patch	2011-01-10T11:46:22Z	2013-05-16T19:52:35Z	a `save_{$post_type}` hook would be convenient.	bmb
Future Releases	22556	A taxonomy archive query for attachments can't return results		Query	3.5	normal	normal	Future Release	defect (bug)	new		2012-11-23T15:11:50Z	2012-12-19T20:08:06Z	"In #21391 we made it easier to use custom taxonomies for attachments.

Example:
{{{
function ds_register_attachment_taxonomies() {
	$args = array(
		'label' => 'Color',
	);

	register_taxonomy(
		'image-color',
		'attachment:image',
		$args
	);
}
add_action( 'init', 'ds_register_attachment_taxonomies' );
}}}

This makes it also possible to make a query for this specific taxonomy. Example: 5 images has the term ""red"". The query: !http://example.com/image-color/red/

But: The page returns no attachments.

The query:
{{{
SELECT SQL_CALC_FOUND_ROWS wp_posts.ID FROM wp_posts INNER JOIN wp_term_relationships ON (wp_posts.ID = wp_term_relationships.object_id) WHERE 1=1 AND ( wp_term_relationships.term_taxonomy_id IN (404) ) AND wp_posts.post_type IN ('attachment') AND (wp_posts.post_status = 'publish' OR wp_posts.post_status = 'private') GROUP BY wp_posts.ID ORDER BY wp_posts.post_date DESC LIMIT 0, 1
}}}

The problem is the `AND (wp_posts.post_status = 'publish' OR wp_posts.post_status = 'private')` part. Attachments post status is inherit, therefore no results.

The attached patch checks if the current post type is `attachment` and sets the post_status to `inherit`.

I would like to get this in 3.5, since it's one of the new features and could be really annoying,
"	ocean90
Future Releases	15949	WP 3.0.x comments popup on pages returning 404 [including posible solution]		Query	3.0	normal	normal	Future Release	defect (bug)	new	has-patch	2010-12-22T17:04:42Z	2010-12-26T23:38:37Z	"comments-popup does not work on pages (but still working on blog entries) since the 3.0.x upgrade.

i confirm bug and sollution on both: my own theme and on default them after adding comments_popup_link and comments_popup_script functions.

after a long time looking for a solution i found that the new ""handle_404"" method in class WP (wp-includes/classes.php line 475) is the responsable, substituing this method with an older one from wp 2.x brunch solves the problem.

looks like the new method ""think"" that there is no content when the index file is called with comments_popup parameter on a page id, so it returns a 404 status, as said the old one solves the problem.

"	odosuiadan
Future Releases	20904	WP_Query instances getting entangled with $wp_query global		Query		normal	normal	Future Release	defect (bug)	new	has-patch	2012-06-11T11:55:39Z	2013-05-14T13:25:32Z	"`WP_Query::the_post()` fires `setup_postdata()`, which then uses `get_query_var()`. `get_query_var()`, in turn, calls the `get()` method on the `$wp_query` global object. In this way, WP_Query instances are not truly insulated from each other - they all are tied up with `$wp_query` in a way that seems unnecessary, and causes fatal errors in some cases.

In normal use, you would never really notice the issue, because after the `'init'` action, the following offending line in `setup_postdata()` will return the 'page' query var from `$wp_query`:

{{{
$page = get_query_var('page');
}}}

And, since secondary `WP_Query` instances don't paginate in the same way as the primary query, the 'page' property on those instances doesn't matter much. So, while the value of `$page` is not strictly speaking correct in these cases (it comes from the wrong object), it generally fails silently.

However, if you instantiate a WP_Query object before 'init', you get a fatal error, because `$wp_query->get()` is an undefined method. Here's a simple mu-plugin that will demonstrate the problem:

{{{
function bbg_create_early_wp_query_object() {
	$q = new WP_Query( array(
		'post_type' => 'post'
	) );

	if ( $q->have_posts() ) {
		while ( $q->have_posts() ) {
			$q->the_post();
		}
	}
}
add_action( 'plugins_loaded', 'bbg_create_early_wp_query_object' );
}}}

My suggested solution is to move the `setup_postdata()` logic into a method of the `WP_Query` class, and then use `$this->get( 'page' )` rather than `get_query_var( 'page' )`, to ensure that you're referring to the query vars of the correct query object. The old function `setup_postdata()` then becomes a wrapper for `$wp_query->setup_postdata()`.

In addition, I modified the way that the `$more` global is set, so that it references the current object as well. This prevents `_doing_it_wrong()` errors when firing up a `WP_Query` instance before `'init'`."	boonebgorges
Future Releases	16603	Add hooks to wp_count_posts()		Query		normal	normal	Future Release	enhancement	new	commit	2011-02-20T19:25:18Z	2013-05-04T22:40:31Z	"[[Image(http://mikeschinkel.com/websnaps/Posts_%E2%80%B9_Watermark_Associates_Newsletter_%E2%80%94_WordPress-20110220-142441.png)]]

The use-case where this is needed is when the sites is using roles & capabilities to limit access to viewing posts to only those who have the proper capabilities to see them. 

For example, assume we have a system with a ''""Manager""'' role and a taxonomy called ''""Post Visibility""'' where terms are ''""Visible to All""'' and  ''""Visible to Managers Only.""''  We add a `'see_managers_posts'` capability to ''""Manager.""'' We then filter outs posts with the'' ""Visible to Managers Only""'' term using the `'posts_where'` and `'posts_join'` hooks when viewed by users whose role does not have the `'see_managers_posts'` capability.

With that configuration now assume for example we have 10 posts with 3 of them ''""Visible to Managers Only.""'' The post list in `/wp-admin/edit.php` will use `wp_count_posts()` to show that we have 10 posts when we can only see 7 of them. Currently to fix it so the post counts display `7` for non-managers we have to hook the `'query'` hook, which is a hook of last resort.

So, the attached patch adds two hooks to  `wp_count_posts()`: 

 - `'wp_count_posts_sql'` - To allow modifications of the SQL used to count posts, and 
 - `'wp_count_posts'` - To allow modifications of the array returned by the function.

I decided to add two (2) hooks because not having the former would mean we'd need to make two SQL queries if we need to modify the counts, and not having the latter would mean that we'd have the complexity of modifying SQL in use-cases where the a SQL query modification is not what is needed to to determine the proper counts. 
"	mikeschinkel
Future Releases	16854	wp_query does not handle multiple exclude author properly		Query	3.1	normal	normal	Future Release	enhancement	new	has-patch	2011-03-14T11:35:11Z	2013-04-25T17:07:03Z	"when making a query with $args containing 

{{{
'author' => '-2,-3,-4'
}}}

line 2008 of wp-includes/query.php only uses 1 element of the array that is created from the 
{{{
$q['author'] string
}}}

{{{
 $q['author'] = explode('-', $q['author']);
 $q['author'] = (string)absint($q['author'][1]);
}}}

I have attached a patch that works with 1 or more excluded authors

essentially it, implodes the array back into a string of author ID's rather than selecting only element [1] of the exploded array

{{{
$q['author'] = explode('-', $q['author']);
$q['author'] = implode('',$q['author']);
}}}
"	commentluv
Future Releases	19392	Add auto-suggest support for all flat taxonomies in Bulk Edit.		Quick/Bulk Edit	3.0	normal	normal	Awaiting Review	enhancement	new		2011-11-29T18:37:18Z	2011-11-29T18:58:48Z	"Auto-suggest in the Bulk Edit area for post_tag's was fixed in 3.3. Let's add support for all other non-hierarchy tax's in 3.4. 

See [http://core.trac.wordpress.org/ticket/19176#comment:11 #19176] for more info."	scottbasgaard
Future Releases	23314	Allow published posts to be revised without being updated immediately		Revisions		normal	normal	Future Release	feature request	new		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
Future Releases	16839	Category Base Should be Slugified		Rewrite Rules	3.1	normal	normal	Future Release	defect (bug)	reviewing		2011-03-12T21:42:52Z	2011-08-29T23:45:18Z	"Vanilla install of 3.1. Change category base to Foo Bar.  Link generated is example.com/Foo Bar/cat (note the %20/space). Clicking link tries to access /FooBar/cat and 404's.

I see there are a few other tickets regarding categories, including #16662 but no specific mention of custom category base.

"	miklb
Future Releases	23016	Allow plugins to manipulate WP_Roles ($wp_roles global) on construct		Role/Capability	3.5	normal	normal	Future Release	defect (bug)	new		2012-12-20T08:38:46Z	2013-05-14T13:32:58Z	"The WP_Roles class is difficult to extend. There are no actions, filters, or intercept points to allow plugins to target it. Because the $wp_roles global can be created anytime (even doing_it_wrong on plugins_loaded) there's no reliable way to modify any part of $wp_roles.

(The only place WP_Roles actually has any action at all is in the set_role() method, which is the least useful function in the class since it noops all user roles if a user has more than one.)

The specific use case I have is bbPress's dynamic roles.

bbPress is unable to add its dynamic roles to the $wp_roles global on switch_to_blog(). Neither of WP_Roles's initialization methods have actions to allow bbPress to add its roles on.

* switch_to_blog() calls $wp_roles->reinit()
* then wp_get_current_user()
* finally $current_user->for_blog()

At no point can bbPress reliably append its roles to $wp_roles->roles, causing the current user to incorrectly be missing their bbPress role for that site.

More over, the WP_Roles::reinit() method seems like a one-use stop-gap to fix a specific problem, that ends up introducing other issues with trying to extend it. If the use_db flag is set to false, it bails early, and there's no way for plugins that don't use database roles to reinitialize their roles correctly again.

The attached patch does two things:

* Removes the reinit() method completely, and instead re-instantiates the $wp_roles global inside switch_to_blog(). WP_Roles::_init() is not a heavy function, and the guts are basically identical between the two methods.
* Adds a byref action to WP_Roles::init() that allow plugins like bbPress to add their dynamic roles anytime $wp_roles is created."	johnjamesjacoby
Future Releases	16719	Remove vestige add_users capability		Role/Capability		normal	normal	Future Release	defect (bug)	new	has-patch	2011-03-01T20:17:38Z	2012-10-25T20:18:37Z	Listed in populate_roles_300() and added in [14174], it was never used. The situation it was presumably introduced for now falls on promote_users.	nacin
Future Releases	10201	Remove user-specific caps		Role/Capability	2.8	normal	normal	Future Release	enhancement	assigned		2009-06-17T23:02:36Z	2013-01-04T00:51:12Z	"See IRC discussions from June 18th 2009

 * The current role system is rather complicated, But has a lot of flexibility
 * A lot of the flexibility isn't even used by most (ie. the ability to have a user with a Roll + a single capability)
 * The role system starts having trouble with a high number of users
   * To look up every user with a certain cap. it requires loading all the users, and then checking individually. 

The proposed changes are:

 * That we reduce the complex system to something much more simple:
   * Roles are retained: 1 role per meta entry, and since the meta API allows for multiple values for the same key, this would have the benefit of multiple roles, and direct lookups.
   * However:
     * Remove the ability for a user to be part of a Role, and have an extra capability added on top of that. 
 * This has the ability to significantly increase performance, As now:
   * Looking up users with a specific cap is easy:
     * Filter the role list for roles with that cap
     * SQL the usermeta table for users in those roles
     * Select those users (if needed, else return the ID's) 
 * An upgrade path is available which doesnt require extra tables, and reduces the ammount of serialization
   * The other option is a whole new set of tables.. which.. those who are sane (And there are some insane people in WP Dev..) realise that its not really needed. 
 * Fine grain control has never been possible from WP without a plugin, Nothing would change here, If a user wants fine grained control over permissions, They'd still have to run a plugin, Its just that that plugin may have to do more heavy lifting now -- since wordpress's API/role system would be simpler and not support the extra fangledangles."	Denis-de-Bernardy
Future Releases	11623	review options list and update sanitize_option()	dd32*	Security	2.9	normal	normal	Future Release	defect (bug)	accepted		2009-12-26T01:22:13Z	2010-11-13T01:18:42Z	"A lot of options have been added since 2.0.5, and as a result, not all of them have been added to {{{sanitize_option()}}}

Ideally, Options which are to be (int) or absint() should have a filter applied to them here.

Attached patch is for the first option thats brought this up, 'start_of_week' which is tested to be int in some function uses, ignored elsewhere.

I've set this to security as its preventive security.."	dd32
Future Releases	21022	Allow bcrypt to be enabled via filter for pass hashing		Security	3.4	normal	normal	Awaiting Review	enhancement	new	dev-feedback	2012-06-20T01:34:26Z	2013-03-05T19:26:57Z	"Hi,

following recent discussions on password security and how to best prevent any hackers can leverage password table they might have got I looked into the phpass used for WordPress.

While I in principle understand why WordPress uses the compatibility mode of it, I would like to see some flexibility for those who don't need the compatibility.

Thus I would propose to change in wp-includes/pluggable.php all occurances of

$wp_hasher = new PasswordHash(8, true);

to

$wp_hasher = new PasswordHash(8, apply_filters('phpass_compatibility_mode', true));

This would allow users to easily change via plugin from the ""not so secure"" compatibility mode (only salted MD5) of phpass to a more secure setting (bcrypt) in case no compatibility with other applications is required.

The plugin changing the encryption methog could then as easy as

function phpass_bcrypt() {
	return false;
}
add_filter('phpass_compatibility_mode', 'phpass_bcrypt');"	th23
Future Releases	20779	Recommend a user updates keys/salts in maint/repair.php		Security		normal	normal	Future Release	enhancement	new	has-patch	2012-05-29T18:03:19Z	2012-06-27T20:29:33Z	"In maint/repair.php, we tell a user they need to add WP_ALLOW_REPAIR.

Since they are already going into wp-config.php, we should also encourage them to update their unique phrases for keys and salts, assuming they do not have a complete set of 8 unique ones already."	nacin
Future Releases	14380	Caption shortcode inserts inline style forcing width of containing div	nacin*	Shortcodes		normal	minor	Future Release	defect (bug)	accepted	dev-feedback	2010-07-21T19:45:21Z	2013-01-31T22:03:52Z	"This is related to #9066.

The problem is that the image caption shortcode inserts an inline style on the containing div which sets the width to an arbitrary value which cannot be overriden by the theme's stylesheet.

The proposed solution is to replace the shortcode function with a custom one which creates the markup without the inline style, but this is undesirable. It adds unnecessary complexity for beginners and is just generally annoying and shouldn't be necessary.

Creating an inline style violates web standards and contradicts the  philosophy behind a theme-based architecture.

The inline style on the div should be removed so that theme developers can style the caption like they would any other element, without having to resort to inconvenient workarounds."	iandunn
Future Releases	5809	Updating a term in one taxonomy affects the term in every taxonomy	garyc40	Taxonomy	2.3	high	major	Future Release	defect (bug)	reopened	has-patch	2008-02-10T02:21:01Z	2013-05-15T08:13:16Z	"As reported by klawd on #wordpress and reproduced by me, editing a category will affect a tag with the same name.

{{{
Steps to reproduce:
1. Create a category called Testing
2. Create a tag called Testing
3. Rename the Testing category to Another Test
4. Check the name of the tag
}}}"	rmccue
Future Releases	20635	_pad_term_count get's stuck if there is a loop in the hierarchy	westi*	Taxonomy		normal	normal	Future Release	defect (bug)	accepted	has-patch	2012-05-08T10:31:37Z	2012-12-06T22:51:42Z	"Ideally it should be impossible for a loop in a taxonomy hierarchy to exist.

But sometimes they do.

If one does exist then {{{_pad_term_counts()}}} gets stuck :(

When one of these does exist the category widget breaks the front page of your site.

We currently hook {{{wp_check_term_hierarchy_for_loops}}} on {{{wp_update_term_parent}}} and I wonder if there are other places we should be doing this check too."	westi
Future Releases	18828	function wp_get_object_terms() passes sql data into `wp_get_object_terms` filter for $taxonomies		Taxonomy	3.2	normal	normal	Future Release	defect (bug)	new	has-patch	2011-09-30T19:07:08Z	2011-11-15T23:55:10Z	"In wp-includes/taxonomy.php, the return data is passed through the `wp_get_object_terms` filter using the sql-ready data for $taxonomies, meaning it is quoted and comma seperated, for example ""'category', 'post_tag', 'post_format'"". Even for one taxonomy, it has quotes added, it seems this would be easier to work with if it matched the data passed into the function more closely."	postpostmodern
Future Releases	17646	wp_get_object_terms should return arrays of integers for IDs and tt_IDs		Taxonomy	3.2	normal	normal	Future Release	defect (bug)	new	has-patch	2011-06-01T18:00:41Z	2013-05-14T11:39:18Z	"Currently when you use ```wp_get_object_terms``` to request an array of IDs or tt_IDs, the array returned contains strings representing the IDs, not integers. This then creates issues if you send the values back into ```wp_set_object_terms``` as it creates terms named as per those strings, rather than associating the term_ids as expected.

Code to prove the issue:

{{{
$term_ids = wp_get_object_terms( get_the_ID(), 'category', array( 'fields' => 'tt_ids' ) );
var_dump( $term_ids );
}}}

Results in:

{{{
array
  0 => string '1' (length=1)
  1 => string '5' (length=1)
}}}

I believe that the array should have all values cast to integers before they are returned. The attached patch does this by mapping a created function to utilise ```(int)``` for the desired result."	simonwheatley
Future Releases	21949	Allow private taxonomies (public = false)		Taxonomy		normal	normal	Future Release	enhancement	new	commit	2012-09-20T22:22:14Z	2013-05-14T13:33:47Z	"In a discussion with jaredatch & nacin, we discovered that the public arg is not working properly within WordPress query.

So I merged Limiting publicly queried post_types to those that are publicly_queryable with limiting publicly queried taxonomies to those that are public instead of just duplicating the code and making it for taxonomies."	wpsmith
Future Releases	20930	register_taxonomy show_in_menu option		Taxonomy		normal	normal	Future Release	enhancement	new	has-patch	2012-06-12T23:07:30Z	2012-11-23T19:55:35Z	"Shouldn't taxonomies have a show_in_menu option for taxonomies as well. Of course, this would be the same as custom post types affecting the registration and the $parent_file.

The original attachment has the parent file logic via the filter, 'parent_file'."	wpsmith
Future Releases	18714	terms_updated_messages filter	nacin*	Taxonomy		normal	normal	Future Release	enhancement	accepted	has-patch	2011-09-20T07:57:18Z	2011-09-27T05:11:23Z	In the same vein as #18710 we should add a `terms_updated_messages` filter for the term management screen. Messages are currently hardcoded as 'Item added', 'Items deleted', etc.	johnbillion
Future Releases	19373	wp_insert_post() should not contain current_user_can() checks		Taxonomy	3.0	normal	major	Future Release	enhancement	new	has-patch	2011-11-27T17:02:31Z	2013-05-16T11:57:33Z	"wp_insert_post() is a utility function, it should not have a reliance on user capabilities. There are only two places in this function where there is a current_user_can() check - for updating custom taxonomies and for setting post slugs. All other checks (can user publish posts, etc.) are properly handled outside of the utility function.

wp_insert_post() should be safe to use in code that is run without a user context, for example via CRON. With the current code, this is the case *except* for the custom taxonomy feature. This inconsistency can cause a BrilliantDeveloperTM to lose a good deal of time debugging why the same data being passed in is coming back with different results.

For 3.4 (please!), perhaps we can figure out a way to move the checks for user capabilities on taxonomies out of the utility function and into the controller/procedural code. I'm happy to author and submit a patch once an approach has been determined.

For other developers who run into this and need to work around it, either of these 2 options work:

1. call wp_set_post_terms() to add your taxonomies after calling wp_insert_post()
2. set up a ""current user"" in your script before calling wp_insert_post()"	alexkingorg
Future Releases	15513	Home Page fails to use page template sometimes	filosofo	Template	3.1	normal	normal	Future Release	defect (bug)	reopened	has-patch	2010-11-20T01:33:44Z	2010-12-23T17:05:31Z	"If a page is the home page but not also the front page and it has a page template, the page template is ignored.  This behavior is counter-intuitive:

 * When editing the home-page page, either normally or with quick edit, the page template is shown as being the template.
 * When acting as a front page, a page uses its page template if available."	filosofo
Future Releases	17877	Add a new wp_title_array filter to wp_title		Template	3.1	normal	normal	Future Release	enhancement	new	has-patch	2011-06-23T23:10:00Z	2013-05-14T13:34:04Z	It would be awesome to have a filter in `wp_title()` that would let you filter the array.  Right now if any part of the title contains the title separator you can't tell what is a separator and what isn't using the wp_title filter.  Additionally if we make the array filterable you could add additional parts to it without worrying about rtl vs ltr.	aaroncampbell
Future Releases	10177	get_ version of comments_number()		Template	2.8	normal	normal	Future Release	enhancement	new	dev-feedback	2009-06-15T16:33:42Z	2010-12-01T17:10:05Z	"Currently: {{{comments_number()}}} accepts several arguments for the comment number labels and outputs them. {{{get_comments_number()}}}, however, returns only the number of comments.

Problem: there isn't a function to mimic the {{{comments_number()}}} functionality, but to return instead of echo.

The patch introduces {{{get_comments_number_text()}}}, which inherits the functionality of {{{comments_number()}}}, but returns. {{{comments_number()}}} just calls {{{get_comments_number_text()}}}."	nbachiyski
Future Releases	22602	Additional error handling when installing child and parent theme from WordPress.org		Themes		normal	normal	Future Release	enhancement	new	has-patch	2012-11-27T04:35:17Z	2012-11-27T04:35:17Z	See #22515 and ticket:22515#comment:6.	nacin
Future Releases	22810	Support for theme changelogs		Themes		normal	normal	Future Release	enhancement	new		2012-12-07T14:39:22Z	2013-02-20T20:40:06Z	"Plugins' changelogs are shown in the WordPress plugin repository in tabs, eg. http://wordpress.org/extend/plugins/events-manager/changelog/.

Plugins' changelogs are also linked to when viewing available updates in WP-admin, so the siteadmins can know if the update could mess with their customizations.

Theme changelogs are not visible in either place. They should be supported in both places. Also http://codex.wordpress.org/Theme_Review should be updated to reflect that the theme changelogs are much recommended if not mandatory to use and to specify the exact format for them. Currently it uses language that is not clear for those who don't speak English as their first language: ""In lieu of..."" and then ""...Themes are recommended to include a changelog"", which doesn't let the theme author know what format should the changelog be in.

At the moment I've seen changelogs for themes in different formats, but none of them is supported.

Summary of the issues:

1. Add support for theme changelogs on https://wordpress.org/extend/themes/ theme pages in tabs.
2. Add support for theme changelogs in wp-admin theme list views.
3. Clarify Theme Review codex page on the supported format(s) and use more simple English than ""in lieu of""."	Daedalon
Future Releases	14955	Themes should support uninstall.php or uninstall hook		Themes	3.0.1	normal	normal	Future Release	enhancement	new	has-patch	2010-09-23T22:59:57Z	2012-10-09T16:13:14Z	"Related tickets on extending Themes to have Plugin features: #7795 and #14849 but those deal primarily with activation and deactivation centering around 'switch_themes' action.

From looking at /wp-admin/includes/plugin.php, adding support for uninstall is a separate concern (and it doesn't have the issue blocking activation/deactivation).

Should is_uninstallable_plugin, register_uninstall_hook and uninstall_plugin be extended to check theme directory or should versions (is_uninstallable_theme, register_uninstall_theme_hook and uninstall_theme) be added to theme.php?

Advantage of the first method is that the register_uninstall_hook could be reused for Themes where in the second, a new, less attractive name would be needed (register_uninstall_theme_hook?) Also, there's no theme_basename as it was reverted/removed."	WraithKenny
Future Releases	20816	custom-background $args enhancement		Themes	3.4	normal	normal	Awaiting Review	enhancement	new	has-patch	2012-06-02T04:56:46Z	2013-03-27T15:04:09Z	"Looking to have added the rest of the arguments to pass through the $args to include the rest of the appearance -> background parameters including but not limited to position(x/y), repeat and attachment.

`add_theme_support('custom-background', $args);`

Example:

{{{
array(
	'default-color' => '000000', 
	'default-image' => get_stylesheet_directory_uri() . '/images/background-wolfbw.jpg',
	'repeat' => 'no-repeat',
	'position-x' => 'center',
	'attachment' => 'fixed'
);
}}}

ie. the repeat position(x/y) and attachment parameters


Main themes even child themes have looks which sometimes need to incorporate fixed or positioning that cannot be set with the current $arguments and it would benefit theme designers to allow those arguments to be passed 


"	frumph
Future Releases	15457	Add URI support to add_editor_style()		TinyMCE	3.0.1	normal	normal	Future Release	enhancement	new		2010-11-17T22:18:34Z	2010-11-22T16:34:55Z	"Currently add_editor_style() only allows for CSS files to be added that are relative in location to the current theme's stylesheet_directory or template_directory, meaning it can only be used by theme authors. Let's keep that functionality, but add the ability to attach a CSS file via URI. This way, plugin authors can use it to add editor styles.

An example of why this might be necessary is a microformat plugin where the user can style microformats differently by adding certain CSS files by the user's choice. Right now, we can only see a change like that when we click preview.

So it would be nice if plugins could use this function as well as themes.

I've attached a potential patch."	dwieeb
Future Releases	15588	GoogleSpell.php preg_replace eval removed		TinyMCE	3.0.1	normal	normal	Future Release	enhancement	new	has-patch	2010-11-27T01:27:10Z	2013-01-10T20:33:30Z	"Hello,

I have found and fixed one more of the preg_replace /e eval constructs, that aren't allowed in WordPress according to the coding standards.

-- Frank | [http://underground-stockholm.com/ Underground Stockholm]"	underground-stockholm
Future Releases	15729	Better UX after supplying incorrect information to setup-config	kapeels*	Upgrade/Install		low	normal	Future Release	defect (bug)	accepted	has-patch	2010-12-08T07:19:24Z	2010-12-23T02:42:49Z	"In #15682 I added a 'Try Again' button to step 2 of setup-config.php if the credentials were incorrect.

The button is a simple link with a `javascript:history.go(-1)` hack. This should instead be a form with hidden values that submits back to setup-config.php?step=1, and fills out the form so they can try again.

Additional enhancement: If the prefix is malformed (can only contain letters, numbers and underscores), we do a wp_die(). We should again have a form with a 'Try Again' button that returns them.

As an added bonus, incorrect credentials should be filled out (for reference) but marked as incorrect and potentially with the focus set on that field.

Only caveat I can think of: This will require the use of esc_attr(), which we don't have access to yet. Not sure how to solve that without reverting to htmlspecialchars() with some extra work."	nacin
Future Releases	16156	update-core is oblivious to api.wp.org being unreachable		Upgrade/Install		normal	normal	Future Release	defect (bug)	new	dev-feedback	2011-01-08T09:51:38Z	2011-04-04T07:46:30Z	"A server running 3.0.4 had trouble reaching *.wordpress.org for some unknown reason. (This wasn't during the brief api.wp.org outage, and it worked otherwise.)

Problem is, update-core was completely oblivious to this. It's even worse when running 3.1, because the 'Check Again' button will refresh the page and tell you we last checked for updates *just now*.

Try Again or Check Again should reflect that the API is unreachable when this can be determined. Claiming that we checked for updates is also really lame, so we should see if the transient tells us how long it's been since the last one.

Side note, the plugin install et al. HTTP error messages are rather cryptic, and we should also make those more user friendly."	nacin
Future Releases	24078	Remove 'admin' as default username in install		Upgrade/Install	3.5	normal	normal	Future Release	enhancement	new	commit	2013-04-13T19:07:29Z	2013-05-05T21:06:45Z	"The installation process populates the username field with 'admin' by default.

Many/most users probably leave it as-is, making them more vulnerable to brute force attacks that look out for ""admin"" usernames.

Seems a pretty easy improvement to specify no default username, and force the user to choose one themselves.

"	chrisrudzki
Future Releases	15977	Send the Locale in Plugin/Theme Update Check Requests	nacin*	Upgrade/Install	3.1	normal	normal	Future Release	feature request	accepted		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
Future Releases	10787	Email administrators that an update is available for core|plugins|themes	dd32	Upgrade/Install	2.9	normal	normal	Future Release	task (blessed)	reopened		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
Future Releases	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
Future Releases	16001	Invited Users Can Disappear in MS		Users	3.0	normal	major	Future Release	defect (bug)	new	has-patch	2010-12-27T22:37:15Z	2013-04-22T21:56:32Z	"Steps to reproduce:

 * In ''Site Admin'', go to Users > Add New
 * Add a new user
 * You get a message to the effect of, said user needs to respond to an invitation.

Now the user has disappeared.  There's no way for a super admin or anybody to search for that user and add her directly, or delete her, or anything like that.  If the user doesn't get the email, she's out of luck: that username and email are now reserved for ""a couple of days."""	filosofo
Future Releases	22367	"Usernames with ""@"" char are assumed email addresses, causing incorrect look-up in several places"		Users		normal	normal	Awaiting Review	defect (bug)	new	has-patch	2012-11-06T00:45:19Z	2013-01-10T10:57:23Z	"'''Problem'''

Usernames containing the ""@"" character are mistakenly assumed to be email addresses when:

* wp-login.php - Resetting passwords
* /wp-admin/user-new.php - Adding an existing user to a site, in multisite
* /wp-includes/user.php - Searching for a user

----

'''Duplicate'''

* Create a user with the login ""@testing""
* Verify the account, etc...

'''Bug in Search'''

* Visit: wp-admin/network/users.php - attempt to search for: ""@testing""
* Result: no users found
* What should happen: find the user

'''Bug in Add New'''

* Visit: wp-admin/wp-admin/user-new.php - attempt to add: ""@testing""
* Result: no users found
* What should happen: add the user

'''Bug in Reset Password'''

* Visit: wp-login.php - attempt to reset password for: ""@testing""
* Result: retrieve_password() accidentally succeeds, because strpos() check returns 0, which is the correct position of the ""@"" character. If the username was ""testing@"" this test would fail

----

'''Solution'''

The attached patch fixes these bugs by using is_email() instead of an strpos() for an @ character."	johnjamesjacoby
Future Releases	12295	More support to customize user profile edit page	nacin*	Users	3.0	normal	normal	Future Release	enhancement	accepted	dev-feedback	2010-02-19T21:14:01Z	2013-05-15T12:02:10Z	"Right now I can edit the contact methods via the user_contactmethods filter, but I can not modify or remove the Personal Options or the Name Options.
I want to keep the interface as simple as possible for my users, and I don't think that they need to edit this settings at all.
If wp wants to be a cms, it should give me control over this aspect as well.
At least, give me custom css-ids, so I can remove it via css!"	pampfelimetten
Future Releases	16318	The reset password process could be clarified		Users	3.1	normal	normal	Future Release	enhancement	assigned		2011-01-20T16:27:57Z	2013-01-22T16:51:08Z	"I find the process of resetting a user password confusing, and sI guess I am not the only one.

Here is why:

The fist screen in this process is almost ok:

[http://snapplr.com/mbtp]

only the text on the button is confusing as users won’t “get a new password” but are going to input a new password (I guess this is an heritage of the past procedure).

The second screen is where most users get lost:

[http://snapplr.com/811w]

I think that the login form should not be visible here as it gets the user’s focus, so they do not see the text above telling them to check their mailbox and do not know what to type here.

I know that changes are planned in the reset password process, but these two relatively small changes could make the process a lot easier to follow for users."	paolal
Future Releases	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
Future Releases	15394	"Ancient ""Are you sure you want to do this"" now confusing"		Warnings/Notices	3.1	normal	trivial	Future Release	defect (bug)	new		2010-11-11T21:51:26Z	2012-09-15T00:14:05Z	"The default failing nonce message did not pass the wife test. Asking ""Are you sure you want to do this?"" now that there is no longer ""OK"" and ""Cancel"" buttons is confusing and my wife just asked me ""How do I tell I'm sure?""

Not sure about the best wording, I took the same approach as Twitter's expired OAuth token links with a message that does not let user think there is something to confirm."	ozh
Future Releases	19291	Widgets move to Inactive after clearing all widgets from sidebars		Warnings/Notices	3.3	normal	normal	Future Release	enhancement	new		2011-11-18T15:49:18Z	2011-11-23T22:44:56Z	"Jane reported in IRC that a theme switch dropped her widgets to Inactive.

> Jane: test site had 2010 as theme, with some widgets. activated 2011 on themes.php. Refreshed itself to themes.php?activated=true and showed alert message "" New theme activated. This theme supports widgets, please visit the widgets settings screen to configure them."" Go to widgets screen, widgets in primary sidebar in 2010 are not in sidebar, no widgets live anymore
> Jane: switch back to 2010, same message appears on themes.php?activated=true and 2010 sidebar comes back

[http://core.trac.wordpress.org/ticket/19091#comment:11 Reproduced by ocean90].

I was able to repeat the reported issue one only one specific case.

This only happens if you remove *all* widgets from all sidebars. Then add widgets back to sidebar(s). Then, switch back to a previously activated theme.

- It doesn't happen if you leave at least one widget in place in a sidebar
- It doesn't happen if you switch to a new theme (not previously activated)

Looks like we can solve it by the ""lost"" widget check just puts any old widgets into Inactive. We should orphan those, too.

To fix: If widgets registered but not in the new theme's sidebar, orphan it.

See #17979, #19091, #19092."	lancewillett
Future Releases	12722	Concurrent editing of widgets	azaozz	Widgets		normal	normal	Future Release	defect (bug)	new	has-patch	2010-03-26T18:07:46Z	2013-04-25T05:39:22Z	When two admin users edit widgets at the same time which ever one saves last wins.  I think we'd need something like the post edit lock to be able warn users when someone else is already editing widgets.	josephscott
Future Releases	19159	When Inactive Widgets list gets long it is hard to clear	cdog*	Widgets	3.3	normal	minor	Future Release	enhancement	accepted	has-patch	2011-11-05T09:48:59Z	2012-12-30T12:03:38Z	"If you have a lot of inactive widgets it can be really hard manual labour to remove them all.

It would be much nicer if there was a delete all button like this plugin adds http://wordpress.org/extend/plugins/remove-inactive-widgets/"	westi
Future Releases	17541	Blogger-XMLPRC API does not work with Multisite/SSL/DMZ combination	westi*	XML-RPC	3.2	normal	major	Future Release	defect (bug)	accepted	has-patch	2011-05-23T07:26:29Z	2012-12-14T23:12:02Z	"I have the following setup:
My WordPress Blogs (multisite) are set up behind a firewall that exposes the public address via SSL. Inside my DMZ I'm only using HTTP, so that's what WordPress sees. When I now try to access the blogger.getUsersBlogs XMLPRC-API, I get an empty result back.

I analyzed the WordPress source code and found out that the blogger.getUsersBlogs method in the file wp-includes\class-wp-xmlrpc-server.php uses another XMLRPC call to the wp.getUsersBlogs method in case of the multisite. I further checked and found out that this appears to be the only case in which WordPress executes a remote call itself to sevice the request. I then replaced the logic in _multisite_getUsersBlogs with the multisite part from wp_getUsersBlogs and it worked.

I aso found an issue that might be related: http://core.trac.wordpress.org/ticket/16402
But since the source code in the trunk still uses the regular IXR_Client, I'm not sure if this would fix the issue.

I attached my fix as a patch, but it's not refactored to remove code duplication since I don't have a dev-environment set up for WordPress.

Michael"	michael_k
Future Releases	21292	XML-RPC: wp_upload_bits should act like wp_handle_upload	westi	XML-RPC	3.0	normal	normal	Future Release	defect (bug)	assigned	has-patch	2012-07-17T07:01:23Z	2013-05-07T11:37:28Z	"At this moment there isn't a check for file size when uploading an image through the XML-RPC. The reason is that the method wp_upload_bits is used. This only checks it does is if the file size is to big for a network installation.

The function check_upload_size() is something what you want except that it will use wp_die() if there is an error like this. The function is used as a filter: wp_handle_upload_prefilter. Which only get applied in the function wp_handle_upload. 

We should probably change check_upload_size() a bit so it doesn't use wp_die() but does it somewhere else.

related: #6559 and #21085"	markoheijnen
Future Releases	17604	wp.uploadFile overwrite doesn't work		XML-RPC	3.2	normal	normal	Future Release	defect (bug)	new	has-patch	2011-05-29T10:27:21Z	2012-11-08T01:52:09Z	"Removing the following lines from the function ''mw_newMediaObject'' file ''class-wp-xmlrpc-server.php'' solves the problem:

{{{
$filename = preg_replace('/^wpid\d+-/', '', $name);
$name = ""wpid{$old_file->ID}-{$filename}"";
}}}

Why are these lines there anyway? overwrite is overwrite.

This, presumably, bug exists in WP 3.1 too."	M66B
Future Releases	20026	Adding a post_type filter in wp.getComments	westi	XML-RPC		normal	normal	Future Release	enhancement	reviewing	needs-unit-tests	2012-02-12T15:48:53Z	2012-08-05T19:45:16Z	This will be usefull when with the new custom post type support in XMLRPC	nprasath002
Future Releases	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
