﻿ticket	summary	owner	component	_version	priority	severity	milestone	type	_status	workflow	_created	modified	_description	_reporter
21977	Allow 0, NULL and empty string values for 'parent'.		XML-RPC		normal	normal	Future Release	defect (bug)	new	dev-feedback	2012-09-23T18:28:04Z	2012-11-07T21:51:29Z	We must allow 0, NULL and empty string values for 'parent' in wp_newTerm and wp_editTerm	sam2kb
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
12939	Counterpart to content_save_pre hook not called when getting post content via API	josephscott	XML-RPC	2.9.2	normal	normal	Future Release	defect (bug)	reviewing	dev-feedback	2010-04-09T13:53:57Z	2011-04-05T08:50:45Z	"When a post is submitted either through the web editor interface or from an API call to newPost or editPost, the content of the post is inevitably passed through the content_save_pre filter.

And when a post is opened for editing in the web editor, the content is passed through filters such as the_editor_content and  content_edit_pre.

However, when a post is fetched for editing via XMLRPC API calls such as getPost or getRecentPosts, the content_edit_pre filter is never reached.

This leads to a situation where whatever massaging of the content that a plugin may peform on the way into the database is not reversed on the way back out, for clients of the API. A concrete example of this problem is with the popular Syntax Highlighter Evolved:

http://www.viper007bond.com/wordpress-plugins/syntaxhighlighter/

This plugin performs encoding of the post content before it is stored in the database, and it counts on being able to decode that content by adding filters to hooks such as the_editor_content. However, none of these filters are reached via the API, leading to ""corrupted content"" when users try to edit posts from API clients such as the iPhone WordPress app, or my desktop editor, MarsEdit.

(My previous bug report #10802 exhibits the same symptoms of this bug, but this is a different cause).

In summary:

1. WordPress needs to establish a clear, baseline hooks for massaging content before it is saved to the database, and for un-massaging the content on the way out of the database. Currently there seems to be uncertainty about which hooks need to be overridden and under what circumstances. It seems to me that content_save_pre and content_edit_pre are probably good candidates for this.

2. Whatever hooks are established as the guarantees need to be applied once and only once in both the web-based editing scenario, and in the API editing scenario.

I think that having a well documented pair of hooks for this purpose that works identically in the web editing and API editing cases will do a lot to ensure correct behavior when plugins are installed that massage content, and will make it easy for plugin developers to ""do the right thing"" without relying on hooks that are specific only to the web editor, or to the API.
"	redsweater
20070	Deprecate Blogger XML-RPC Methods		XML-RPC	3.3.1	normal	minor	Awaiting Review	defect (bug)	new	dev-feedback	2012-02-18T18:32:26Z	2012-02-18T18:32:58Z	"The XML-RPC API supports the legacy Blogger API methods, but these methods have apparently not been very well tested or maintained. 

Given that the `wp.*` XML-RPC namespace now covers everything that the Blogger API does, I suggest the blogger methods be officially deprecated with an eye towards removing them in a future version. 

At the very least, the MetaWeblog API should be used by clients instead, as it was explicitly designed to enhance and supersede the Blogger API."	maxcutler
14452	Duplicate check for comments: Inappropriate errorhandling for xmlrpc		XML-RPC	3.0	normal	normal	Future Release	defect (bug)	new	dev-feedback	2010-07-29T08:44:34Z	2012-06-23T22:48:28Z	The duplicate check for comments just dies in case a dulicate is detected(see wp-includes/comment.php around line 550). This ends up with a html page delivered in any cases. When accessing through xmlrpc this leads to the problem that this html page is send back to the xmlrpc client instead of a proper xmlrpc formated message.	mrutz
16980	Empty Values are ignored by class-ixr.php		XML-RPC	3.1	normal	major	Awaiting Review	defect (bug)	new	dev-feedback	2011-03-27T12:34:47Z	2011-05-25T05:19:53Z	"I tried to fix the following bug #10599 
Found out when you send and empty value via xmlrpc it converts it to null value.

 Say you send and array of arguments for mw_editpost, set

{{{
$content_struct[mt_keywords] = '';
}}}
 
IXR client passes a null value instead of an empty value.

In mw_post method consider this statement 

{{{
$tags_input = isset( $content_struct[mt_keywords] ) ? $content_struct[mt_keywords] : null;
}}}


Even if you send an empty value this statement fails because 


{{{
$content_struct[mt_keywords]
}}}
 
is set to null by IXR client."	nprasath002
21098	Out of memory errors in XML-RPC		XML-RPC	3.4	normal	major	Awaiting Review	defect (bug)	new	dev-feedback	2012-06-28T13:48:53Z	2012-09-23T19:43:33Z	"Since WPiOS 3.0 and WordPress 3.4 we're getting a lot of ""Out of Memory"" reports on XML-RPC.

See http://ios.forums.wordpress.org/topic/couldnt-sync-posts-after-update-to-300

XML-RPC clients have no idea of the memory available, and even if they did it'd be hard to translate that to ""how many items can I request""

Some ideas:

* Can we try raising the memory limit on xmlrpc.php, or at least for system.multicall?
* Setting limits on the number of items returned if we can predict that they're going to need too much memory. Currently asking for the latest 100 comments can trigger an out of memory error in some hosts.
* Fail more gracefully: return an XML-RPC error instead of a HTTP 500 Internal Server Error
* Any hints on debugging where memory is going and if there are any leaks?"	koke
10699	Password Expose Bug in XML-RPC Debugging	ryan	XML-RPC		normal	normal	Future Release	defect (bug)	new	close	2009-08-29T01:46:43Z	2012-09-17T06:20:27Z	"Though this may not effect many users, I was testing something through xmlrpc with logging enabled and came across something that might create a security problem. 

If xmlrpc logging is enabled WP logs the password from the request struct in an unencrypted format. 

Now I understand that not many will open up xmlrpc logging on production blogs, could it be possible that WP just strikes out the password before logging it to the file as it is always the third param so easy to do that, this is because people who might have xmlrpc logging enabled may not change the default log filename and location so anyone can simply run a robot to check for http://blogurl.com/xmlrpc.log and farm passwords (now this may not affect blogs that have WP installed in root since it writes to ../xmlrpc.log, so essentially outside the www access dir, but blogs with WP installed in sub directories will be affected). 

Don't know how critical this is as users have to manually edit the file to enable xmlrpc logging so it might be a non critical bug."	keithdsouza
24280	Privilege check in mt_publishPost		XML-RPC	3.0.3	normal	normal	Awaiting Review	defect (bug)	new		2013-05-07T17:58:02Z	2013-05-07T23:59:08Z	"The mt_publishPost function requires both the publish_posts and edit_post privileges to publish a post.

Elsewhere, the publish_posts privilege is sufficient to publish a post."	fgauthier
23017	Support for fatal errors on XML-RPC		XML-RPC	3.5	normal	normal	Awaiting Review	defect (bug)	new	has-patch	2012-12-20T11:24:27Z	2013-03-19T11:22:13Z	"Similar to #16748, when a fatal error occurs, PHP will output some HTML code which at best is confusing for XML-RPC clients.

Using the `shutdown` action, we could die more gracefully and return a XML-RPC formatted error"	koke
17920	Unnecessary code in wp.getPage		XML-RPC	3.2	normal	minor	Awaiting Review	defect (bug)	new	dev-feedback	2011-06-28T16:33:00Z	2012-06-24T20:22:32Z	Pages Does not have categories	nprasath002
10764	XML- RPC, blogger_editPost, Publish Status not working	josephscott	XML-RPC		normal	normal	Future Release	defect (bug)	new	dev-feedback	2009-09-10T00:58:09Z	2012-06-23T20:39:22Z	"In the blogger_editPost function in xmlrpc.php is not working properly.  Currently you cannot change publish status.  It looks like we are missing a line of code.
{{{

$post_status = ($publish) ? 'publish' : 'draft';

}}}

When I inserted this line into the function before the

{{{
$postdata = compact('ID', 'post_content', 'post_title', 'post_category', 'post_status', 'post_excerpt');
}}}
I was able to gain control of the publish status.
"	bobby_drk
20630	XML-RPC Extending documentation for methods called with a single param		XML-RPC		normal	normal	Awaiting Review	defect (bug)	new	needs-docs	2012-05-07T18:47:46Z	2012-05-07T19:06:01Z	"When an XML-RPC method is called with a single parameter, the method will receive the value directly instead of receiving an array with a single value. This seems to be intended, though unexpected, behavior. The documentation should be updated to mention this.

The related code is inside IXR_Server->call()."	scott.gonzalez
22936	XML-RPC WordPress api setOption double escapes args		XML-RPC		normal	major	Awaiting Review	defect (bug)	new		2012-12-14T13:46:35Z	2012-12-15T15:31:10Z	"Parts of the xml-rpc wordpress api are not usable, as they doublequote strings. e.g. `Munich's` becomes `Munich\\'s`.

wp.setOptions($args) escpapes all args and calls update_option() which is then calling mysql_real_escape_string(), leading to a double escaping. To solve this options should not be escaped in wp-setOptions() function.


Here the callStack showing the 2nd escaping:
{{{
wp-includes/wp-db.php.wpdb->_real_escape:884
wp-includes/wp-db.php.wpdb->escape_by_ref:950	
wp-includes/wp-db.php.array_walk:0	
wp-includes/wp-db.php.wpdb->prepare:1003	
wp-includes/wp-db.php.wpdb->update:1365	
wp-includes/option.php.update_option:258
}}}"	jachzen
16985	XML-RPC endpoint set the datetime when saving a Draft		XML-RPC	3.1	normal	normal	Future Release	defect (bug)	new	needs-unit-tests	2011-03-28T13:33:46Z	2012-06-24T00:15:12Z	"When uploading a draft post from one of the WordPress mobile apps the post date is set to the current time/date, even if the datetime field is not specified on the client request.
This could cause issues, because when you change the post status to ""publish"" it will be published using the date set during the first upload.

On the web dashboard if you do not set the post datetime explicitly, it is not set and hitting publish will then populate the datetime field with the current time.

The same happens if you start a draft on the web and then you publish it using any mobile apps.

details here: http://ios.trac.wordpress.org/ticket/826"	daniloercoli
12518	XML-RPC newMediaObject should try to work out mime-type if not supplied	josephscott	XML-RPC		normal	normal	Future Release	defect (bug)	new	has-patch	2010-03-04T22:00:03Z	2010-03-07T10:10:18Z	"At least one XML-RPC client (MaStory on Maemo) does not set the type parameter on uploaded objects. This means we don't create appropriate thumbnails correctly.

Given some clients are on fairly low-power, simple devices, it's probably worth Wordpress attempting to determine the mime-type, especially as functions calls we /already/ make on attachments will give us that information already for the common-case of image uploads."	jonquark
17981	XML-RPC wp.getComments should work for non-admins		XML-RPC	3.2	normal	normal	Awaiting Review	defect (bug)	new	commit	2011-07-04T22:23:03Z	2012-03-08T13:35:11Z	"Right now, if the caller doesn't have the moderate_comments permission, the XML-RPC call returns a 401 error. 

A more graceful alternative would be to return the approved comments. The user may not be able to moderate, but still should be able to read/reply"	koke
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
18681	XMLRPC wp.getPageList and auto-draft pages broken dates		XML-RPC	3.2.1	normal	major	Awaiting Review	defect (bug)	new	has-patch	2011-09-16T08:18:20Z	2011-09-16T09:41:26Z	"XMLRPC wp.getPageList method returns all pages, including auto-draft ones.

auto-draft pages have post_date_gmt date as '0000-00-00 00:00:00', resulting in invalid dates in XMLRPC reply.

{{{
<name>date_created_gmt</name>
<value><dateTime.iso8601>-0001113TT0::0::00</dateTime.iso8601></value>
}}}

Remove auto-drafts from wp.getPageList method or fix post_date_gmt somehow."	skithund
17382	XMLRPC wp_getUsersBlogs Scalability		XML-RPC	3.0.1	normal	normal	Awaiting Review	defect (bug)	new		2011-05-11T20:32:15Z	2012-05-13T16:16:46Z	"If there is a root blog with many sub blogs on it and a user that is an admin on each sub blog, then when the when the XML RPC method wp_getUsersBlogs() is called it does not scale very well. My PHP memory_limit setting was 128MB, and the XML RPC request died when a user was a member of 230+ blogs. I noticed that the number of queries made to the database for a single user that has many blogs that they are an admin is very high.

Affected line: http://core.trac.wordpress.org/browser/tags/3.0.1/xmlrpc.php#L443

I don't know exactly how the code would have to change so I am not providing a patch."	bmorneau
15072	blogger.getRecentPosts drops backslashes		XML-RPC	3.1	normal	normal	Future Release	defect (bug)	new	has-patch	2010-10-08T16:25:05Z	2011-01-13T09:08:01Z	"I have posts on my site containing fragments like:

{{{
[latex]\neg r(a,b)[/latex]
}}}

But when I pull them down using emacs weblogger-mode, the backslash is always missing.  I edebug'ed way down into the bowels of the code and looked at the raw data arriving in the process buffer, and it was missing the backslash, so I'm pretty certain this is a WP bug and not something in emacs or weblogger-mode.  Weblogger-mode is using the blogger API.  I tried several other clients, and they seemed to work, but I assume they're using a different protocol (e.g. atom)."	daveabrahams
18998	date/time handling in xml-rpc assumes GMT value		XML-RPC	3.2.1	normal	normal	Awaiting Review	defect (bug)	new		2011-10-19T08:09:16Z	2012-01-04T17:43:57Z	"When trying to set post publication times via XML-RPC I noticed that the dateCreated value was assumed to be GMT. 

one section of code:
{{{
                // Do some timestamp voodoo
                if ( !empty( $content_struct['date_created_gmt'] ) )
                        $dateCreated = str_replace( 'Z', '', $content_struct['date_created_gmt']->getIso() ) . 'Z'; // We know this is supposed to be GMT, so we're going to slap that Z on there by force
                elseif ( !empty( $content_struct['dateCreated']) )
                        $dateCreated = $content_struct['dateCreated']->getIso();

                if ( !empty( $dateCreated ) ) {
                        $post_date = get_date_from_gmt(iso8601_to_datetime($dateCreated));
                        $post_date_gmt = iso8601_to_datetime($dateCreated, 'GMT');
                } else {
                        $post_date = current_time('mysql');
                        $post_date_gmt = current_time('mysql', 1);
                }

}}}

in the following part:
{{{
                if ( !empty( $dateCreated ) ) {
                        $post_date = get_date_from_gmt(iso8601_to_datetime($dateCreated));
                        $post_date_gmt = iso8601_to_datetime($dateCreated, 'GMT');
                } else {
}}}

$post_date is set to GMT (get_date_from_gmt()) value of $dateCreated (assuming it's GMT)
and then $post_date_gmt is set to GMT ... 

this forces both values to be identical and assumed to be GMT. this also breaks the ability to set the timezone in the value of dateCreated even though the ISO8061 spec allows it.

I've attached a patch to class-wp-xmlrpc-server.php which appears to fix this problem and allows future published posts to publish properly at the expected date/time.

to duplicate, use an XML-RPC client (I'm using a Perl script) to add a new post and set the dateCreated to a dateTime.iso8061 entity with the value of '20111019T19:05:00+0900' (or something equivlent for your timezone which would be easy to identify as an incorrect value if so.) the publish date of the new post will be the GMT value.

A workaround would be to do all the GMT conversion in the client prior to sending via XML-RPC, but that would make it seem that dateCreated and date_created_gmt will always be duplicate. I've included a patch in case this wasn't an intentional design decision.

"	alien8
3052	pingback_ping() function displays wrong content in pingback-display in some occurances	josephscott	XML-RPC	2.0.4	normal	normal	Future Release	defect (bug)	reviewing	close	2006-08-19T13:41:52Z	2010-04-30T02:29:11Z	"If the blog uses a template where the post-meta-data like the trackback-link and such is wrapped in a ""div"" tag but not in a ""p"" tag, the pingback will incorrectly display the content surrounding the meta-data-links, not the content of the pinging post.
if there is a ""related posts"" navigation on the page (possible with the [http://www.neato.co.nz/ultimate-tag-warrior/ ultimate-tag-warrior] plugin), or any other links inside the page that link to other posts from the same blog (even the ''next post'', ''previous post'' links), pingbacks will display the content around the first of these links, not the contents around the ""pinging"" link inside the post.
 
'''Possible fix:'''
on line 1192 in xmlrpc.php:
{{{$linea = preg_replace( “/ < (h1|h2|h3|h4|h5|h6|p|th|td|li|dt|dd|pre|caption|input|textarea|button|body)[^>]*>/”, “\n\n”, $linea );}}}
the ""div"" tag is not recognized.
changing that to:
{{{$linea = preg_replace( “/ < (h1|h2|h3|h4|h5|h6|p|th|td|li|dt|dd|pre|caption|input|textarea|button|body|div)[^>]*>/”, “\n\n”, $linea );}}}
fixed the problems for my blog.
Frankly I'm not that ""deep"" into regular expressions to fully understand what's going on inside the pingback_ping() function - but after inserting ""div"" to the line above my pingbacks display the correct excerpt of the pinging post, which they failed to do  before. 
"	webrocker
17270	strip_tags function in XML RPC needs replacing with regex		XML-RPC	3.1	normal	normal	Awaiting Review	defect (bug)	new		2011-04-28T16:32:46Z	2011-04-28T16:32:46Z	"I've been working on a plugin that works with pingbacks, and I have come across a problem with a line in class-wp-xmlrpc-server.php which uses strip_tags. 

(line 3422 in WP 3.1):
$linea = strip_tags( $linea, '<a>' ); // just keep the tag we need

For some reason this function is not working properly at all on some templates (or that is the way it seems) and instead of returning all the <a> tags is cutting a lot of them out, making it seem to the server like there is no target link in the source URI, and thus returning a pingback fault 17 unnecessarily. And this means a large percentage of genuine pingbacks are failing without the user even knowing about it!

I suspect the function is having trouble with plugins that insert javascript near the header of the page, though it could be otherwise, as I have done a test to see what is left after this line is run, it returns some garbled javascript, no links at all from the post content (where the source links actually were), and then the menu links.

I have included a workaround in my new plugin:
http://wordpress.org/extend/plugins/pingchecker/
Basically it does a regex match for links in your content, then echoes them in a hidden div in the footer, making it much easier for the strip_tags function to actually find them. It works pretty well so I'm not fussed myself, but I thought it worth writing about..

This line really needs to be replaced with the regex match in the actual server code for future WordPress users too. I don't know regex myself, but I used sample code I found here (http://regexadvice.com/forums/thread/48395.aspx) for this regex expression, which seems to work really well.

In any case, strip_tags is not doing a reliable job at this and needs replacing. Hopefully this finds its way to the right person able to fix this. Thanks!"	majick777
23020	wp.getPageList should act like wp.getPages		XML-RPC	2.2	normal	minor	Awaiting Review	defect (bug)	new	has-patch	2012-12-20T13:47:13Z	2012-12-30T15:07:53Z	"I know that wp.getPageList is obsolete, but I think it should act like wp.getPages At the moment wp.getPageList returns even the trashed pages and doesn't return the status of the page. 

The weird behavior i've seen with wp.getPageList on a third-party client is shown below:
- Refresh the pages list.
- The Page 'A' is in the list.
- Select the page 'A' and delete it.
- Refresh the pages list and the page is still there. Doh!"	daniloercoli
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
20986	xmlrpc.php should return http 405 for get requests (and not 200)		XML-RPC		normal	normal	Awaiting Review	defect (bug)	new	has-patch	2012-06-16T06:39:12Z	2012-06-19T17:01:09Z	"{{{
$ curl -v http://raphaelhertzog.com/xmlrpc.php
[...]
> GET /xmlrpc.php HTTP/1.1
 
< HTTP/1.1 200 OK
[...]
XML-RPC server accepts POST requests only.
}}}

The error returned should be reflected in the HTTP return code: it should return HTTP 405 (Method not allowed) instead of 200 (OK).

This has been originally reported in the Debian bug tracking system: http://bugs.debian.org/cgi-bin/bugreport.cgi?bug=598124"	rhertzog
5461	Add ability to set description for XML-RPC file uploads		XML-RPC	2.3.1	normal	normal	Future Release	enhancement	new		2007-12-12T22:36:17Z	2009-06-13T03:01:40Z	It's been suggested that we provide a way to populate the description field for file uploads.  This is something that we could add to the wp.uploadFile method.	josephscott
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
10514	Allow plugins to advertise its XML APIs in RSD	josephscott	XML-RPC		normal	normal	Future Release	enhancement	new	has-patch	2009-07-29T17:02:39Z	2012-06-21T20:53:14Z	It will be nice if plugins could advertise its APIs in RSD.	sirzooro
5725	Auto-convert Contributor's new post to draft	josephscott	XML-RPC	2.3.2	normal	minor	Future Release	enhancement	new	has-patch	2008-01-27T05:04:01Z	2009-11-17T15:17:16Z	"Currently, wp-app.php implementation honors client-supplied app:draft element. If a contributor submits a new Atom entry without app:draft element set to 'yes', it rejects the request.

[Current Response][[BR]]
401 Unauthorized[[BR]]
""Sorry, you do not have the right to edit/publish new posts.""

Imagine when a contributor forgets to set app:draft to 'yes' and submits a new post. By reading the error message, the contributor may mistakenly think that he is not allowed to submit posts at all. A proposed workaround has been submitted as ticket #5723.

There is an alternate proposal:[[BR]]
rather than rejecting the request, server may ignore client-supplied app:draft element and always treats a contributor's new post as draft. Based on [http://tools.ietf.org/html//rfc5023#section-13.1.1 RFC5023 Section 13.1.1], server may ignore client-supplied app:draft element."	toydi
21085	Better XML-RPC media handling		XML-RPC	2.3	normal	normal	Future Release	enhancement	new	dev-feedback	2012-06-26T22:40:22Z	2012-10-10T16:23:23Z	"In 3.4 there was a lot of improvements. For 3.5 I would like to see some major improvement in wp.uploadFile and metaWeblog.newMediaObject.

At this moment you can't insert a description, alternate text or caption. ( #5461/#18684 ). Also the file can't be attached to a post ( #13917 ).

The overwrite functionality also doesn't work ( #17604 ). Not sure why this exists since WordPress itself doesn't do this.

Also the current way isn't how WordPress does it internally. wp_handle_upload() doesn't get used (#6559).

There is also going on something wrong with mime types ( #12518 ).

Also the work from 3.4 should be implemented ( #6430 ).

Last thing is that WordPress normally also looks at the EXIF information. At this moment the XML-RPC also doesn't do that ( #18087 )

rarely related: #12493 - filter for wp_upload_bits"	markoheijnen
22540	Drilling categories for relevant posts via XML-RPC		XML-RPC	3.4.2	normal	major	Awaiting Review	enhancement	new		2012-11-22T16:46:52Z	2012-11-23T22:17:25Z	"Hello WordPress,

Requirement for us was to drill down the category relevant posts, and I have implemented the solution using xmlrpc for the .net env using c#.

The trouble is there is no available option to filter using category for the posts.

So I have done following changes, please recommend if we can do any better to avoid the override of the change may be by upgrading the next version with it from WordPress version natively.

Describing the basic nitty-gritty with in :

After doing some cross referencing I was able to figure out adding following code shouldn't harm :

1: With in LLN#1374 function wp_getPosts( $args ) 
I added the filter option for category as follows on LN#1410

{{{
if ( isset( $filter['category'] ) )
    $query['category'] = $filter['category'];
}}}

I have done few tests and seems to be working fine, just its expects the categoryId to drill the category relevant posts for me.

I wonder if you could integrate this from WordPress.

2: Our second requirement was to get out of the box wpautop for the content, so we don't need to worry about adding <p><p/> tags.

hence the another change of code I had integrated with in the file is as following :

with in protected function _prepare_post( $post, $fields ) on LN#624 , I had added the wpautop call to surrounds to post_content as in follows :

{{{
'post_content'      => wpautop($post['post_content']),
}}}

Please guide or suggest how to avoid the override when upgrading the WordPress, one option is WordPress integrate these changes out of the box and until that we keep an eye and on ever upgrade keep doing the change.

Please feel free to reach me with any possible suggestions.

Regards,
Nidhi"	nidhi.patel
23446	Expose 'login_url' and 'admin_url' via XML-RPC		XML-RPC	3.5	normal	normal	Awaiting Review	enhancement	new	has-patch	2013-02-11T10:41:14Z	2013-04-01T09:28:14Z	"To show the preview of  'private'/'draft'/'pending review' posts we need to authenticate to WordPress by using the login form, and the redirect_to parameter. 
Sometime the URL of the login form cannot be guessed by replacing xmlrpc.php with wp-login.php :)

We have the same issue for the URL of the admin dashboard. "	daniloercoli
18087	Extend mw_newMediaObject to include EXIF data		XML-RPC	3.2	normal	minor	Awaiting Review	enhancement	new		2011-07-12T19:24:09Z	2012-06-24T20:42:07Z	"Would it be possible to include the exif transfer when using mw_newMediaObject function via XMLRPC? Currently the image gets transfered into library but Title, Caption field remains blank.

I checked the uploaded file and it carries the exif, so it does not get striped in the process."	MYSTERYouse
12493	Filter $bits in wp_upload_bits()	josephscott	XML-RPC	3.0	normal	normal	Future Release	enhancement	new	has-patch	2010-03-03T05:25:51Z	2012-10-18T07:42:35Z	"It'd be nice if there was a filter on `$bits` in `wp_upload_bits()` to allow plugins to modify uploads coming in from XML-RPC. Resizing, watermarking, etc. are all example uses for this filter.

Since it's a simple filter, perhaps it could be slipped into 3.0."	Viper007Bond
21398	Live preview of new post/page via XML-RPC for mobile clients.		XML-RPC		normal	normal	Future Release	enhancement	new		2012-07-27T10:13:47Z	2012-09-16T19:58:49Z	"We'd like to have the possibilty to load the 'live preview' for a post/page you're writing on a mobile client.
(New post not already ""synched"" with the server, or post edited within the mobile app).

The only solution that I can see at the moment is the following:
- Upload the post/page to the server with the status set to 'Draft'.
- Load the permalink of the post.
- Open the post in a webview by using the WP login form and the redirect_to parameter.
"	daniloercoli
21497	Make uploads on XML-RPC resumable		XML-RPC		normal	minor	Awaiting Review	enhancement	new	has-patch	2012-08-06T02:48:56Z	2012-08-06T20:06:06Z	In order to play nicely with unreliable internet connections (ie, mobile, conference wifi) it would be nice to be able to resume uploads over the XML-RPC API.	pento
22497	Post type should be able to show on mobile apps		XML-RPC		normal	normal	Awaiting Review	enhancement	new	has-patch	2012-11-18T18:48:58Z	2012-11-20T11:40:24Z	"Currently the mobile apps only show Post and Pages. Part of the reason is that the apps can't know if the post type is worth showing in the apps since it's heavily based on several meta-boxes. I think this is a nice add-on for developers to make that decision.

The patch is really simple and is just adding a extra parameter to register post type."	markoheijnen
18731	The XML-RPC Endpoint filename is hardcoded in the code (aka: my Host Blocks XML-RPC Access!)		XML-RPC	3.2	high	major	Future Release	enhancement	new	has-patch	2011-09-21T10:56:26Z	2012-12-29T20:48:32Z	"It's impossible to rename the file 'xmlrpc.php' to something different (for eg when your hosting provider blocks the access to the xmlrpc.php file) since the prefix ""xmlrpc.php"" is hardcoded within the src code. You can rename the file but the XML-RPC call wp.getUsersBlog always returns the hardcoded URL.

Same issue for the pingback link and the EditURI link.

We pubblished a plugin that should help users for the time being:
http://wordpress.org/extend/plugins/rename-xml-rpc/"	daniloercoli
6430	WordPress 2.5 xmlrpc should return image thumbnail URLs in wp.uploadFile	jonquark*	XML-RPC	2.5	normal	normal	Future Release	enhancement	accepted	dev-feedback	2008-03-28T05:51:57Z	2012-06-23T19:59:51Z	"The xmlrpc call for wp.uploadFile (aliased to mw_newMediaObject) currently returns the URL of the uploaded file only. In WordPress 2.5, thumbnail files are automatically created. The xmlrpc API should provide a way to get the URLs of the thumbnail files, preferably in the returned hash from the wp.uploadFile call. 

That is, wp.uploadFile currently returns url = ""http://myhost/wp/wp-content/uploads/2008/03/myImage.jpg"". In addition, it should return ""thumbnailSmallUrl = ..."" and ""thumbnailMediumUrl = ..."". (I'm not sure if this would break MetaWeblog compatibility.)


Background:

WordPress 2.5 now automatically creates thumbnail images for uploaded image files according to the (maximum) sizes specified in the Miscellaneous settings page. When resizing, the aspect ratio is maintained, and the filenames are named for the exact size of the image. For example, if I upload:

dsc-0151.jpg

Using the default thumbnail settings of 150x150 and 300x300, these files will be created:
dsc-0151-300x199.jpg
dsc-0151-150x150.jpg

Note that the first filename for the medium thumbnail is called ""300x199"" not ""300x300"". It's thus difficult to guess the new thumbnail filename for the default settings.

Since these settings are user configurable, it's currently impossible for an xmlrpc client to guess the URLs of the thumbnails.
"	mlossos
23866	Wordpress xmlrpc wp_getPosts filter for slug		XML-RPC	3.4	normal	normal	Awaiting Review	enhancement	new	dev-feedback	2013-03-26T20:09:31Z	2013-03-26T22:29:43Z	"When using the Wordpress xmlrpc, it is sometimes very useful to get posts based off of slugs rather than post id.

A use case for this would be synchronizing or migrating two Wordpress sites with the same posts, but with different databases and post ID's.


 "	SunWaves
21386	XML-RPC needs a user permission method		XML-RPC		normal	normal	Future Release	enhancement	new		2012-07-25T18:33:24Z	2012-11-23T20:42:43Z	"At this moment when calling a XML-RPC method you will receive a error when the user can't do that method. 

What would be better if there is a way an app can retrieve the user permissions and act on that without the need to call the method."	markoheijnen
5310	XMLRPC interface should expose mechanism for listing and deleting media resources	josephscott	XML-RPC	2.3.1	normal	normal	Future Release	enhancement	new		2007-11-02T21:34:24Z	2009-10-25T10:05:07Z	"Right now the XMLRPC interface supports the ""newMediaObject"" mechanism that is part of the MetaWeblog API, but lacks any method for inspecting or otherwise manipulating media objects.

I think to support a richer remote client experience, the XLMRPC interface should support at least a method for listing the media objects that have been previously uploaded (similar to what appears in the ""Browse"" tab of the wp-admin post editor), and for deleting a media asset that is present.

"	redsweater
18684	XMLRPC metaWeblog.newMediaObject doesn't have possibility for setting excerpt/content		XML-RPC	3.2.1	normal	normal	Awaiting Review	enhancement	new	has-patch	2011-09-16T12:10:20Z	2012-09-23T19:30:22Z	XMLRPC metaWeblog.newMediaObject method only sets empty content for attachment and doesn't have possibility for setting excerpt and/or content for attachments.	skithund
20662	private post can be sticky via quickedit		XML-RPC	3.4	normal	normal	Awaiting Review	enhancement	new	dev-feedback	2012-05-12T08:37:27Z	2012-06-24T22:13:17Z	"While preparing translations to 3.4 I came across

http://core.trac.wordpress.org/browser/trunk/wp-includes/class-wp-xmlrpc-server.php#L908

This indicates that a private post cannot be marked as sticky.
- however it is quite possible to mark a private post as sticky while using quickedit.

Solution proposal, remove sticky tickbox on quickedit if post is private. 
Or if this is only related to the XMLRPC, fix the returnmessage to a warning ""a private post will only be visible to you, so sticky might not make any sense"".

I'm thinking.. ""either its possible or its not, the logic should be the same""
"	maxemil
23099	Add JSON-RPC support using existing XML-RPC methods		XML-RPC	3.5	normal	normal	Future Release	feature request	new	needs-unit-tests	2013-01-02T01:22:37Z	2013-04-22T21:18:54Z	Many people have expressed interest in a JSON API for WordPress core. Until a full REST API can be implemented, the existing XML-RPC method implementations can be re-used by wrapping them in JSON-RPC serialization/de-serialization logic.	maxcutler
13835	XLM-RPC API should return commentmeta values	josephscott	XML-RPC	2.9	low	minor	Future Release	feature request	reopened	has-patch	2010-06-10T23:28:58Z	2011-03-25T06:55:24Z	"This ticket is a follow up on my Twitter and subsequently email conversation with Joseph Scott (josephscott) about the new commentmeta table in WordPress 2.9 and the XML-RPC API. We use the plugin Feature Comments (http://wpprogrammer.com/feature-comments-wordpress-plugin/) for hiding or featuring certain comments. The plugin stores either a value of 'Buried' or 'Featured' in the commentmeta table and uses these values to append a css class to comment_class.

I'd love to retrieve these commentmeta values (buried/features) through the XML-RPC API (which we use) with wp.GetComment or wp.GetComments, so we're able to programmatically hide or feature these comments in our own iPhone app.

Please note this is a specific example, but my request should I no way be seen as a private request. I think the commentmeta in 2.9 was a great addition for stuff like Twitter usernames, mood, gender, and so forth. I hope we're able to retrieve these values programmaticaly through the API as well."	djr
11303	XMLRPC (and APP) APIs should expose all Post/Page/Comment management functionality	westi	XML-RPC	2.9	normal	normal	Future Release	task (blessed)	assigned	close	2009-12-01T22:26:01Z	2010-09-23T20:34:55Z	"In #11243 we hid the trash status from {{{wp.getPages()}}} we also hide it for pages (and comments I guess).

Really these apis should be fully featured to allow clients to support the new things the api does.

We should revert the change made for trash for 2.9 and promote the fact that clients should be graceful when using these apis so as to cope when we introduce new features.

We also need to review the need for extra apis to allow trashing/untrashing of posts/pages/comments etc."	westi
21293	Add bbPress as a flavor option to WordPress Showcase		WordPress.org site		normal	normal	WordPress.org	defect (bug)	new		2012-07-17T08:29:13Z	2012-07-17T12:02:44Z	"First discussed here:
http://bbpress.org/forums/topic/bbpress-content-re-organization/#post-114999

The bbPress 2 plugin is now quite mature and gaining traction. There are some outstanding sites using bbPress 2 well worth showcasing already, such as [http://devpress.com/forums/ devpress.com/forums]. It's high time the WordPress showcase site received a ""bbPress"" flavor to accommodate great looking forum sites."	Sadr
19583	Android honeycomb browser gets detected as old version of Safari	nacin	WordPress.org site	3.3	normal	normal	WordPress.org	defect (bug)	reviewing		2011-12-17T01:30:29Z	2013-03-16T16:55:18Z	"Reported by a friend of mine (see image attachment).

User agent string is:

{{{
Mozilla/5.0 (Linux; U; Android 3.2; en-us; A500 Build/HTJ85B) AppleWebKit/534.13 (KHTML, like Gecko) Version/4.0 Safari/534.13
}}}
"	Viper007Bond
22242	Automatically set the email for the trac account after logging in		WordPress.org site		normal	normal	WordPress.org	defect (bug)	new		2012-10-21T15:51:07Z	2012-10-21T15:51:07Z	"The trac installs use the credentials from wordpress.org.

However, after you log in, you need to set your email address manually to get notifications from trac.

I think we'd have a lot less tickets with 'reporter-feedback' hanging around if the email address was automatically populated after a user first logged into trac."	scribu
14622	Be more specific with ideas		WordPress.org site		normal	normal	WordPress.org	defect (bug)	new		2010-08-16T10:46:03Z	2010-08-16T10:54:44Z	"In the current ideas section Ideas often get closed for not being core ideas.  However, there's not really an explicit indication that the ideas should be for WordPress core.  For example, some folk post ideas for WordPress.org (as a site). 

I realise Ideas is due for overhaul anyway, but in the mean time it'd be good to have just a one-liner in the blurb to explain more specifically the purpose of ""Ideas"".  Either that, or add a content section for ideas for ""WordPress.org site"" as we have on here."	mrmist
23335	Bizarre sorting while browsing WordPress themes and plugins		WordPress.org site		normal	normal	WordPress.org	defect (bug)	new		2013-01-31T05:01:52Z	2013-04-05T15:21:54Z	"Currently, there's some fuzzy logic while sorting plugins and themes. Sorting by popularity seems to be reset I'm guessing on every major WP version update, which I guess is fair, in which case the problem is just missing the proper description of the sort option. 

However, while sorting by rating, nothing really makes sense of the bizarre sort order there. ( [http://wordpress.org/extend/themes/browse/top-rated Top Rated Themes] ) 

Even while searching for a keyword, and sorting by ""rating,"" the [http://wordpress.org/extend/plugins/search.php?q=slideshow&sort=top-rated bizarre sorting ensues].

WordPress.org should be a shining example of what WordPress can do, and nail it. "	ericlewis
22506	Bogus Last-Modified Header on Forum Feeds		WordPress.org site		normal	major	WordPress.org	defect (bug)	new		2012-11-19T15:45:46Z	2012-11-19T15:59:19Z	"In troubleshooting RSS problems, I found that all of the plugin support feeds are responding with

{{{
Last-Modified: Tue, 16 Oct 2012 14:09:51 GMT
}}}"	miqrogroove
18281	Browse Happy API detection bugs		WordPress.org site		normal	normal	WordPress.org	defect (bug)	new	has-patch	2011-07-28T14:26:52Z	2012-09-28T16:03:01Z	"A few bugs we've noticed with the Browse Happy API so far:

1. Mobile versions need to be labeled as such. Specifically, Mobile Safari, Opera Mini, and the Galaxy tablet, I believe. This should mean that the browser doesn't match with our list of five.

2. For IE, we need to be looking at the Trident version numbers. Problem is, IE9 might be using a compatibility UA, which means it would get identified as IE7. Trident/5.0 is IE9, Trident/4.0 is using IE8.

I think the architecture of the API code needs some love. It served its purpose, but it's a bit inflexible for expansion. (See the Kindle hack and such.)

I'm going to open source this code onto http://code.svn.wordpress.org. It would be fantastic if some people can contribute to it and make it the best possible."	nacin
22523	Can't Open Menu on iPad		WordPress.org site		normal	normal	WordPress.org	defect (bug)	reopened		2012-11-21T09:34:49Z	2012-11-21T11:59:47Z	"To reproduce:
1. Go to http://make.wordpress.org/core/
1. Click ""Get Involved""

What Should Happen:  Menu should open.

What it Does:  Reloads current page.

Found in Safari iOS 6.0.1"	miqrogroove
17595	Cannot subscribe by email to some tags on wp.org	Otto42	WordPress.org site		normal	normal	WordPress.org	defect (bug)	assigned		2011-05-28T04:34:29Z	2011-05-28T05:24:18Z	"To reproduce: 

- Visit http://wordpress.org/tags/disable-comments when logged in
- Click on ""Subscribe to Emails for this Tag""

After reload the link should now read ""Unubscribe to Emails for this Tag"", but it hasn't changed, and the user does not receive emails.

The problem appears to be when people use tags that include a space, i.e., ""disable comments"".
"	solarissmoke
17487	Codepage issue with the wp.org Credits API	westi*	WordPress.org site		normal	normal	WordPress.org	defect (bug)	accepted		2011-05-18T10:28:47Z	2012-11-22T03:34:06Z	"I was playing with my profile page at wp.org and changed the Name field from:

{{{demetris}}}

to:

{{{demetris (Δημήτρης Κίκιζας)}}}

What the API returns for that is:

{{{demetris (???????? ???????)}}}

It seems the API returns its results in ISO 8859-1. Can we change that to UTF-8?

"	demetris
20041	"Disable ""Priority"" and ""Severity"" fields for new users"		WordPress.org site		normal	normal	WordPress.org	defect (bug)	new		2012-02-14T13:04:53Z	2012-02-18T19:14:30Z	"When a new user comes to report an issue in trac, they always seem to overestimate the severity of their problem.

I guess this is normal human psychology, but it makes the field less useful for everyone else.

So, I propose that only bug gardeners be allowed to set these fields, similar to how the milestone field works."	scribu
21035	Encoding problem on my profile page?		WordPress.org site		normal	normal	WordPress.org	defect (bug)	new		2012-06-21T12:30:42Z	2012-08-10T18:18:31Z	"Please see my profile page: http://profiles.wordpress.org/pavelevap.

I made several plugins with non-English names. And these names are broken on profile page..."	pavelevap
22450	Extend Theme previews doesn't stay on same theme when using IE10 or IE9 in Windows 8		WordPress.org site		normal	normal	WordPress.org	defect (bug)	new		2012-11-14T19:29:29Z	2012-11-18T15:19:19Z	"Originally reported in the forums: http://wordpress.org/support/topic/theme-twenty-twelve-single-post-preview-in-ie10

Extend Theme previews doesn't stay on same theme when using IE10 or IE9 in Windows 8, after clicking from index to a single post view.

'''What I expected to happen:'''[[BR]]
To continue previewing the same theme when I click around in the preview.

'''What actually happened:'''[[BR]]
The theme changes to Twenty Eleven after clicking

'''To repeat:'''
1. Open http://wordpress.org/extend/themes/twentytwelve
2. Click green Preview button
3. Once in the preview, click into a single post
4. See the theme change to Twenty Eleven

Notes:
- Breaks in both IE9 and IE10 with Windows 8; does not happen in other browsers like Chrome or Firefox; works fine in IE9 in Windows 7.
- Happens with any theme on Extend (tested with Twenty Twelve and Esquire)
- Example URL: http://wp-themes.com/twentytwelve?TB_iframe=true&width=1033&height=612
- Loading wp-themes.com directly (not in the lightbox) works as expected"	lancewillett
23072	Forums should use title to show a hint about accesskeys for <strong>, <em> etc.		WordPress.org site		normal	normal	WordPress.org	defect (bug)	new		2012-12-28T21:56:47Z	2012-12-28T22:02:10Z	"WordPress.org forums should use the HTML title="""" attribute to give users a hint that there are keyboard shortcuts that will help their writing process. That hint would be displayed when users hover their mouse over the <strong>, <em> and other buttons.

Current HTML for the <strong> button:


{{{
<input id=""ed_strong"" class=""ed_button"" type=""button"" value=""b"" onclick=""edInsertTag(edCanvas, 0);"" accesskey=""b"">
}}}

A more user-friendly alternative:


{{{
<input id=""ed_strong"" class=""ed_button"" type=""button"" value=""b"" onclick=""edInsertTag(edCanvas, 0);"" accesskey=""b"" title=""Hint: Press Alt-Shift-B (and the other variants, Cmd-Shift-B on Macs and what are they)"">
}}}"	Daedalon
21793	Incorrect parsing of readme files for plugins on wordpress.org		WordPress.org site		normal	normal	WordPress.org	defect (bug)	new		2012-09-04T22:47:36Z	2012-09-06T23:07:00Z	"When wordpress.org parses plugin readme files, it changes URLs in the form www.site.com to links, and adds http:// to the text displayed.

That's good and proper. However, it's not helpful when this happens in a code block.

For example, see the first and third code block of this readme - http://wordpress.org/extend/plugins/sitepush/installation/

The readme validator shows the same behaviour.

The parser should not do any URL parsing in code blocks."	markauk
23822	Invalid Plugin Contributors JSON from WP.org Plugin API		WordPress.org site		normal	normal	WordPress.org	defect (bug)	new		2013-03-19T23:41:46Z	2013-03-20T05:39:59Z	"Under some rare conditions, some plugins can break the plugin API with invalid JSON, specifically in regards to the list of contributors returned. This is likely because of the string encoding used to either parse or store the values returned from the plugin file headers.

Basically though, it results in using a null name for a JSON object member where there absolutely needs to be a string.

For example, the ""Aaaaah Lek Lek"" plugin (aaaaaaah-lek-lek) returns the following JSON:

{{{
{
    ""name"": ""Aaaaah Lek Lek"",
    ""slug"": ""aaaaaaah-lek-lek"",
    ""version"": ""1.0"",
    ""author"": ""<a href=\""http:\/\/valeriosouza.com.br\"">Val&#233;rio Souza<\/a>"",
    ""author_profile"": ""http:\/\/profiles.wordpress.org\/valeriosza"",
    ""contributors"": {
        null: """"
    },
    ""requires"": ""3.0.1"",
    ""tested"": ""3.5.1"",
    ""compatibility"": [
        
    ],
    ""rating"": 0,
    ""num_ratings"": 0,
    ""downloaded"": 20,
    ""last_updated"": ""2013-03-12"",
    ""added"": ""2013-03-12"",
    ""homepage"": ""http:\/\/valeriosouza.com.br"",
    ""sections"": {
        ""description"": ""<p>Coloque a frase da m&#250;sica LekLek em seu WordPress, dentro do painel administrativo.<\/p>"",
        ""installation"": ""<p>Siga para Instalar<\/p>\n\n<ol>\n<li>Fa&#231;a Upload <code>aaaaaaah-lek-lek<\/code> para a pasta <code>\/wp-content\/plugins\/<\/code><\/li>\n<li>Ative no menu 'Plugins' no seu WordPress<\/li>\n<\/ol>"",
        ""changelog"": ""<h4>1.0<\/h4>\n\n<ul>\n<li>Lan&#231;ada Vers&#227;o 1.<\/li>\n<\/ul>"",
        ""faq"": ""<h4>What about foo bar?<\/h4>"",
        ""other_notes"": ""<h3>Arbitrary section<\/h3>""
    },
    ""short_description"": ""Coloque o Lek Lek no seu WordPress"",
    ""download_link"": ""http:\/\/downloads.wordpress.org\/plugin\/aaaaaaah-lek-lek.zip"",
    ""tags"": {
        ""frases"": ""frases"",
        ""leklek"": ""leklek""
    }
}
}}}

JSONLint comes back with:

{{{
Parse error on line 7:
...ibutors"": {        null: """"    },    
----------------------^
Expecting 'STRING', '}'
}}}

These plugin details come from these files:
* http://plugins.svn.wordpress.org/aaaaaaah-lek-lek/trunk/readme.txt
* http://plugins.svn.wordpress.org/aaaaaaah-lek-lek/trunk/leklek.php

(it mentions a stable tag, but there are no actual tags)

You might also notice that Extend is unable to display these details correctly either: http://wordpress.org/extend/plugins/aaaaaaah-lek-lek/"	bpetty
17138	Link to plugin URI on plugins on wordpress.org		WordPress.org site		normal	minor	WordPress.org	defect (bug)	new		2011-04-15T04:44:10Z	2011-08-17T23:23:49Z	"The link to the Plugin URI seems to have disappeared from plugin pages on the WordPress Plugin Directory. The donations link still appears (when present).

Be nice to get it back."	johnbillion
22811	Make WordPress.org's links use http or https by auto-detection		WordPress.org site		normal	normal	WordPress.org	defect (bug)	new		2012-12-07T15:27:04Z	2013-04-15T15:34:43Z	"WordPress.org's links are hardcoded to use the http protocol despite the pages also being viewable using https (which is great). This causes unwanted hassle with eg. bookmarks, showing which pages were or were not visited and so forth.

An example of the steps to reproduce:

1. Go to a https URL (eg. https://wordpress.org/extend/plugins/search.php?q= with the search string appended after the ""="", this being the only way to search on WordPress.org via https as all the forms redirect to http).
2. Type anything in any of the search forms.
 -> A warning is shown that you're being redirected to an unencrypted page.

OR

3. Go to a https URL (eg. https://wordpress.org/extend/plugins/types/ ).
4. Bookmark the page. Imagine a few months happening before the next step.
5. Click the Description tab (when browsing normally you'd click another tab in between but it's not a necessary step here).
6. You're now on a page that you haven't bookmarked. Bookmark it, because you like this page and don't remember having bookmarked a rather identical page months ago.
7. You end up having multiple bookmarks for the same pages.

The fix for all these is rather easy on paper: have all links on wordpress.org that point to wordpress.org automatically use the protocol used for loading the page currently being viewed. Start with having forms' targets use this, then navigational links, and later consider either auto-converting links in page contents (eg. plugin descriptions) or mentioning the possibility of using `://` links for this next to editors."	Daedalon
23379	Make it possible to update localization files through subversion again, or provide a standalone mo/po file download		WordPress.org site		normal	normal	WordPress.org	defect (bug)	new		2013-02-04T04:57:40Z	2013-02-04T08:38:15Z	"Hi,

I wrote a script here a couple years ago to update the core WordPress application through subversion, coz I am tired of tracking my own modifications (if there is any)

https://github.com/timdream/wp-script

However, starting v3.3.1, I am not be able to update mo/po files through wordpress-i18n svn repo. According to the localization site here https://tw.wordpress.org/, I would have to export the files through GlotPress myself.

That leave me two choices with my script:

1. Hack my way through GlotPress, curl the GET requests to download the l10n files. The script would have to figure out 3.5.1 comes from 3.5.x first, and zh_TW -> zh-tw.
2. Download http://tw.wordpress.org/latest-zh_TW.tar.gz, extract and discard everything except the language directory.

Neither approach is optimal. So I would like to propose some possible approaches here:

A. Export the po/mo files back to subversion. I think this must have been discussed somewhere with people against it.
B. Provide latest-zh_TW-language.tar.gz package.

I am not aware of whether (B) is already exist or not, nor I am aware of where the packaging script is being maintained. If the script is somewhere publicly available through subversion, I am more than happy to provide a patch to it.

Until then, I would probably need to find some time to implement (1) in shell script :-/ Thank you for reading the bug report.
"	timdream
22525	Marking duplicates on Trac without a ticket number improperly resolves the ticket	nacin	WordPress.org site		normal	normal	WordPress.org	defect (bug)	assigned		2012-11-21T11:38:50Z	2012-12-02T16:39:39Z	For some reason, the last ticket I submitted closed itself when I tried to reply to it.  Looking for a Trac bug now.	miqrogroove
23256	Mitigate Plugins SVN Exponential Storage Growth		WordPress.org site		normal	major	WordPress.org	defect (bug)	new		2013-01-21T23:41:56Z	2013-02-03T21:02:40Z	"We all know Subversion is terribly inefficient with storage compared to most modern version control systems, however I've noticed a pretty serious problem that goes way beyond this in the plugins SVN repo. Please forgive me if some details are slightly off as obviously anything running WP.org infrastructure is mostly a black box that no-one outside of Automattic or Audrey has any insight into (and I'm lucky to have found this problem in the first place).

If you take a look at the attached graph, you can see that the plugins repository is growing exponentially by disk usage regardless of what rate commits are coming in (but that has always been growing too, making this worse). I am assuming the repository is using FSFS, though this is actually still a problem if it were using BDB. All SVN repositories suffer from this weakness if used the same way the plugins SVN repo is being used.

The problem is that every SVN commit stores off node IDs of every sibling node of every parent node of all nodes that have changed in that revision. This means that a single commit to `/myplugin/trunk/readme.txt` contains references to all files and directories (and their related revision) in the `/myplugin/trunk` directory, the references to the `branches`, `tags`, and `trunk` nodes in `/myplugin`, and finally references to every directory in the root node (`/`) which means every single plugin in the repository.

Since the root node is related to any changed node in every single commit, and the list of plugins is constantly growing, this means that even though the repository is somewhere around 450GB right now, the actual data in the repo, including the full history, is only about 30GB. You can confirm with a simple dump of the repository. The other 420GB or so is entirely wasted space by SVN overhead.

If nothing is done in the next two years, the SVN repository is expected to double in size to about 900GB, and it’s performance will quickly degrade as the server takes longer to read revisions and the filesystem cache can no longer be used (which I suspect is already the case now). Another four years, and we could be looking at a 2TB Subversion repository with every single commit being required to write about 8MB to disk even if it's a one line change.

I know that any solution to this is going to take years to fully implement mostly because I believe this is going to require plugin SVN URLs to change during a migration at some point most likely. However, at the least, we should be heading up this problem by getting new plugin submissions started in their own repository rather than creating new directories for them in the current plugins SVN repo. This would at least stop the exponential growth of the plugins repository, extending it's lifespan significantly."	bpetty
23712	My browser is NOT out of date		WordPress.org site		normal	minor	WordPress.org	defect (bug)	new		2013-03-07T15:42:29Z	2013-03-09T23:36:13Z	"Hello.
I'm running Win7 64bit with Firefox 19.0. When I log in my wordpress site admin panel an orange box pops up saying I should update my browser.
The operating system and the browser are completely updated."	assenoff
16524	No documentation (not possible?) to add plugins to Trac		WordPress.org site		normal	normal	WordPress.org	defect (bug)	new		2011-02-10T19:58:05Z	2012-09-13T20:21:30Z	"When developing a plugin, it's normal to set up a bug-tracker of some sort. I have found no documentation on how to do this using THIS bug tracker: trac.  I've noticed that SOME plugins have support here, but nobody I've talked to knows how to get their custom plugins added to this bug tracker, which means that most of the plugins in the repository have no official bug tracking in place.  That's a huge disservice to the community because only a fraction of those developers have the wherewithal to set up their own bug trackers.

This ticket is to request:
1. Access to trac for all plugin developers
2. Thorough documentation on how to get this set up for any new plugin authored
3. Ideally, incorporate this in a standardized way for all plugins so the authors don't have to do any extra footwork."	fireproofsocks
19635	Non-ASCII chars in user name changed to question marks after sending new plugin request		WordPress.org site		normal	normal	WordPress.org	defect (bug)	new		2011-12-21T13:52:47Z	2012-08-10T18:12:55Z	"I have just sent request to add new plugin to repository, and found that some chars in my name were changed to question marks:

{{{
WordPress Plugins » Requests
user-ranks from Daniel Fru?y?ski (sirzooro) [plugin]
}}}

Should be:

{{{
WordPress Plugins » Requests
user-ranks from Daniel Frużyński (sirzooro) [plugin]
}}}"	sirzooro
18231	Opera Mini being reported as out of date	nacin	WordPress.org site	3.2.1	normal	normal	WordPress.org	defect (bug)	assigned		2011-07-24T05:14:23Z	2012-09-28T16:05:28Z	"From http://wordpress.org/support/topic/latest-opera-mini-flagged-as-old-version-of-opera?replies=1


I use the latest Opera Mini for Symbian v 6.1.25570 for access to my WordPress.org blogs from my mobile phone. It works well for comment moderation, minor edits to posts and upgrading plugins.

Since upgrading to WP 3.2.1 I've been seeing ""It looks like you're using an old version of Opera.."" on my Dashboard.

This message is incorrect as I AM running the latest version of Opera Mini. It's only a minor annoyance but it would be nice if it was fixed."	Ipstenu
22533	Plugin Rating stars is incorrect		WordPress.org site		low	minor	WordPress.org	defect (bug)	new		2012-11-21T23:04:07Z	2012-11-21T23:27:52Z	"The stars rating doesn't reflect the average rating correctly. 

For example:
http://wordpress.org/extend/plugins/automatic-updater/

At the time of reporting, there were 13 ratings: 9*5, 3*4, 1*1, for an average of 4.46, shown correctly in the text as ""4.5 out of 5 stars"".

The star rating doesn't seem to be using the same number, however - it should be 89.2% (or 90%, if it uses the rounded up ""4.5"" as the rating), but is showing as 82%."	pento
21550	Plugin changelog truncation can break WordPress.org site layout		WordPress.org site		normal	normal	WordPress.org	defect (bug)	new		2012-08-11T16:32:59Z	2012-08-11T16:35:41Z	"WordPress.org appears to truncate plugin changelogs after a certain number of characters. However, if the truncation occurs in an inconvenient place -- such as the middle of an HTML tag -- it can cause browser rendering issues in other parts of the page.

For example, on the [http://wordpress.org/extend/plugins/seo-ultimate/changelog/ changelog page] for my plugin SEO Ultimate, the plugin page sidebar is currently showing up below the changelog ([http://img405.imageshack.us/img405/7557/brokenchangelogscreen.png screenshot]). This is because the changelog is being truncated in the middle of an <li> tag, apparently leading my browser (Chrome) to fail to recognize a </div> closing tag:

{{{
<l</div><!-- block-content--></div>
}}}

I would suggest that the easiest and perhaps best solution would be simply to stop truncating plugin changelogs. Layout breakage possibilities aside, I would prefer it if my plugin's changelog were not cut off after a certain point."	JohnLamansky
23411	Plugin images are sent with wrong Content-Type		WordPress.org site		normal	normal	WordPress.org	defect (bug)	new		2013-02-07T09:26:46Z	2013-02-07T10:01:38Z	"Some images are sent with the Content-Type `application/octet-stream`.

Example: http://s-plugins.wordpress.org/buddypress/assets/screenshot-1.gif?rev=626668


{{{
HTTP/1.1 200 OK
Accept-Ranges: bytes
Content-Type: application/octet-stream
Date: Thu, 07 Feb 2013 09:18:48 GMT
ETag: ""626668//buddypress/assets/screenshot-1.gif""
Last-Modified: Sun, 18 Nov 2012 17:27:41 GMT
Server: ECS (fcn/419A)
X-Cache: HIT
Content-Length: 11248
}}}

Linked from http://wordpress.org/extend/plugins/buddypress/screenshots/

Each time I want to load the pure image I get a download dialog in my browser."	toscho
22288	Plugin package is old version when upgrading plugin shortly after release		WordPress.org site		normal	normal	WordPress.org	defect (bug)	new		2012-10-26T15:39:49Z	2012-11-14T11:16:13Z	"The past few times I have done plugin releases, I have noticed an issue with the wrong plugin package being downloaded.

For example, I release a new version of a plugin via SVN. The plugin update appears on .org, and the download link downloads the new version. 

The update also appears in a WordPress install shortly after (assuming transients are deleted for the fastest way to get the update to show). If I then Upgrade the plugin from the, WordPress install the Upgrader Skin does the usual Downloading Plugin... and the package (zip) that is shown to be downloading is the previous version. Of course, it does download the previous version and again shows an update is available.

After about 5-10 minutes this usually fixes it's self.

I don't know how the .org side of things work, is it possible that the updated version will show up, but whatever is responsible for getting the latest package is relying on a different cache or something?

"	joehoyle
17709	RTL for the Support Forum theme on the international sites		WordPress.org site		normal	normal	WordPress.org	defect (bug)	new		2011-06-06T15:57:51Z	2011-09-07T00:06:17Z	"The RTL styles for the support forums are incomplete. I don't have access to the original files to make a patch, but these fixes should be all that's needed:

{{{
#pages a:after, #pages span:after { content: &amp;quot;\200F&amp;quot;; }
#pagebody table.widefat th { text-align: right; }
#pagebody ol#thread { list-style: none; }
#footer iframe, #footer p { float: left; }
#footer h6 { float: right; }
}}}

"	RanYanivHartstein
20179	Redirect visitors from plugin admin URL to plugin URL if user not admin		WordPress.org site		normal	normal	WordPress.org	defect (bug)	new		2012-03-05T17:58:47Z	2012-04-05T18:33:02Z	"The WordPress plugin directory features an ""admin/"" path relative to each plugin. If I am logged-in to WordPress.org and associated with the plugin slug I'll see a few helpful links and utilities. If I have no mapped relationship to the plugin I see the plugin homepage. I'd like to redirect visitors to ""extend/plugins/{slug}/admin/"" to ""extend/plugins/{slug}/"" if they do not have an admin relationship to the given plugin.

Example: I visit a plugin page either logged out or logged in without any association with the plugin.
http://wordpress.org/extend/plugins/akismet/admin/

Response should be a redirect to:
http://wordpress.org/extend/plugins/akismet/

Right now the response is the same content as the plugin homepage."	niallkennedy
22106	SVN Notify emails don't support UTF-8		WordPress.org site		normal	minor	WordPress.org	defect (bug)	new		2012-10-05T06:30:42Z	2012-10-05T06:38:07Z	"If there are UTF-8 characters in the changelog, they are shown as UTF-8 numerical codes, instead of the appropriate character.

For example, see this change:

http://plugins.trac.wordpress.org/changeset/608203/automatic-updater

Compared to the attached email screenshot."	pento
23410	Screenshots behaviour not same between /assets and /tags/xxx		WordPress.org site		normal	normal	WordPress.org	defect (bug)	new		2013-02-07T06:04:23Z	2013-02-17T04:32:27Z	"Plugins screenshots have differing behaviour whether stored in /assets or /tags/xxxx folders in plugin SVN repository.

* /tags/xxxx => scaled images with links to source images
* /assets => scaled images without links

Also, when loading a plugin for the first time recently, the screenshots didn't appear until after I added them to the /assets folder. I suspect something has changed there, as I had read that screenshots should fallback to stable tag/trunk folder.

Examples:
* [http://wordpress.org/extend/plugins/gravity-forms-dps-pxpay/screenshots/ Gravity Forms DPS PxPay] has /assets folder, screenshots don't link
* [http://wordpress.org/extend/plugins/gravityforms-eway/screenshots/ Gravity Forms eWAY] has no /assets folder, screenshots link to source images"	webaware
22809	Support Pale Moon browser in out-of-date dashboard widget		WordPress.org site		normal	normal	WordPress.org	defect (bug)	new		2012-12-07T14:28:40Z	2012-12-08T12:44:00Z	"The ""Your browser is out of date!"" notification in WordPress dashboard is shown erroneusly for Pale Moon users.

Pale Moon is the most popular optimized version of Firefox, and its version numbering scheme runs a bit different from the mainstream Firefox. The current version of Pale Moon http://www.palemoon.org/ is 15.3.2, which is just as up-to-date as Firefox 17.0.1.

Summary of the issues:

1. The version check should be done against Pale Moon version number instead of Firefox version number.

2. The text and links should refer to update Pale Moon instead of Firefox."	Daedalon
19011	Support forum topics with Cyrillic titles cannot be found via Google		WordPress.org site		normal	major	WordPress.org	defect (bug)	new		2011-10-20T02:22:19Z	2011-12-23T04:25:14Z	"None of the topics with Cyrillic titles on ru.forums.wordpress.org can be found via Google. Topics with Latin slugs are indexed properly. Same for the other forums in Cyrillic (bg.forums.wordpress.org and sr.forums.wordpress.org).

This wasn't a big issue three years ago when there were just a few posts, but now that more and more questions are asked and answered each day, it's hard for users to find previous topics and solutions.

[http://lists.automattic.com/pipermail/wp-forums/2011-February/006773.html According to Otto], there's no `robots.txt` or anything else blocking Google from indexing them.

This is probably a Google bug, but I've tried to ask on their Help forum, and no one replied.

My guess is this has to do with 4th-level domains currently used for localized support forums. In this case, wouldn't it be possible to switch from `ru.forums.wordpress.org` to `ru.wordpress.org/support/`, similarly to English support forums?"	SergeyBiryukov
23485	Theme Preview on Extend starts in the middle of the page		WordPress.org site		normal	normal	WordPress.org	defect (bug)	new		2013-02-16T10:39:50Z	2013-03-05T16:02:50Z	"The theme preview iframe is positioned at 50% from top, the lower 50% are invisible. Tested in Chrome, Firefox and Opera, all up-to-date.

Clicking ''Inspect Element'' in any of these browsers makes the iframe jump to the correct position, so I cannot provide more details, sorry.
"	toscho
18097	Themes update-check should check parent/child		WordPress.org site		normal	normal	WordPress.org	defect (bug)	new		2011-07-13T10:19:33Z	2011-07-21T02:49:14Z	"A child theme by the name of Commune gets served the updates of a parent theme.

We should only serve an update to a theme if it's a child or parent, appropriately. For child themes, we should also confirm the parent."	nacin
22770	Tweak Browse Happy so it doesn't jump the gun with out-of-date browser messages		WordPress.org site		normal	normal	WordPress.org	defect (bug)	new		2012-12-06T01:28:44Z	2012-12-06T06:44:20Z	"Browse Happy is a useful tool for encouraging WordPress users to keep their browsers current. 

However, sometimes Browse Happy jumps the gun.

For instance, on GNU/Linux distributions like Ubuntu, users can choose to install Chromium directly from the repository (as opposed to downloading Chrome from Google's site). 

Chromium, when installed this way, is kept up to date by the operating system's package management tool, not manually. Users receive notifications from their operating system prompting them to upgrade when new versions of the browser are available. 

It makes no sense to show a Chromium user a ""your browser is out of date"" message when their browser is, in fact, up to date - as provided by their distribution. 

Unfortunately, that is what it happening now. 

Similarly, Microsoft has not yet released Internet Explorer 10 for Windows 7, so it is not appropriate to tell users of IE9 that their browser is out of date. IE10 is available for Windows 7, but only as a release preview - similar to a WordPress release candidate. We wouldn't prompt users to upgrade their production WordPress installations to a release candidate, so why is Browse Happy telling Windows 7 IE users to upgrade to IE10 when the final version of IE10 has yet to be released?

Browse Happy should be tweaked so it does not jump the gun with out-of-date browser messages before browsers are really out of date. Users should only get a prompt to upgrade if there is in fact a newer version of their web browser available to them that is out of beta and suitable for production use."	avcascade
20615	Unknown error when running plugins_api() with invalid slug		WordPress.org site		normal	normal	WordPress.org	defect (bug)	new		2012-05-05T14:59:07Z	2012-05-05T15:40:35Z	"Input:

{{{
$api = plugins_api( 'plugin_information', array( 'slug' => 'doesnt-exist' ) );

var_dump( $api );
}}}

Expected result:

{{{
WP_Error Object
(
    [errors] => Array
        (
            [invalid_slug] => Array
                (
                    [0] => Invalid plugin slug.
                )

        )

    [error_data] => Array
        (
            [invalid_slug] => 404;
        )
)
}}}

Actual result:

{{{
WP_Error Object
(
    [errors] => Array
        (
            [plugins_api_failed] => Array
                (
                    [0] => An unknown error occurred during the API request.
                )

        )

    [error_data] => Array
        (
            [plugins_api_failed] => N;
        )
)
}}}

PS: I have no idea what that 'N' is supposed to represent."	scribu
21991	Username input placeholder text cut off		WordPress.org site		normal	normal	WordPress.org	defect (bug)	new		2012-09-25T08:18:21Z	2012-09-25T08:18:21Z	"On wordpress.org I'm invited to log in using my ""Username or em""."	johnbillion
21542	WP.org notifications don't support UTF-8		WordPress.org site		normal	normal	WordPress.org	defect (bug)	new		2012-08-10T18:10:09Z	2012-08-10T18:12:51Z	See the screenshot.	SergeyBiryukov
23989	Wonky download button on plugin support forums		WordPress.org site		normal	normal	WordPress.org	defect (bug)	new		2013-04-08T15:27:57Z	2013-04-08T18:21:06Z	"On the 'Support' tab for any plugin in the wordpress.org plugin repo, the Download button is a bit wonky.

[[Image(http://i.imgur.com/5gctAEO.png)]]"	johnbillion
15366	WordPress Development Blog feed can't redirect		WordPress.org site		high	normal	WordPress.org	defect (bug)	reopened		2010-11-09T21:13:42Z	2011-02-17T22:39:16Z	"The RSS feed doesn't know to follow the redirects.

We'll need to restore a feed at /development/feed/ -- rewrite instead of redirect."	nacin
24005	WordPress.org search field looks broken in Opera		WordPress.org site		normal	minor	WordPress.org	defect (bug)	new		2013-04-09T13:07:58Z	2013-04-09T13:13:08Z	This is how it looks in Opera 12.15, Win8, x64 (see attach)	seezer
18773	Wordpress codex pass word problems		WordPress.org site	3.3	normal	normal	WordPress.org	defect (bug)	new		2011-09-25T21:55:07Z	2011-09-26T10:14:38Z	"Ok this is the third time I've tried to post this here- I've split the pass word up because I thought that some bit may be preventing this from being posted thinking that I'm revealing sensitive data.

I set my pass word to a strong one with brackets, double quotes and a semicolon in it. This worked for the forums and the trac but not for the codex (wouldn't let me in).

"	volcanicpixels
19432	[SITE] Belguim IP shows only French version?		WordPress.org site		normal	minor	WordPress.org	defect (bug)	new		2011-12-03T10:59:37Z	2011-12-04T10:46:52Z	"When a Belgium IP address goes to the English version of the WP.org site I shows that WordPress is also in French. But we have also Dutch & German in this country. So I was thinking: why not display the message as follows: 

'click here if you want WordPress in another language' and this takes you to a page where all languages are listed. That way a user that is at holidays in China easily find his French or German version."	jonezjea
18981	erroneous pie graph in plugins repository		WordPress.org site	3.2.1	normal	normal	WordPress.org	defect (bug)	new		2011-10-18T06:43:00Z	2012-06-21T12:26:06Z	"In plugins repository of wordpress.org:
Since more than a week, pie graph of statistic are erroneous... Only one part, very old version targeted !
What happens ?

one example in our seven list and other more : http://wordpress.org/extend/plugins/xili-language/stats/

"	michelwppi
17095	format or validate author url from api.wordpress.org		WordPress.org site		normal	normal	WordPress.org	defect (bug)	reopened		2011-04-09T16:44:13Z	2011-04-09T18:04:56Z	"The author url from api.wordpress.org does not seem to do full format checking. Not apparent in browsers since they will understand malformed urls but is a problem when outputting elsewhere.

Example: 
{{{
<author type=""string""><![CDATA[<a href=""http:www.artificium.sk"">Stanislav Gunčaga</a>]]></author> 
}}}


 "	wycks
23958	http://wordpress.org/showcase/ is broken for retina		WordPress.org site		normal	normal	WordPress.org	defect (bug)	new		2013-04-06T12:19:26Z	2013-04-06T12:19:26Z	"First time I do see an image but when whole page is loaded the image is ""File not found"". Only Quartz is showing up in the slider."	markoheijnen
11905	trac spam	ryan	WordPress.org site		normal	normal	WordPress.org	defect (bug)	reopened		2010-01-15T13:05:08Z	2013-04-21T09:15:45Z	http://core.trac.wordpress.org/ticket/9534#comment:7	scribu
23034	wordpress-sources is not up to date	nacin	WordPress.org site		normal	normal	WordPress.org	defect (bug)	assigned		2012-12-21T08:16:31Z	2013-01-10T06:55:04Z	"It would be nice if you could include as part of your standard release workflow a step that ensures that http://code.trac.wordpress.org/browser/wordpress-sources is up-to-date.

For instance WP 3.5 ships JQuery 1.8.3 but the above repository only contains the source for version 1.8.1. JQuery UI is at 1.9.2 while the above repository only contains 1.8.23."	rhertzog
13576	wordpress.org themes list, sidebar broken in IE7	ryan	WordPress.org site		normal	normal	WordPress.org	defect (bug)	new		2010-05-27T14:49:20Z	2012-08-10T18:25:26Z	"wordpress.org themes list
the sidebar in IE7/IE8 is displayed AFTER the themes, Firefox ok."	maurizio04
22440	"Add ""app"" to the .org intro paragraph."		WordPress.org site		normal	minor	WordPress.org	enhancement	new	dev-feedback	2012-11-14T11:26:45Z	2013-03-20T13:58:18Z	"I'd like to propose that we change the .org intro paragraph from:

{{{
WordPress is web software you can use to create a beautiful website or blog. We like to say that WordPress is both free and priceless at the same time.
}}}

To:

{{{
WordPress is web software you can use to create a beautiful app, website or blog. We like to say that WordPress is both free and priceless at the same time.
}}}

WordPress is being used to build web apps, see [http://wordpress.tv/2012/08/06/matt-mullenweg-state-of-the-word-2012/ Matt's WPSF 2012 keynote].

I also spoke to @matt about this at WPCS, he seemed to liked the idea."	willmot
23704	Add a field onto WordPress.org support forums for plugin version number		WordPress.org site		normal	normal	WordPress.org	enhancement	new		2013-03-06T06:17:31Z	2013-03-14T00:57:15Z	"WordPress.org support forums ask the user to specify the version of WordPress they are using.

In plugin-specific support forums such as http://wordpress.org/support/plugin/events-manager there should also be a field for the plugin version number. Like the WordPress version number, this should be a dropdown list, for which the values should be available in the WordPress.org database.

This way plugin authors don't need to ask the user for that version, which speeds up the resolution of support tickets and saves the plugin authors' time, letting them concentrate more on creating and improving the plugins."	Daedalon
12696	Add ordering support to plugins_api() when filtered on tag or search term	ryan	WordPress.org site		normal	normal	WordPress.org	enhancement	new		2010-03-24T23:05:09Z	2011-06-07T14:49:00Z	"It would be awesome if you could pass an ordering parameter to plugins_api() that would allow you to return a list of filtered plugins in a specific order.

I'd love to be able to use the API to return a list of the most popular / newest / recently updated plugins on the repo that contain the tag ""buddypress"".

Something like this would be awesome:

{{{
$plugins = plugins_api( 'query_plugins', array( 'tag' => 'buddypress', 'page' => 1, 'order' => 'popular' );
}}}

Even better, also allow search filtering:

{{{
$plugins = plugins_api( 'query_plugins', array( 'tag' => 'buddypress', 'search' => 'album', 'page' => 1, 'order' => 'popular' );
}}}

I'd be happy to implement this if I can get access to the API source on WordPress.org."	apeatling
22297	Add support to request topics through the WordPress API		WordPress.org site		normal	normal	WordPress.org	enhancement	new		2012-10-27T20:39:24Z	2012-10-27T20:39:24Z	There is a RSS feed for getting the latest topics but that's not really handy since you have no clue what the information is behind it like if the topic has been resolved. What can be handy if you want to have an overview of all the not resolved topics of all your plugins	markoheijnen
22416	Add updated time to Plugin API		WordPress.org site		normal	normal	WordPress.org	enhancement	new	dev-feedback	2012-11-12T00:21:27Z	2012-11-12T09:50:22Z	"This ticket is directed at @Otto42

Per recent discussion (Nov 6), a separate '''last_updated_time''' field should get added to the plugin API.

Having a separate field, instead of appending time to the existing ""last_updated"" date, would prevent possible compatibility issues.

Example API response: http://api.wordpress.org/plugins/info/1.0/akismet.json"	logikal16
24295	Allow ReadMe to support in-document links		WordPress.org site		normal	normal	WordPress.org	enhancement	new		2013-05-09T10:30:34Z	2013-05-11T17:20:35Z	"The current Plugin [http://wordpress.org/extend/plugins/about/readme.txt ReadMe files] use MarkDown syntax and over time these can contain a great deal of information for users, for example in the FAQs.

The length of these sections sometimes makes finding the part you need a case of trawling through the entire document or searching for words in the browser window and hoping you are using the same vocabulary as the ReadMe author.

I think a useful enhancement would be to add the capability to define in-document links to allow for things like a table of contents at the top of the FAQ section. Currently you can create a link in such a table like this:

{{{
[FAQ 1](#1)
}}}

But I cannot find a way to create the linked section later in the document as any HTML, name or id parameters seem to get stripped out.

If this is already possible, please can you tell me how to accomplish this and accept my apologies from opening a ticket."	MattyRob
21628	Attach image(s) to WordPress.org support topics/replies		WordPress.org site		normal	normal	WordPress.org	enhancement	new		2012-08-18T22:27:29Z	2012-08-19T22:28:27Z	The ability to upload images to a support reply or topic would assist in describing issues and solutions. Sure, a user could link to an externally sourced image, however that's another step in the process.	ericlewis
23160	Better 404 page for WordPress.org		WordPress.org site		normal	minor	WordPress.org	enhancement	new		2013-01-09T20:10:23Z	2013-01-09T20:13:01Z	"Right now, if you get a 404 on wp.org, there isn't really much.

example:  [http://wordpress.org/howabouta404]

I'd suggest at the minimum changing the wording away from 'no posts' to 'no pages', and potentially adding links to commonly accessed areas, such as 'Were you looking for a plugin, theme, blah blah?'

In the side bar, there is also a 'Categories' section, that always displays 'No categories', maybe remove that as well?"	bradparbs
24145	Confirm page close when writing on WordPress.org forums		WordPress.org site		normal	normal	WordPress.org	enhancement	new		2013-04-20T20:03:15Z	2013-04-20T22:28:18Z	"When writing on WordPress.org forums, sometimes long and well thought-out replies are lost due to accidental page closing. This causes countless amounts of work lost within the WordPress community.

There should be a confirmation dialog to prevent accidental page closing after user has entered something in the new post form."	Daedalon
16779	Ignore capitalization during login		WordPress.org site		normal	minor	WordPress.org	enhancement	new		2011-03-06T21:07:43Z	2011-07-22T09:16:23Z	"The login box at wp.org seems to be case sensitive. In my case if I type ""bandonrandon"" it returns with ""user not registered"" but if I type ""BandonRandon"" I am able to login. However, it seems that ""bandonrandon"" is also connected to my account and isn't available for registration. 

My thoughts on this are to maybe ignore the case of the user when they login to the site. The same can be said for plugins. If my name is ""bandonrandon"" in the plugin readme my gravatar is not shown but if it's ""BandonRandon"" my gravatar is shown.  

"	bandonrandon
20318	Introduce a Usage section to the Plugins API		WordPress.org site		normal	normal	WordPress.org	enhancement	new		2012-03-29T07:05:20Z	2012-03-29T13:25:50Z	"I quite often find a need for a 'Usage' section in my plugin's readme file. I usually place this within the 'Installation' section ([http://wordpress.org/extend/plugins/user-switching/installation/ example]), but I've seen other plugins that include full usage instructions in the main description, in the FAQs, or in the 'Other Notes' section.

It would be nice if there was a top level readme section for Usage which showed up as a tab on the WordPress.org Plugin Directory."	johnbillion
15783	JavaScript Coding Standards	koopersmith	WordPress.org site		normal	trivial	WordPress.org	enhancement	assigned		2010-12-12T10:56:05Z	2013-04-11T13:36:22Z	"Following up on scribu's and azaozz's comments in #15650, would a JavaScript Coding Standards page on the Codex (equivalent to http://codex.wordpress.org/WordPress_Coding_Standards and http://codex.wordpress.org/CSS_Coding_Standards) be useful?

It would not only include the usual code formatting, whitespace, brace position, semi-colon requirements etc, but also clarify on which code patterns are preferable for performance, both for the specific dependency library, and those that will give the smallest file when minified.

Another idea might be to introduce a file docblock that outlines which JS library or other file dependencies the current file has.

Some references:
 * http://javascript.crockford.com/code.html
 * http://google-styleguide.googlecode.com/svn/trunk/javascriptguide.xml
 * http://drupal.org/node/172169
"	GamajoTech
18682	"Make ""WordPress is also available in..."" string translatable"		WordPress.org site		normal	normal	WordPress.org	enhancement	new		2011-09-16T10:34:02Z	2011-09-16T10:34:02Z	"Currently the links to local sites displayed on !WordPress.org for international visitors are partly English, partly translated:

 !WordPress is also available in Русский.[[BR]]
 !WordPress support forums are also available in Русский.

For better user experience, we should allow l10n teams to translate these strings in Rosetta. Due to different grammatical cases, the language name would probably need a separate context for these links."	SergeyBiryukov
22343	Make some better theme preview test data		WordPress.org site		normal	trivial	WordPress.org	enhancement	new		2012-11-02T01:19:46Z	2013-04-06T19:04:22Z	"[[http://i.imgur.com/Vdb8y.jpg]]

Surely something '''new''' can be done here."	wycks
23002	Maybe a little styling?		WordPress.org site		normal	normal	WordPress.org	enhancement	new		2012-12-19T11:25:29Z	2012-12-19T11:49:23Z	"Hi,

The  fields in registration page http://wordpress.org/support/register.php are without style.

Maybe a little styling for the fields? Now not are very nice..."	j.conti
11898	Pagination For Browse Source in Plugin Trac	ryan	WordPress.org site		normal	normal	WordPress.org	enhancement	new		2010-01-14T23:42:38Z	2010-01-15T16:53:59Z	"When you view Browse Source in Plugin Trac it lists 7,000 plugins. This take a long time to load and isn't readable. This page needs pagination or something else.[[BR]]
[[BR]]
Related: http://trac.edgewall.org/ticket/6101[[BR]]
[[BR]]
This was talked about breifly during the dev meeting on January 14th, 2010: https://irclogs.wordpress.org/chanlog.php?channel=wordpress-dev&day=2010-01-14#m56068"	dancole
17917	Profile pages should include activity on local forums as well		WordPress.org site	3.2	normal	normal	WordPress.org	enhancement	reopened		2011-06-28T07:43:21Z	2012-12-07T10:18:46Z	"Since WordPress 3.2 is going to show a link to the profile pages of the various contributors and translators, it seems only fair for that profile page to reflect the activity of those translators on the local forums as well. 

Currently if you go to my profile page for example http://profiles.wordpress.org/users/DeFries/ you will only see some forum activity on the international forum. Most of my activity is done however on the Dutch Forum ( http://nl.forums.wordpress.org ). Something you can see on the profile page of the Dutch forum itself: http://nl.forums.wordpress.org/profile/defries 

For starters, it would be a better suit if the first mentioned profile url shows all of the users activity on the forums, but having both reflect the same would be a warm welcome. Having the two merged could even be a better solution. I'll leave that up to you guys."	defries
24165	Re-skinning Trac 1.0		WordPress.org site		high	minor	WordPress.org	enhancement	new		2013-04-23T15:50:47Z	2013-05-17T01:06:13Z	"As part of a datacenter migration, Trac was updated to 1.0, which has a new UI featuring rounded corners, gradients, drop shadows; and fieldsets with rounded corners, gradients, and drop shadows.

Let's update http://wordpress.org/style/trac/wp-trac.css?2 to replace all of the ugly and to fix some of our custom styling broken with the upgrade.

We went from Trac 0.12.4 to 1.0. Here's a diff of the relevant CSS/JS/images: http://trac.edgewall.org/changeset?old_path=%2Ftags%2Ftrac-0.12.4%2Ftrac%2Fhtdocs&old=11784&new_path=%2Ftags%2Ftrac-1.0%2Ftrac%2Fhtdocs&new=11784"	nacin
23346	Remove rate limiting for plugin authors on their own support topics		WordPress.org site		normal	normal	WordPress.org	enhancement	new		2013-01-31T18:46:41Z	2013-02-05T01:42:56Z	I frequently get the 'slow down' message on the support forums when responding to support threads for my plugin - can the limit not be lifted when posting to topics tagged with a plugin that I am author of.	volcanicpixels
18915	Reverse priority colors in Trac		WordPress.org site		normal	normal	WordPress.org	enhancement	new		2011-10-12T12:53:01Z	2012-09-02T17:05:06Z	Each ticket on list has assigned color - from red for ones with lowest priority, to blue for ones with highest priority. This is a bit unintuitive, because red color usually means warning or something bad. Please change these colors to follow that common approach.	sirzooro
15417	Search by Author on Install Plugins - requires inside knowledge		WordPress.org site	3.0.1	normal	normal	WordPress.org	enhancement	new		2010-11-13T17:07:49Z	2011-02-19T01:19:08Z	"If you search for plugins to install by author -
say for example - Justin Tadlock - or - Tadlock - you get no results.

If you are aware that ""GreenShady"" is Justin Tadlock - you get a long list of plugins (as you should) all listed as by ""Justin Tadlock""

This seems broken.
"	transom
22424	Search support threads for a particular theme/plugin		WordPress.org site		normal	major	WordPress.org	enhancement	new		2012-11-12T19:09:45Z	2012-11-12T19:12:55Z	"A lot of duplicate support threads for themes/plugins could be avoided if users had a way to search through existing threads only for that particular theme/plugin.

For example, when I'm on http://wordpress.org/support/theme/p2 there could be a search box at the top that would only look through those topics."	scribu
14087	Set up team to evaluate web-hosting providers for WP.org recommendations		WordPress.org site		normal	normal	WordPress.org	enhancement	new		2010-06-25T13:47:32Z	2010-07-17T14:39:18Z	"The problem is simple to describe:

When setting up a CMS-based website, two of the most critical—if not the two most critical—decisions are:

 *  publishing platform
 *  web host
 
For the first you can pick at random among the best-known offerings and you won’t go much wrong.  (Or you can pick the most popular one, and, in most cases, you will have made the best choice! :-D)

But the second is different — or so my little experience tells me:  Fame and familiarity do not seem to be directly correlated with quality in the case of shared web-hosting, which is the best type of hosting for the majority of WP users.

And that’s unfortunate, because bad web hosting can ruin the experience of web publishing.

In addition, evaluting web hosts is not easy for a single individual, even for individuals who have the technical understanding, because it takes time and also money.

We, the people involved with WordPress development, are in a better position to offer some insight into the problem:  We are many, we have collective knowledge, and also collective experience.  So, here is my idea:

 *  Set up a team
 *  Set up a set of criteria
 *  Start evaluating services for a period of two or three months
 *  Publish the final recommendations on the WP.org page (along with the criteria used)
 
What do you think?"	demetris
20284	"Show ""Bug Reporting Tips"" when people post in plugin forums"		WordPress.org site		normal	minor	WordPress.org	enhancement	new		2012-03-22T20:49:43Z	2012-03-22T21:25:35Z	"The vast majority of forum posts to plugin forums are bug reports, and most are from people who aren't very familiar with what information is required to actually deal with such a report reasonably.

I had to laugh when I started opening this ticket, because I am presented with what I'd love to see on wordpress.org!

I tweaked it a little to make sense for the situation:

--------------

REPORTING BUGS

    Are you using the latest release of the plugin, or the latest development/trunk version? If neither, please stop here and update first.

    What steps should be taken to consistently reproduce the problem?

    In case it's relevant to the issue, what is the expected output? What did you see instead?

    Does the problem occur even when you deactivate all plugins and use the default theme?

    Please provide any additional information that you think we'd find useful. (OS and browser for UI defects, server environment for crashes, etc.)
"	MadtownLems
16880	Suggestion: login links on all pages		WordPress.org site		normal	normal	WordPress.org	enhancement	new		2011-03-17T19:25:47Z	2011-03-18T20:05:47Z	"My wife is (finally) getting to work with WordPress at her job. As a relative newcomer to *really* digging into WP, she's hitting on a couple of things that I tend to just gloss over and ignore. One of them was this:

She wanted to log in to wordpress.org, but had forgotten her password. She did a password reset, and of course, afterward, she wanted to go back and manually reset her password to something she'd remember. So she went to the main wordpress.org homepage, only to find that there's no login link or any other indication of where one might go to change your password.

Of course, *we* know that you can get those links from the Support forum or the Extend area, but for her, it was not immediately obvious.

I just thought I'd suggest that the login block should appear on all pages of the site, not just on a few select ones."	dougal
17505	Trac is too liberal in sending out e-mail updates on issues		WordPress.org site		normal	normal	WordPress.org	enhancement	new		2011-05-19T09:25:43Z	2011-05-19T14:06:04Z	Something relatively minor that's been bugging me for a long time: Commenting on a Trac issue or adding oneself to the CC list should not send an e-mail to that user, or at least not by default. Suppressing such e-mail for self-made changes is the default on other bug reporting systems (e.g. JIRA), and it would be great if we could make it the default for WP Trac as well.	sbressler
20002	Update plugins_api to accept multiple slugs when querying 'plugin_information'		WordPress.org site		normal	normal	WordPress.org	enhancement	new		2012-02-09T18:06:35Z	2012-11-14T11:12:07Z	"When querying plugins_api() with 'plugin_information', the second argument takes a parameter 'slug' on which to find the plugin. Please may the API be updated to optionally accept an array of slugs, so that you can query for multiple plugins in the same HTTP request?
"	DJPaul
24066	Version field in Trac's New Ticket form inappropriate for WordPress.org site tickets		WordPress.org site		normal	minor	WordPress.org	enhancement	new		2013-04-12T18:29:32Z	2013-04-14T03:02:55Z	"WordPress.org site bugs are not related to WordPress versions.

After selecting ""WordPress.org site"" as a component on the Create New Ticket form in Trac, the version field should be either hidden or disabled."	Daedalon
18033	WordPress.org Support Forums Mobile Theme		WordPress.org site		normal	normal	WordPress.org	enhancement	new		2011-07-08T05:57:50Z	2011-07-08T13:45:42Z	"I mentioned this on Twitter earlier today and Nacin replied that if I coded something up he'd be happy to deploy it.

So here is a ticket to discuss the possible mobile theme for the support forums. Theme could be released later on as well with bbPress possibly?"	JarretC
16425	automatically search for similar tickets		WordPress.org site		normal	normal	WordPress.org	enhancement	new		2011-01-31T19:47:20Z	2011-02-16T08:18:10Z	"I just submitted my first bug report to jQuery today. They use trac too, but they added a couple of things to the ticket creation page which I think would be pretty useful here too:

 * ~~big red notice: ""Are you in the right place?""~~
 * automatically search for similar tickets before pressing submit

See http://bugs.jquery.com/newticket"	scribu
23764	"Add ""works for this version"" to the plugin review form"		WordPress.org site		normal	normal	WordPress.org	feature request	new		2013-03-14T00:56:30Z	2013-04-04T04:49:05Z	"It would be nice if users could select whether a plugin ""works"" for their selected !WordPress version in the plugin review form.

Obviously, the main ""Does it work? form"" would stay on the main areas of the plugin page, but this would, I think, help balance the reviews:works stats for many plugins.

This would also be related to #23704."	DrewAPicture
21387	Add a CodeURI field to plugin file header		WordPress.org site		normal	trivial	WordPress.org	feature request	new		2012-07-25T19:33:28Z	2012-07-25T19:38:48Z	"I would like to make it easier for developers not associated with a plugin to contribute modified versions.

The plugins SVN has grown to a size where it's no longer possible for a member of the WordPress community to create a new ticket and select a plugin from ""component"" to patch and improve software. Some plugins manage code on a site such as GitHub and commit a release into the plugins SVN.

I might use [http://wordpress.org/extend/plugins/wp-super-cache/ WP Super Cache] in my WordPress installation, one of 3.5 million installs using the plugin. I modify the plugin and would like to share my changes.

1. Try creating a [http://plugins.trac.wordpress.org/newticket new ticket in Plugins Trac]. The plugin is not listed as an available component.
1. Find the Plugin URI. If not WordPress.org look around on the author's site for links to another repo.
1. Search GitHub for the developer(s) and/or project
1. Email the developer(s) if they have a contact email listed

Give up?

File header currently includes a [http://codex.wordpress.org/File_Header#Plugin Plugin URI] which commonly points to the WP.org plugin page for the plugin or sometimes to a webpage on the developer's site. I could overload ""Donate"" to encourage code donations instead of monetary donations but that could be confusing.

I'd like to provide a explicit code URI field to encourage outside contributions of modifications in the GPL spirit."	niallkennedy
23982	Add array of screenshots to the Plugins API		WordPress.org site		normal	normal	WordPress.org	feature request	new		2013-04-07T20:31:16Z	2013-04-07T20:31:16Z	The response to the `plugin_information` method of the Plugins API includes a formatted list (in a `<ol>` tag) of the plugin's screenshots. It'd be good if the response also included an element containing a plain array of the screenshot URLs.	johnbillion
23981	Add donate link to the Plugins API		WordPress.org site		normal	normal	WordPress.org	feature request	new		2013-04-07T20:28:46Z	2013-04-08T01:29:16Z	The response to the `plugin_information' method of the Plugins API doesn't include an element for the donate link. It'd be good to get this in there for completeness.	johnbillion
24065	Allow previewing posts in WordPress.org support forums		WordPress.org site		normal	normal	WordPress.org	feature request	new		2013-04-12T18:17:31Z	2013-04-12T20:47:26Z	"WordPress allows previewing posts before publishing everywhere else except on WordPress.org support forums. Preview functionality should be added there as well.

Ideally the preview would be shown next to the editor so users can spot and correct mistakes without reloading the page, just like when commenting here in Trac."	Daedalon
23950	Company recognition		WordPress.org site		normal	minor	Awaiting Review	feature request	new	dev-feedback	2013-04-05T15:13:24Z	2013-04-09T17:04:30Z	"My company, and many others, have a policy of sponsoring WordPress community contribution, core and otherwise, by strongly encouraging employees to participate during paid company hours. I want to open a discussion on how this company contribution could be recognised, while not allowing ""corporates"" to take over the credits page on each release.

 * Would greater recognition encourage your company to foster contribution?
 * Should companies contributing employee time to WordPress, particularly core contributions, be recognised?
 * How should companies be recognised?
 * What are the pros and cons for the WordPress project in allowing this kind of recognition?

This follows a [https://twitter.com/jenmylo/status/320144575266160640 Twitter conversation] re showing company names in the WordPress credits page, and Nacin's suggestion to open this discussion."	simonwheatley
16589	Localized version stats	nacin*	WordPress.org site		normal	normal	WordPress.org	feature request	accepted		2011-02-18T08:52:48Z	2012-04-29T15:57:20Z	"There have been some discussions on localized version stats:

* http://lists.automattic.com/pipermail/wp-polyglots/2009-November/003812.html
* http://lists.automattic.com/pipermail/wp-polyglots/2009-December/003868.html
* http://lists.automattic.com/pipermail/wp-polyglots/2010-July/004859.html
* http://wppolyglots.wordpress.com/2010/12/01/ive-found-some-discussions-about-local-2/
* http://wppolyglots.wordpress.com/2010/08/18/i-am-having-some-problems-with-site-stat/ (related)

Many translators would agree that it would be nice to have them back."	SergeyBiryukov
23720	Make it obvious that by default support for plugin and themes in the repository is not guaranteed		WordPress.org site		normal	minor	WordPress.org	feature request	new		2013-03-08T07:10:13Z	2013-03-08T15:24:09Z	"Or even better, people should assume it doesn't exist.

This follows the discussion here http://tommcfarlin.com/upgrade-wordpress/

I know it is possible to add a text to that effect in the readme.txt file, but it is not the same, and you can't expect plugin authors to release new versions just to reflect the change in their available time.

Alternatively support policy should have a tab of its own on the plugin's page.

In addition, there should be a way to contact someone that will provide paid support for the plugin. By default it should be the plugin's author, but it might be a good idea for other people to be able to provide this kind of service as well."	mark-k
12475	Method to prune/leave feedback in Kvetch	ryan	WordPress.org site		normal	normal	WordPress.org	feature request	new		2010-03-02T17:12:25Z	2010-03-02T17:12:25Z	"I just saw two items about how it would be nice if upgrades were easier and if there was an automatic upgrader, and it got me thinking that there's no way to leave feedback or flag it if you're logged in.

It would be nice if there was some way to either leave feedback for when a Kvetch is no longer ""valid"" (for lack of a better term) because something has been implemented to address it, or to flag it for someone else to look at it and decide that it should be removed.

This could also be useful if a spam item was displayed, or if an offensive message was left."	ninjaWR
22736	Outdated plugins marked as 'Works' for the current version should show in search results		WordPress.org site		normal	normal	WordPress.org	feature request	new		2012-12-04T18:11:57Z	2013-01-06T02:35:09Z	"When a plugin hasn't been updated in over 2 years, it gets the ""this is outdated"" message on WP.org and it no longer shows up in plugin search results from the Dashboard.

But if the plugin is marked as ""Works"" for the current version - even though it hasn't been updated in 2 years - we should make it so it shows up in search results."	DrewAPicture
19884	Unable to sort themes by language		WordPress.org site		normal	major	WordPress.org	feature request	reopened		2012-01-24T13:21:34Z	2012-03-06T19:23:33Z	"I can't filter themes by language in themes site.
If I want theme in Hebrew (and rtl) I can't search its in the site.

So I had to look for it on other websites that may contain malicious code.
read: http://n2b.org/archives/2316 (Hebrew)."	hatul
12336	WP.org Profiles - Trac Replies are not reported	ryan	WordPress.org site		normal	normal	WordPress.org	feature request	new		2010-02-22T19:02:51Z	2010-02-22T19:08:48Z	Since WP.org Profiles already has forum post creations and replies, and Trac ticket creations, it makes sense to add the Trac replies as well.	archon810
12313	WP.org Profiles should add an RSS feed	ryan	WordPress.org site		normal	normal	WordPress.org	feature request	new		2010-02-21T01:01:52Z	2010-02-22T19:09:21Z	"I'm not sure where to report feature requests for WP.org Profiles so I'll do it here.

Considering the Profiles page http://profiles.wordpress.org/archon810 includes the Trac activity (unlike http://wordpress.org/support/profile/276841 which doesn't, though, it's also useful because it does include replies by others to my favorite topics), it'd be awesome to have an RSS feed for this Profile activity so that it can be used in someone's RSS reader or in my FriendFeed or Lifestream.

This may be a BuddyPress request, but since WP.org uses it, I'd say this ticket has merit either way."	archon810
11378	"Add ""Remove"" link to Widget instances which moves them to ""Inactive"" area"	azaozz	Widgets	2.9	low	minor	Future Release	defect (bug)	new		2009-12-10T08:53:43Z	2010-03-22T23:21:04Z	"Per comments on #10379, we should have a ""Remove"" link on Widget instances that moves them to the inactive area."	markjaquith
19945	Bug in ../wp-includes/widgets.php	Barti112	Widgets	3.3.1	normal	normal	Awaiting Review	defect (bug)	new	reporter-feedback	2012-02-02T08:22:34Z	2012-07-05T14:21:33Z	"in this file there are at some places the following code:

$widget = array_merge($widget, $options);

it is possible that $options is not an array and i become a php-warning.

i think better is to check the arrays before you use this function:

if(is_array($widget) && is_array($options)){
  $widget = array_merge($widget, $options);
}
"	Barti112
23934	Calling sidebar two times, widgets have the same ID		Widgets		normal	normal	Awaiting Review	defect (bug)	new		2013-04-04T14:03:50Z	2013-04-16T00:20:26Z	"If we call in the Twenty Thirteen the function of the sidebar

{{{
<?php dynamic_sidebar( 'sidebar-2' ); ?>
<?php dynamic_sidebar( 'sidebar-2' ); ?>
}}}

then the widgets ids from each sidebars are the same.
"	alexvorn2
21061	Can't drag an opened widget to other widget area		Widgets	3.4	normal	normal	Awaiting Review	defect (bug)	new	dev-feedback	2012-06-24T19:43:44Z	2012-06-24T19:43:44Z	"the placeholder does not appear and the option to drag the opened widget is not possible, to fix this: to auto-close the widget before drag event (sortable) or add option to accept opened widgets

http://wpimpact.com/wp-content/uploads/2012/06/Untitled-5.png"	alexvorn2
21396	Categories widget reports categories without posts when they have custom posts		Widgets	3.4.1	normal	normal	Awaiting Review	defect (bug)	new		2012-07-27T02:36:46Z	2012-07-27T04:27:26Z	"This problem may be related to #14084, but this report is specific to the behaviour of the Categories Widget.

- Create a custom post type eg. ""Products""
- Create a category eg. ""Photographs""
- Add some posts of type Products, assign them to category Photographs
- go to the blog page and the Categories widget lists Photographs as a category
- click on Photographs
- the ""Nothing Found"" post is shown.

There are no normal posts of category Photographs, but the widget lists a category that returns nothing.  I would have expected the widget not to list a category that has no normal posts.
"	pkwooster
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
21046	"Dashboard ""Right Now"" widget hook should be right_now_end, not rightnow_end"		Widgets	3.4	normal	minor	Awaiting Review	defect (bug)	new		2012-06-22T07:35:20Z	2012-06-22T07:35:20Z	"In /wp-admin/includes/dashboard.php , the following callback is used:

{{{
do_action( 'rightnow_end' );
}}}

However, [http://codex.wordpress.org/Plugin_API/Action_Reference#Dashboard_.22Right_Now.22_Widget_Actions the documentation] and logic (for consistency with `right_now_content_table_end`, `right_now_table_end`, etc) would tell us that the hook should actually be called `right_now_end`."	schreifels
21287	Fix Widgets Helper position on start event - sortable		Widgets	3.4.1	normal	normal	Awaiting Review	defect (bug)	new		2012-07-16T09:33:24Z	2012-12-13T12:31:33Z	"the widget helper moves (jumpes) to the left, to the parent left position... 

in Firefox this is not a bug but in chrome it does.

please take a look in the screenshot, the helper jumped to the left....

http://wpimpact.com/wp-content/uploads/2012/07/Untitled-2.png

I tried to use the :

{{{
ui.helper.css('left', ui.placeholder.position().left)
}}}
 
code but chrome does not set a placeholder position, I don't know why, maybe a chrome bug or in jQuery. 

"	alexvorn2
11160	Inconsistancies in Naming and Using Sidebar Names and IDs.	azaozz	Widgets	2.9	normal	normal	Future Release	defect (bug)	new	needs-unit-tests	2009-11-17T12:58:55Z	2012-11-22T03:18:21Z	"register_sidebar() allows more sidebar names and IDs to be registered than dynamic_sidebar() recognizes as valid names and IDs.

For example, register_sidebar() allows me to name a side bar ""1"" with a id of ""first"". I don't know why anyone would choose those values, but register_sidebar() allows it [1].

{{{ register_sidebar( array('name' => 1, id => 'first') ); }}}


dynamic_sidebar() will not be able to find the sidebar given its name (1).
{{{
    if ( is_int($index) ) {
        $index = ""sidebar-$index""; /// 1 becomes 'sidebar-1'
        ...
}}}
The main problem is that dynamic_sidebar() is trying to process both IDs and names through the same variable ($index) while register_sidebar() separates the two with an array ( array('name' => 'Top', 'id' => 'sidebar-1' ).

According to the in-line docs for dynamic_sidebar():

    It is confusing for the $index parameter, but just know that it should just work. When you register the sidebar in the theme, you will use the same name for this function or ""Pay no heed to the man behind the curtain."" Just accept it as an oddity of WordPress sidebar register and display.


It does ""just work"" if you never use your own sidebar IDs.


I started looking at this because I wanted to use is_active_sidebar() which tests to see if a dynamic_sidebar() has anything in it. There is no get_dynamic_sidebar(). dynamic_sidebar() sends everything to the browser or returns false.
{{{
    register_sidebar( array('name' => 'Top') ); // id defaults to ""sidebar-1""
    ...

    if ( is_active_sidebar('Top') )
        dynamic_sidebar('Top');
}}}
Which fails because is_active_sidebar() just completely skips over searching for an id to go with a name. To get it to work you need to know when it was registered. Not something theme authors and designers are going to follow easily. There's a ticket to fix this: [http://core.trac.wordpress.org/ticket/10440 #10440]
{{{
    if ( is_active_sidebar(1) )
        dynamic_sidebar('Top');
}}}
Like dynamic_sidebar(), is_active_sidebar() converts 1 to ""sidebar-1"". Unlike dynamic_sidebar() it assumes everything is entered as an id.


unregister_sidebar() assumes its parameter (incorrectly named $name, not $id) is an id. But it wants a literal id, like ""sidebar-1"". unregister_sidebar(1) unregisters a sidebar with an id of 1, while dynamic_sidebar(1) tries to display a sidebar with an id of ""sidebar-1"".


=== Widgets (Admin Page) ===

The dynamic_sidebar() function is used by the Widgets management page. So, it is possible to create a sidebar with register_sidebar() that dynamic_sidebar() cannot find. You can populate it with drag and drop [2] and not have it appear on the web site.


== After Patch ==

If committed, this patch would remove the need for tickets [http://core.trac.wordpress.org/ticket/10440 #10440] and [http://core.trac.wordpress.org/ticket/10956 #10956]. It changes the current argument behavior of unregister_sidebar(), but doesn't break backward compatibility. It allows is_active_sidebar(), unregister_sidebar() and dynamic_sidebar() all point to the same sidebar.

=== Before ===

These all refer to the same sidebar:
{{{
	is_active_sidebar(1);
	unregister_sidebar('sidebar-1');
	dynamic_sidebar('Sidebar Top');
}}}

In an admittedly contrived case, dynamic_sidebar() would silently fail to allow this sidebar to show:
{{{ register_sidebar( array('name'=>'Sidebar Top', 'id' => 1) ); }}}



=== After ===
These all refer to the same sidebar (the first two would have broken before the patch):
{{{
	is_active_sidebar('Sidebar Top');
	unregister_sidebar('Sidebar Top');
	dynamic_sidebar('Sidebar Top');
}}}

After the patch this shows fine:

{{{ register_sidebar( array('name'=>'Sidebar Top', 'id' => 1) ); }}}

After the patch it is possible to force an argument to be only a name or only an id:
{{{
	is_active_sidebar(array( 'name' => 'Sidebar Top' ));
	unregister_sidebar(array( 'name' => 'Sidebar Top' ));
	dynamic_sidebar(array( 'id' => 1 ));
}}}



=== Notes ===

[1] register_sidebar() allows the user to override the default setting of: 'id' => ""sidebar-$i"",

[2] When you refresh the Widgets management page the widgets will disappear from the sidebar. They are still attached to a sidebar, but dynamic_sidebar() cannot see the sidebar."	CharlesClarkson
19309	Instantiating any widget with checkboxes defaulted on don't transfer as checked only in IE9.		Widgets	3.2.1	normal	minor	Awaiting Review	defect (bug)	new		2011-11-21T02:26:30Z	2011-12-14T19:47:57Z	"In the Links widget, the first two checkboxes are checked by default if using IE8, FireFox or Webkit. If you use IE9, the first two checkboxes will not be checked after you drop the fresh widget instance into a widgetized region of the template or the inactive widgets region. This appears to be an incompatibility between IE9 and a JS library used for copying the data. I do see the proper checked=""checked"" parameter in the source code of the primary instance and all saved instances. It just doesn't instantiate that parameter in the drag and drop action.

A community plugin we developed also exposes this IE9 / JS library bug: http://wordpress.org/extend/plugins/becounted/

I found a developer discussion and possible fix related to a non WP application here: https://github.com/SteveSanderson/knockout/issues/89

Thank you!"	beautomated
20770	Introduce AJAX response message		Widgets	3.4	normal	minor	Awaiting Review	defect (bug)	new	has-patch	2012-05-29T02:34:09Z	2012-07-05T23:45:10Z	"when clicking on Save button of a widget, a error should appear if the user is logged out.

So after clicking the button the wpspin animated images disappears and nothing happens. This can be a problem if the current user think he is logged in and he is not, the settings just will not be saved.

Sometimes the server is not working.

Need to adjust the javascript code and php:
in php we can use die function : die('1') or die('success');

in javascript something like this: 			
{{{
$.post(ajaxurl, data, function(response){
   if (response === 'success') {} else { alert('Fail to save'); } 
});
}}}

http://wpimpact.com/wp-content/uploads/2012/05/Untitled-4.png
"	alexvorn2
22253	Keep widget areas (and widgets) expanded upon page refresh in admin		Widgets	3.4.2	normal	normal	Awaiting Review	defect (bug)	new		2012-10-22T11:02:10Z	2012-10-22T11:02:10Z	"This is a minor annoyance but noticeable one.

Every time you reload the Appearance -> Widgets admin page, the widget areas (and widgets) currently expanded become closed when the page is refreshed."	dgwyer
8910	Limit the RSS widget from using its own url		Widgets	2.8	high	major	Future Release	defect (bug)	reopened		2009-01-21T19:40:59Z	2012-02-06T08:15:20Z	"'''NOTE:''' Copied from [http://trac.mu.wordpress.org/ticket/852] since 'This is really a WP issue, not strictly MU. Can you open a ticket in WP's trac?'

I admit that this is not a well conceived thought but I wanted to throw it out.

There's some discussion on the premium site about individual blogs using their rss widgets to display their own feeds. This of course causes issues with an unnecessary rss feed pull as well as old data since the feeds are cached.

May I suggest a check to see if the inputted RSS feed matches the individual blog's own rss feed, kick it out with an error and suggesting to the user that they use the Latest Posts widget instead?

Marking this as 2.8 as it's not a high priority. "	webmaestro
19695	Links widget does not generate width or height attributes when showing an image		Widgets	3.3	normal	normal	Awaiting Review	defect (bug)	new	dev-feedback	2011-12-30T07:10:48Z	2011-12-31T07:41:57Z	"It's a best practice to include width and height attributes in image tags to prevent reflows when the browser renders the page. Both PageSpeed and YSlow include rules that measure this.

{{{_walk_bookmarks()}}} in {{{/wp-includes/bookmark-template.php}}} does support adding images to the output of the Links widget. However, it doesn't output the width or height attributes.

It is possible to size images with CSS instead of by tag attributes (and PageSpeed rules consider this acceptable). But it doesn't seem ideal to force users to set dimensions in CSS, when the Link edit page doesn't accept CSS directly. Plus, I think it's best to have all the meta info about something in one place, not to set an image in a WP link, and then the dimensions in a theme's CSS file."	mbijon
12342	New widget option after calling register_widget creating empty widget	azaozz	Widgets	2.9.2	normal	normal	Future Release	defect (bug)	new	dev-feedback	2010-02-23T00:36:39Z	2010-11-13T07:45:48Z	"After I register a new widget class that has never been registered before, navigate to the widgets.php admin page and allow the option to be created automatically. The option value looks like this as serialized data:

{{{
a:2:{i:2;a:0:{}s:12:""_multiwidget"";i:1;}
}}}

As you can see there is an empty widget in there for some reason. Basically the unserialized option value looks like the following as an array:

{{{
array( '2' => array(), _multiwidget => 1 );
}}}

This is odd behavior since the first multi number has always started at 2, but with that previous array in there it starts at 3, and randomly which is what irks me. i can't seem to find when it happens or a pattern, so naturally this feels like a bug.

As this does not seem to break anything with the core functionality of WordPress, I would say this is normal priority. What this does do is pose many questions for those of us that dive deep into the Widget API, where our plugins and the functionality of them are dependent on how these things work. My widget plugin is quite large, and I need to know if I can depend on the first multi number of a widget when the class is first registered.

If this is not a bug, and normal functionality, I apologize, and would like to ask for a heads up on the subject.

Thank You,
Jim Isaacs"	jimisaacs
22010	RSS Widget with hardcoded icon and style		Widgets		normal	normal	Awaiting Review	defect (bug)	new		2012-09-26T22:13:58Z	2012-09-26T22:13:58Z	"Standard RSS Widget outputs hardcoded icon and oldschool inline style=""border:0"" e.g.

{{{
<img style=""border:0"" width=""14"" height=""14"" src=""http://zdrojak.lamp.wikidi.net/wp-includes/images/rss.png"" alt=""RSS"">
}}}


this makes it hard to style (even more that the parent anchor has the same css class as following title, so you can't even hide it without some css3 only magic (:first)

IMO this part of WP_INC/default-widgets.php row 766-777


{{{
		$icon = includes_url('images/rss.png');
		if ( $title )
			$title = ""<a class='rsswidget' href='$url' title='"" . esc_attr__( 'Syndicate this content' ) .""'><img style='border:0' width='14' height='14' src='$icon' alt='RSS' /></a> <a class='rsswidget' href='$link' title='$desc'>$title</a>"";
}}}
+ line 764

should be replaced by standard way e.g.

{{{
		$title = apply_filters( 'widget_title', empty( $instance['title'] ) ? __( 'RSS' ) : $instance['title'], $instance, $this->id_base );
}}}


so when someone wants to output there an icon, he could simply with the widget_title filter"	thomask
15060	Removing title on widget doesn't modify in-widget-title span		Widgets		normal	normal	Future Release	defect (bug)	new	has-patch	2010-10-07T17:09:22Z	2011-01-13T07:38:41Z	"In the widget editor, widgets with titles have this title shown in the widget editor container title. For example:

{{{
Text: Sample Widget
}}}

When a widget is first modified and saved, adding a title will cause this widget editor container title to update via JS to reflect the title update. Subsequent modifications of the title will also be reflected. However, if the title is removed, the previous title will remain.

Looking at the code shows that the in-widget-title span that holds this widget editor container title is only updated if the title value is not empty. This is easily tested by adding a Text widget, giving it a title, clicking Save, confirming that the title is reflected in the container, removing the title, and clicking Save again.

The supplied patch modifies the JS that handles this process and causes it to always update the in-widget-title span, even when the title entry is empty or missing."	chrisbliss18
17453	Some default widgets break XHTML pages		Widgets	3.1.2	normal	major	Awaiting Review	defect (bug)	new	has-patch	2011-05-16T10:47:49Z	2011-05-16T10:47:49Z	Some default widgets use HTML named character references, which breaks webpages when served as application/xhtml+xml.	peaceablewhale
19846	Specify 'primary' sidebar, so widgets land in correct sidebar when changing themes		Widgets	3.3.1	normal	normal	Awaiting Review	defect (bug)	new		2012-01-16T21:49:42Z	2012-06-25T19:58:19Z	"With the improvements to widget handling in 3.3, the widgets in a previous theme's sidebar are transferred to your current theme's sidebar. But there's no way to specify which sidebar should receive them.

For example, when you activate the Genesis theme it has three widget areas:
- Header Right
- Primary Sidebar
- Secondary Sidebar

If you install a fresh copy of WP and then activate Genesis, the Header Right widget area is populated with the 6 default widgets ( http://twitpic.com/8618x5 ). It's definitely not ideal for new users unfamiliar with this.

It would be great if there were some way to specify a primary sidebar when registering it, and that's the one the default widgets flow into. 


{{{
register_sidebar( array( 'name' => 'Primary Sidebar', 'id' => 'primary-sidebar', 'primary' => true );
register_sidebar( array( 'name' => 'Secondary Sidebar', 'id' => 'secondary-sidebar' );
// Default: 'primary' => false
}}}

There might be better ways to handle this, but I think it should be done in WP core. If it's up to the themes to solve, we'll have to use solutions like this: https://gist.github.com/1623202"	billerickson
16773	Unescaped preg_match breaks with PHP 5.3 Namespaced Widget Classes.		Widgets	3.1	normal	minor	Awaiting Review	defect (bug)	new	has-patch	2011-03-06T13:31:25Z	2012-11-28T17:05:18Z	"In file '''/wp-admin/includes/widgets.php''' at line '''118''' in function '''next_widget_id_number''' we have:

{{{
preg_match( '/' . $id_base . '-([0-9]+)$/', $widget_id, $matches )
}}}

It generates very ugly warnings ''for Namespaced Widget Classes'' as it should cuorrectly be:

{{{
preg_match( '/' . preg_quote($id_base, '/') . '-([0-9]+)$/', $widget_id, $matches )
}}}

Thanks.

'''PS''': ''I think you should do a whole sanity check regarding use of Namespaces and Closures. I'm currently switching completely to PHP 5.3 style and I'll keep you updated if I find other... problems.''"	5ubliminal
14686	Widget Instance Form Update Bug		Widgets	3.0.1	normal	normal	Future Release	defect (bug)	new	has-patch	2010-08-24T21:13:23Z	2013-04-02T10:57:57Z	"Hi.

When dragging and dropping a widget into a sidebar the widget form doesn't get properly updated, unless you manually press the ""Save"" button. However the widget instance data is saved (you can see the widget in the frontend even if you don't press 'save').

This problem is noticeable when you're developing a widget and want to display some widget options in the form based on the widget's location or position. You can't do this because '''$widget->id''' or '''$widget->number''' appear to be initialized within the form() function only after you press Save...

I can provide the code of a test widget if necessary
"	digitalnature
18446	Widget removes fields w/ default HTML on initial save in IE8 and 9		Widgets	3.2.1	normal	normal	Awaiting Review	defect (bug)	new	dev-feedback	2011-08-16T15:51:02Z	2011-08-17T02:43:18Z	"Weird problem, testd in IE8/9, Chrome, and Firefox. If you have a widget, with HTML in the default value, IE8/9 will remove the field entirely. However, if you then paste the HTML back into the field and save, it works fine. This ONLY happens after the initial drag/drop then save of the widget. It even happens if you drag/drop the widget, change the field and click save.

Example Plugin: http://wordpress.org/extend/plugins/ft-calendar/
Widget: Upcoming Events Widget

The Event Template (event_template) is set by default to: 
{{{
<a href=""%URL"">%TITLE%</a>
}}}

The event_template  source for the Available Widget is:
{{{
<input type=""text"" value=""&lt;a href=&quot;%URL%&quot;&gt;%TITLE% (%TIME%)&lt;/a&gt;"" name=""widget-ft_cal_event_list[__i__][event_template]"" id=""widget-ft_cal_event_list-__i__-event_template"" class=""widefat"" />  
}}}
 
The event_template source for the widget after it is dragged to a widget area is:
{{{
<input type=""text"" value=""&lt;a href=&quot;%URL%&quot;&gt;%TITLE% (%TIME%)&lt;/a&gt;"" name=""widget-ft_cal_event_list[8][event_template]"" id=""widget-ft_cal_event_list-8-event_template"" class=""widefat"" /> 
}}}

The source for the widget after it is first saved is:
{{{
<input type=""text"" value=""&lt;a href=&quot;%URL%&quot;&gt;%TITLE% (%TIME%)&lt;/a&gt;"" name=""widget-ft_cal_event_list[8][event_template]"" id=""widget-ft_cal_event_list-8-event_template"" class=""widefat"" />
}}}

I setup a test to output $new_instance and $old_instance during the ""update"" process.

Step 1: Moving widget from Available Widgets to Widget Area (in IE):
{{{
NEW INSTANCE:
Array
(
    [title] =>
    [date] =>
    [number_of] => 1
    [date_types] => Month
    [limit] => 0
    [timeformat] => g:i a
    [dateformat] => jS
    [date_template] => %DATE%
    [monthformat] => F Y
    [month_template] => %MONTH%
)
OLD INSTANCE:
Array
(
)
}}}

Step 2: Saving widget in Widget Area:
{{{
NEW INSTANCE:
Array
(
    [title] =>
    [date] =>
    [number_of] => 1
    [date_types] => Month
    [limit] => 0
    [timeformat] => g:i a
    [dateformat] => jS
    [date_template] => %DATE%
    [monthformat] => F Y
    [month_template] => %MONTH%
)
OLD INSTANCE:
Array
(
    [title] =>
    [show_rss_feed] => off
    [show_ical_feed] => off
    [date] =>
    [span] => +1 Month
    [number_of] => 1
    [date_types] => Month
    [calendars] =>
    [limit] => 0
    [dateformat] => jS
    [timeformat] => g:i a
    [monthformat] => F Y
    [event_template] =>
    [date_template] => %DATE%
    [month_template] => %MONTH%
    [hide_duplicates] =>
)
}}}

Step 3: Pasting HTML code back into Event Template and saving Widget:
{{{
NEW INSTANCE:
Array
(
    [title] =>
    [date] =>
    [number_of] => 1
    [date_types] => Month
    [limit] => 0
    [timeformat] => g:i a
    [dateformat] => jS
    [date_template] => %DATE%
    [monthformat] => F Y
    [month_template] => %MONTH%
    [event_template] => <a href=""%URL%"">%TITLE% (%TIME%)</a>
)
OLD INSTANCE:
Array
(
    [title] =>
    [show_rss_feed] => off
    [show_ical_feed] => off
    [date] =>
    [span] => +1 Month
    [number_of] => 1
    [date_types] => Month
    [calendars] =>
    [limit] => 0
    [dateformat] => jS
    [timeformat] => g:i a
    [monthformat] => F Y
    [event_template] =>
    [date_template] => %DATE%
    [month_template] => %MONTH%
    [hide_duplicates] =>
)
}}}

Here is a screenr showing the problem not working in IE9 and working in Chrome: http://www.screenr.com/mkhs
"	layotte
23909	Widgets Settings Loaded When No-Needed		Widgets	3.5.1	normal	normal	Awaiting Review	defect (bug)	new		2013-03-30T16:02:05Z	2013-04-03T19:21:32Z	"Hi, This ticket about the performance in the back-end interface .

WordPress run query to get the active widgets settings in every page even in the dashboard ! , This makes the site admin slow especially when the site have many widgets !

You can use '''Debug Bar''' & '''Debug Bar Extender''' plugins to check the queries ."	alex-ye
19444	Widgets page stale when pressing the Back button		Widgets		normal	normal	Awaiting Review	defect (bug)	new		2011-12-04T18:14:26Z	2011-12-05T16:54:31Z	"For several versions of Wordpress (maybe all of them), I've noticed that the Widgets page can be loaded from cache:

[[Image(http://img51.imageshack.us/img51/725/pictureen.png)]]

I'm not sure why this is happening, when the page is first loaded headers are sent including `no-cache, must revalidate, max-age=0`, all of which seems to be done correctly:

[[Image(http://img703.imageshack.us/img703/4526/screenshotwithshadow.png)]]

However, if I load the widgets page, make a change to the order of the widgets, then navigate to another page, and then use the back arrow to go back to the widgets page, a cached version of the widgets page (pre-change) is loaded. This can be especially troublesome if you spend a lot of time making changes and adding and removing widgets, or widget content, then go back to the page and make another change before you realize that the cached page is loaded, because it will overwrite all the changes that you had just previously spent so much effort on.

One possible solution would be to load all the widgets with AJAX if javascript is available, or possibly re-check that the correct widgets are in place with AJAX after the page loads (and use Javascript to reload the page again if they are not). The latter method would also enable the page to be loaded using standard methods if Javascript was not enabled."	willshouse
22116	bug in dynamic_sidebar function		Widgets	3.4.2	normal	normal	Future Release	defect (bug)	new	has-patch	2012-10-06T12:19:48Z	2013-05-21T19:46:58Z	"In the dynamic_sidebar function is for displaying the right sidebar, by id, but in the code it is searched by name:


{{{
function dynamic_sidebar($index = 1) {
	global $wp_registered_sidebars, $wp_registered_widgets;

	if ( is_int($index) ) {
		$index = ""sidebar-$index"";
	} else {
		$index = sanitize_title($index);
		foreach ( (array) $wp_registered_sidebars as $key => $value ) {
			if ( sanitize_title($value['name']) == $index ) {
				$index = $key;
				break;
			}
		}
	}


}}}

must be changed to :

{{{

function dynamic_sidebar($index = 1) {
	global $wp_registered_sidebars, $wp_registered_widgets;

	if ( is_int($index) ) {
		$index = ""sidebar-$index"";
	} else {
		$index = sanitize_title($index);
		foreach ( (array) $wp_registered_sidebars as $key => $value ) {
			if ( sanitize_title($value['id']) == $index ) {
				$index = $key;
				break;
			}
		}
	}
}}}

"	alexvorn2
24283	is_active_widget() incorrect logic		Widgets		normal	normal	Awaiting Review	defect (bug)	new		2013-05-08T07:07:41Z	2013-05-08T08:08:37Z	"`is_active_widget()` only returns 'true' only if widget used inside sidebar.

But there is a provision to use widget directly using `the_widget()` function. I believe there is a need of alter the logic of just checking inside sidebars."	valllabh
23423	sanitize_title() in dynamic_sidebar() restricts the use of specific characters for sidebar IDs		Widgets	2.2	normal	normal	Awaiting Review	defect (bug)	new		2013-02-08T13:25:00Z	2013-02-19T05:20:42Z	"In the dynamic_sidebar() function in wp-includes/widgets.php uses sanitize_title() on the given index when it looks for a sidebar with a name that matches the index. After that it leaves the index value sanitized making it impossible to use characters not allowed by sanitize_title() in a sidebar ID.

By not overwriting the given index value with the sanitized version it would still be possible to use any character for the ID. To achieve this, lines 847-853

{{{
$index = sanitize_title($index);
foreach ( (array) $wp_registered_sidebars as $key => $value ) {
	if ( sanitize_title($value['name']) == $index ) {
		$index = $key;
		break;
	}
}
}}}

should be replaced with


{{{
$sanitized_index = sanitize_title($index);
foreach ( (array) $wp_registered_sidebars as $key => $value ) {
	if ( sanitize_title($value['name']) == $sanitized_index ) {
		$index = $key;
		break;
	}
}
}}}"	paulvandermeijs
19450	the_widget won't replace the widget class if not using the default sidebar arguments		Widgets	3.2.1	normal	minor	Future Release	defect (bug)	new	has-patch	2011-12-05T21:29:41Z	2012-04-27T19:31:04Z	"

When using the_widget(), the $before_widget argument only receives the widget class if using the default sidebar arguments...

on lines 1129 - 1130 of wp-includes/widgets.php (wp 3.3 rc 1)


{{{
$before_widget = sprintf('<div class=""widget %s"">', $widget_obj->widget_options['classname'] );
$default_args = array( 'before_widget' => $before_widget, 'after_widget' => ""</div>"", 'before_title' => '<h2 class=""widgettitle"">', 'after_title' => '</h2>' );

$args = wp_parse_args($args, $default_args);
}}}


could be replaced by:


{{{
$default_args = array( 'before_widget' => '<div class=""widget %s"">', 'after_widget' => ""</div>"", 'before_title' => '<h2 class=""widgettitle"">', 'after_title' => '</h2>' );

$args = wp_parse_pargs($args, $default_args);
$args['before_widget'] = sprintf($args['before_widget'], $widget_obj->widget_options['classname']);
}}}
"	Felipelavinz
14876	wp_get_sidebars_widgets() assumes that widgets are enabled		Widgets		lowest	minor	Future Release	defect (bug)	reopened		2010-09-15T02:05:43Z	2010-12-04T09:34:28Z	"When a theme does not have any sidebars defined, wp_get_sidebars_widgets() will return the database option anyway.

This reveals a bug where a theme that does not have any widgets may still get the recent comments CSS injected into it. is_active_widget() is returning true because that widget was active when the sidebar option was last used."	nacin
19709	Add 'before_sidebar' and 'after_sidebar' attributes to register_sidebar()		Widgets	3.3	normal	normal	Awaiting Review	enhancement	new		2012-01-01T19:30:15Z	2012-01-01T19:30:15Z	"Whilst experimenting with some code recently I needed to have each widget area wrapped inside a container with the widget id as the container CSS class/id.

If used in a theme this widget area container usually has to be hard coded. This is the case for Twenty Ten, and Twenty Eleven.

It occurred to me that it would be very useful to have an extra couple of attributes available in register_sidebar() such as 'before_sidebar' and 'after_sidebar' so that developers have a consistent way to automatically add a wrapper to each widget area.

It would be additionally useful if you could do something like this to add the widget area id as the wrapper CSS class/id as required:

`'before_sidebar' => '<div class=""%3$s"">'`
`'after_sidebar' => '</div>'`

or

`'before_sidebar' => '<div id=""%3$s"">'`
`'after_sidebar' => '</div>'`

If this feature is considered then I'm not sure whether 'before_sidebar' or 'before_widget_area' is a better choice for the attribute name."	dgwyer
19675	Add a jQuery triggers to the widget save action		Widgets	3.3	normal	major	Awaiting Review	enhancement	new		2011-12-27T18:02:52Z	2011-12-28T01:59:14Z	"Line 241 (widgets.dev.js):

{{{
$(document).trigger('saved_widget);
}}}

or something...

This way we could nicely hook our own js on that ""saved_widget"" event, instead of stuffing our js inside the widget form function.

This is relevant for all events created by WordPress in the administration area, not just widget-save. 

Think of it like ""add_action"" for javascript..."	digitalnature
16648	Add actions/filters to wp_widget_rss_output		Widgets	3.1	normal	normal	Awaiting Review	enhancement	new	dev-feedback	2011-02-24T18:03:40Z	2011-02-24T19:20:26Z	"There is no way to filter/modify output of the function wp_widget_rss_output contained in [http://core.trac.wordpress.org/browser/trunk/wp-includes/default-widgets.php default-widgets.php]

It would be nice to be able to filter the `<a>` tags so that attributes such as `class=` or `rel=` can be added."	dangayle
10976	Add before_content and after_content to widget options	azaozz	Widgets		normal	normal	Future Release	enhancement	reopened	dev-feedback	2009-10-19T08:17:10Z	2012-10-01T11:26:58Z	"Hi,

I'd like to request adding a two new parameters to the widget array for easier customization when creating themes.

Parameters are : before_content and after_content (naming can be different)

Basicaly we have now before_widget, after_widget, before_title and after_title and it's working great, but if while creating a theme you'd like to add more complexity to the graphics surrounding widget you have to add more divs etc. to make it work and look great, and if you got some divs or anything else between title and content you got a problem. Sure you can put the code in the after_title and it will work, but what in case if someone will decide to leave the title empty ? Your widget lacks code and your theme messes up.

Please consider it! :)"	newkind
5770	Add extra options for default tag-cloud widget		Widgets	2.5	low	minor	Future Release	enhancement	reopened	has-patch	2008-02-05T12:03:18Z	2009-10-13T21:59:19Z	"The default tag cloud widget only allows changing the title that appears above the tag cloud in the sidebar.

This patch allows use of more configurable options in wp_tag_cloud(), ie smallest, largest, unit, number, format, orderby, order."	AndrewFrazier
20127	Add filter in dynamic_sidebar() to modify sidebar index	andrewryno	Widgets	3.3.1	normal	normal	Awaiting Review	enhancement	new	has-patch	2012-02-27T00:06:06Z	2012-02-27T00:06:06Z	Use case: changing sidebars depending on the page/post/etc loaded through a plugin. Nothing too complex, just no way to do it. There is a filter dynamic_sidebar_params but that isn't called until later on in the function after the widgets have been collected for that sidebar.	andrewryno
23951	Add filter to all sidebar widget content		Widgets		normal	normal	Awaiting Review	enhancement	new	dev-feedback	2013-04-05T18:53:20Z	2013-05-15T21:40:41Z	"I'm looking for opinions of other people here before proposing an approach for this.

What I'm missing, as far as widgets are concerned, is a filter for changing widget content. I would suggest something along the lines of a filter for the content in WP_Widget's display_callback method.

Using this, small changes could be made to widgets while still maintaining upgradability when the plugin, core or theme updates the widget — something that is not the case when extending the widget and overriding the widget method."	Jesper800
20788	Add widget instance argument to widget_links_args filter		Widgets	3.3.2	normal	normal	Awaiting Review	enhancement	new	dev-feedback	2012-05-30T09:07:13Z	2012-09-13T09:25:07Z	"Using the `widget_links_args` filter (used in the default Links Widget class) as it is right now is a bit useless because one does not have access to the widget instance that applies the filter.

Widget instance may contain custom variables set by custom fields that may have been added to the widget form by plugins or themes using other filters.

Being able to access widget instance from within the filter function gives developers lots of possibilities to customize the widget.

My suggestion is simple: add `$instance` argument to the `widget_links_args` filter, like this (wp-includes/default-widget.php line 113):
{{{
wp_list_bookmarks(apply_filters('widget_links_args', array(
	'title_before' => $before_title, 'title_after' => $after_title,
	'category_before' => $before_widget, 'category_after' => $after_widget,
	'show_images' => $show_images, 'show_description' => $show_description,
	'show_name' => $show_name, 'show_rating' => $show_rating,
	'category' => $category, 'class' => 'linkcat widget'
), $instance ));
}}}"	ragulka
20790	Add widget_title filter to Links Widget		Widgets	3.3.2	normal	major	Awaiting Review	enhancement	new	dev-feedback	2012-05-30T09:23:29Z	2012-05-30T09:24:39Z	"Currently the Links Widget is the only default widget that doesn't support the widget_title filter. This is inconsistent and creates problems when plugin or theme authors want to filter widget titles - every other widget's title get's filtered, but not the Links WIdget.

Right now, displaying widget title is basically delegated to the wp_list_bookmarks function.
While this works, I suggest that this should be changed to be more consistent with other widgets - displaying widget title should really be the widget class job, not wp_list_bookmarks.

It should work with the existing wp_list_bookmarks function by specifying the categorize argument to be false."	ragulka
13019	Allow multiple category widget dropdowns	azaozz	Widgets	3.0	low	minor	Future Release	enhancement	new	has-patch	2010-04-15T18:13:31Z	2010-10-30T19:30:13Z	"Although this may be a somewhat trivial and silly use of category widgets, currently placing two category widgets onto the same page with the dropdown option set results in having duplicate javascript and duplicative identified select boxes.

Whilst the instance of each widget is unique, the select boxes displayed at not given unique IDs or Names, resulting in valid markup, and resulting in only the secondary select box operating correctly. The JS var gets redeclared by the duplicative script, which gives precedence to the second dropdown.

One use case would be a page that lists long archives and shows a jump menu at both the top and bottom of the page. This would have to be done directly in the template due to the widget restrictions at present.

I am attaching a patch that adds a static counter into the category widget function, and gives each dropdown a unique identifier ID/Name, allowing simultaneous use of several category dropdowns, the JS function is updated appropriately to.

Code tested on IE7 and FF3, functionality remains the same as the original code, minus the limitation mentioned above.

Feedback is appreciated, and please do re-tag if necessary."	t31os_
18671	Allow themes to set default widgets		Widgets	3.3	normal	normal	Awaiting Review	enhancement	new		2011-09-15T06:52:41Z	2012-09-16T13:24:25Z	"Rather than having to use a hard-coded fallback HTML sidebar, it'd be cool if a theme could set up default widgets.

#17979 will somewhat remove the need for this but it could still be useful."	Viper007Bond
12219	Comments on attachments don't appear in Recent Comments Widget	azaozz	Widgets	2.9.1	normal	normal	Future Release	enhancement	new	has-patch	2010-02-13T12:41:39Z	2010-05-04T15:58:26Z	"Comments on attachments don't appear in Recent Comments Widget.

This is the same in 2.9.1 (and probably many other previous versions) and the patch will work with the older version as well."	tfnab
19838	Don't display before_title and after_title if title is empty in widgets		Widgets		normal	minor	Awaiting Review	enhancement	new	has-patch	2012-01-15T19:56:56Z	2012-01-15T23:34:30Z	"Hi

it's not necessary displaying before/after_title if $title is empty

Example:
wp-calendar don't have a title, so don't display $before_title and $after_title

Solution suggestion:
return false if filter widget_title notices that $title is empty

Thank you"	Xarem
21485	Exclude current post from Recent Posts widget		Widgets		normal	normal	Awaiting Review	enhancement	new	has-patch	2012-08-05T23:16:56Z	2012-08-11T21:13:08Z	"Checking demo site - http://twentytwelvedemo.wordpress.com/

If you visit any recent post like this one - http://twentytwelvedemo.wordpress.com/2012/03/28/road-trips/

The recent post widget on right sidebar include this post in recent 5 post. We could just exclude present post from the loop using code like this



{{{
<?php
				global $post;
				$args=array(
					""numberposts""=>5,
					""orderby""=>""post_date"",
					""post__not_in""=>array($post->ID)
				);
				
				$posts = get_posts($args);
	
				foreach($posts as $post) {
					setup_postdata($post);
?>
}}}

Most theme has it. If you are already in a post which is among recent 5, no point of showing it in the loop.
"	Asif2BD
16613	Extend Widget API to allow sidebar/widget manipulation		Widgets	3.1	low	normal	Awaiting Review	enhancement	new	dev-feedback	2011-02-21T22:55:17Z	2013-01-21T17:27:26Z	"There is currently no easy way to add a widget to a sidebar using code. We should add methods of doing this.

A good example usage of such an API could be when a new theme is activated, it could add it's custom widgets to it's sidebar.

API should provide support for adding widget X to sidebar Y (or even just the first sidebar) along with setting some options for the widget and where in the sidebar to add it (top vs. bottom)."	Viper007Bond
20542	Extend register_widget to allow passing params as second argument	codearachnid	Widgets	3.4	normal	normal	Future Release	enhancement	new		2012-04-25T11:56:19Z	2012-05-15T20:24:50Z	"I ran into an issue recently where I needed to make multiple calls of `register_widget('my_custom_class');` on the same class and have multiple unique widgets registered. 

The problem I ran into is that every time the same class is called it will overwrite the last instance of the same class during the widget constructor request `parent::__construct('unique_id', 'widget title');` This does not allow for reuse of the same class to instantiate multiple widgets. I found that if I were to extend the register method in WP_Widget_Factory to pass through arguments into the extended WP_Widget constructor that I can reuse the same class for multiple widget registations. I am working out the logic to implement this directly into /wp-includes/widgets.php for future functionality improvement."	codearachnid
19587	JavaScript hooks for widgets		Widgets		normal	normal	Awaiting Review	enhancement	new		2011-12-17T15:39:56Z	2012-07-05T21:27:15Z	"Hi,
When a new widget is added to the sidebar, the javascript does not load for that widget. for example, if I just installed a plugin like  iCalendar Events Widget or live countdown timer (bare with me, it's not the plugin that's faulty and I'll tell you why) and after installation I want to add it to the sidebar, I go to the widgets area under prefferences and drag and drop it. 

'''The bug is this:''' untill I refresh the page, the jquery won't work for anything in that widget. Both of the plugins mentioned above have a datepicker (from jquery-ui-core) popup that shows once a textbox or button is clicked. if the widget has just been added, the jquery that's supposed to run and show the calendars does not work until the page is refreshed.

I received a ""not working"" status because of this and people complained that my plugin (live countdown timer) is broken. On further investigation, I found out that it was because !WordPress is not loading the javascript when first adding the widget in the sidebar and a refresh is required."	ciprian_vb
14132	Login widget using wp_login_form(); function	azizur	Widgets	3.1	normal	normal	Future Release	enhancement	assigned	has-patch	2010-06-28T18:51:07Z	2011-01-08T22:52:03Z	"In wordpress 3.0 we added the [http://codex.wordpress.org/Function_Reference/wp_login_form wp_login_form();] function.

But if a blog owners don't know PHP he can't  add a login form to his blog.

Adding a widget (that uses this function) will make it easyer for users to do this.
"	ramiy
21165	Make categories widget work with custom taxonomies		Widgets		normal	normal	Future Release	enhancement	new	has-patch	2012-07-05T14:15:13Z	2013-05-02T14:17:27Z	"The tag cloud widget already has a taxonomy dropdown.

We should add one for the categories widget as well."	scribu
16173	Make the Calendar widget support custom post types	GautamGupta*	Widgets	3.1	normal	normal	Future Release	enhancement	accepted		2011-01-10T05:35:22Z	2011-09-22T02:14:00Z	The Calendar widget should have support for custom post types (much like how the tag cloud widget supports custom taxonomies) so that the plugins could just have `supports => array( ... 'calendar' ... )` and the calendar would display that post type in the option box (this is just an example, used in the patch I'm gonna attach, we may use some other arg, of course).	GautamGupta
16581	Meta widget: properly redirect user after logging in / out		Widgets	3.1	normal	normal	Awaiting Review	enhancement	new		2011-02-17T19:20:11Z	2011-02-18T02:11:07Z	"Inside Meta widget, there's a login link. However, the href attribute doesn't contain a redirection query argument.

So, there's a usability problem when someone is reading a post and want to comment, but can't because he's not logged in (and the blog requires logging in to comment). After logging in using the link inside Meta widget, the user is redirected to the admin area, instead of to the post he was reading. It would be a few clicks too many to go back to the post to comment.

The same thing can be applied to the Log out link (when the user's currently logged in). Instead of showing the blank `wp-login.php` form, he should be redirected back to the page where he clicked the link."	garyc40
20988	Open a closed sidebar box and enable droppable/sortable in it when you hover a draggable available widget over it	ldebrouwer	Widgets	3.4	normal	normal	Awaiting Review	enhancement	new		2012-06-16T10:27:24Z	2012-06-16T11:00:29Z	"At the moment you have to explicitly open a sidebar box to allow it to except available widgets. In my humble opinion this is bad UX and the sidebar box should expand automatically when being hovered over with a draggable and it should accept the draggable to it's containing droppable/sortable as well.

The obstacles to overcome:
- Since the draggable in most cases overlaps the sidebar box when dragging over it ( unless you move really quickly ) it's hard to register a 'mouseenter'. This could be solved by setting the 'cursorAt' option for the draggable.
- Opening a sidebar box is trivial but activating the droppable/sortable only seems to kick in when the draggable has been released."	ldebrouwer
13524	Open closed widget areas when dragging onto them		Widgets	3.0	low	minor	Future Release	enhancement	new	has-patch	2010-05-24T18:48:17Z	2012-01-06T01:34:18Z	Right now if you start dragging a widget in the widget admin and drag it over a closed widget area, you have to let go once, open up the widget area, then drag again. Make it so closed widget areas open up when you drag things onto them, perhaps after a slight (500ms?) delay.	mitchoyoshitaka
10457	Parse shortcodes in text widgets by default	westi	Widgets	2.8	normal	normal	Future Release	enhancement	reopened		2009-07-21T11:27:06Z	2012-03-28T20:10:31Z	Currently, shortcodes are only parsed within post content. It would, to my mind, be a nice enhancement to allow them to be parsed from within text widgets as well. The implementation is trivial, so the only real question is what problems this might throw up.	ionfish
23012	Refresh the code for the default widgets	Viper007Bond*	Widgets	3.5	low	minor	Future Release	enhancement	accepted		2012-12-20T01:49:37Z	2012-12-21T21:28:45Z	"The default widgets serve as examples for many people to make new widgets. We should make sure they're up to date in terms of coding standards and best practices. There's many places where this is not the case.

A few examples:

* `$instance['text'] = stripslashes( wp_filter_post_kses( addslashes($new_instance['text']) ) );`
* `$text = esc_textarea($instance['text']);` rather than at output

Also tons and tons of formatting issues.

I'll volunteer to take this on."	Viper007Bond
23520	Rename sidebars to something more appropriate		Widgets		normal	normal	Awaiting Review	enhancement	new		2013-02-19T08:38:12Z	2013-02-19T13:43:59Z	"The things that we put widgets into are no longer just sidebars. Maybe they never were just sidebars. Widgets go into areas that can literally be displayed anywhere within themes.

Proposal: rename ""Sidebars"" to ""Widget Areas"".

Discuss."	johnbillion
20180	Should wrap all links in a div		Widgets		normal	normal	Awaiting Review	enhancement	new		2012-03-05T19:43:51Z	2012-03-06T02:28:10Z	"The links widget creates a separate div for every category. This does not allow to style all categories at once.

Please wrap all links into one more level of div."	porton
23083	Tag balancing for text widgets		Widgets		normal	normal	Awaiting Review	enhancement	new	has-patch	2012-12-30T09:11:18Z	2013-01-29T20:58:48Z	"Based on inspecting the code it looks like tag balancing is not applied to th content of the text widget. 

IMO people are more likely to produce broken HTML when adding HTML in a text widget then when writing post, but tag balancing is done only for posts and comments (in which HTML is rarely used)."	mark-k
16125	Tag cloud widget: hide dropdown when there's only one taxonomy	GautamGupta*	Widgets	3.1	normal	normal	Future Release	enhancement	accepted	dev-feedback	2011-01-06T18:56:09Z	2012-05-07T16:20:55Z	"~~We should use `get_taxonomies()` instead of `get_object_taxonomies()`. Attaching a patch.~~ [20285]

When there's only one taxonomy to select from, we shouldn't show the dropdown at all.
"	GautamGupta
23120	There should be indication that widget settings have been saved		Widgets	3.5	normal	normal	Future Release	enhancement	new	has-patch	2013-01-04T16:28:05Z	2013-05-14T12:45:51Z	"There's currently no confirmation that adding a widget or changes to a widget have been saved. In some cases(fast hosting and a solid internet connection) the changes are saved so quickly the spinner is barely on the screen at all. I think a best course of action would be to have the word ""Saved"" appear briefly after the spinner goes away. Or perhaps a check mark as that doesn't need to be translated.
Related post on make.wordpress.org: http://make.wordpress.org/ui/2013/01/02/this-morning-i-ran-2-users-through-some/"	jacopo.vip
10364	Usability problem on the Widgets admin interface	azaozz	Widgets		high	minor	Awaiting Review	enhancement	reopened	has-patch	2009-07-09T04:48:56Z	2012-12-30T16:03:45Z	"On the widgets page, when I have lots of widgets available it's a nightmare to drag and drop one by one on the intended sidebar.
I have to scroll down and up the page while keeping the mouse button pressed. 
When someone is using a Notebook and no mouse it's really a pain.
And with all that netbooks today it's even worse.

What I think could be done: just put a toggle button (like the dashboard widgets) on each widget and when someone press this toggle button it opens a menu with some links like: add to sidebar 1, add to sidebar 2,...

This would really be a usability improvement since it's not usable the way it is now. 
And off course the drag and drop doesn't need to be replaced. People should be able to use it either way.
If you have a big monitor, go for drag and drop since you should be able to view all your available widgets on multiple columns without the need to scroll down the page.
Otherwise just click the toggle and Add to sidebar."	vteixeira
24040	"Use ""posts"" instead of ""topics"" (in tagcloud tooltips)"		Widgets		normal	minor	Awaiting Review	enhancement	new		2013-04-11T01:56:36Z	2013-04-11T06:30:42Z	"Hello,

I suggest use ''post(s)'' instead of ''topic(s)'' [http://core.trac.wordpress.org/browser/trunk/wp-includes/category-template.php#L563 here].

""Topics"" is very related to forums (bbPress), while ""Posts"" are more general term I think?

Thanks"	Dianakc
15550	WP_Nav_Menu_Widget needs a filter for args		Widgets	3.1	normal	normal	Future Release	enhancement	new		2010-11-23T21:48:57Z	2011-01-13T08:34:07Z	"I have a very common need to change the walker of a menu printed by WP_Nav_Menu_Widget. The only way to do this is by injecting a new walker on the args array.

By so, I propose changing '''default-widgets.php''':

{{{
function widget($args, $instance) {

	// Get menu
	$nav_menu = wp_get_nav_menu_object( $instance['nav_menu'] );

	if ( !$nav_menu )
		return;

	$instance['title'] = apply_filters('widget_title', $instance['title'], $instance, $this->id_base);

	echo $args['before_widget'];

	if ( !empty($instance['title']) )
		echo $args['before_title'] . $instance['title'] . $args['after_title'];

	wp_nav_menu( array( 'fallback_cb' => '', 'menu' => $nav_menu ) );

	echo $args['after_widget'];
}
}}}

To:
	
{{{
function widget($args, $instance) {

	// Filter for args
	$args = apply_filters('nav_manu_widget_args', $args);

	// Get menu
	$nav_menu = wp_get_nav_menu_object( $instance['nav_menu'] );

	if ( !$nav_menu )
		return;

	$instance['title'] = apply_filters('widget_title', $instance['title'], $instance, $this->id_base);

	echo $args['before_widget'];

	if ( !empty($instance['title']) )
		echo $args['before_title'] . $instance['title'] . $args['after_title'];

	wp_nav_menu( array( 'fallback_cb' => '', 'menu' => $nav_menu ) );

	echo $args['after_widget'];
}
}}}
"	brodock
12354	WP_WidgetArea class		Widgets		normal	normal	Future Release	enhancement	assigned	dev-feedback	2010-02-23T22:02:48Z	2010-06-25T17:19:31Z	"After a short discussion involving the state of the Widget API within another ticket's comments, it was proposed to me to create new ticket on this subject.

The idea is that in updating the Widget API, like the WP_Widget class, widget areas will have a similar registry structure.

In my opinion though, I believe that for backwards compatibility it should be integrated but remain separate from the current API for controlling sidebars, also like the WP_Widget class.

In the previous discussion, I said that a possibility could be creating a WP_WidgetArea class, and a WP_WidgetArea_Factory class to register and unregister them.

After some thought though, I believe this is pretty much unnecessary.

What is a widget? - It is a GUI module with a client-side and administrative view, wrapping how to control, use, and display data.

It is a form of MVC, and that's basically it! That being realized, I don't see a problem with adding one more default widget to the core:

WP_WidgetArea extends WP_Widget

This will allow dynamic generation of widget areas. Implementing how to edit these areas within the current interface is another story, though I have a kind of hacked logic I am unhappy with working in a released plugin of mine.

In the future, using widgets for widget areas will eventually depreciate the entire sidebar API. It would only depend on one global area to add and pull widgets from (the theme... cough...).

Also, with custom post types now becoming more prevalent, and this is just my imagination talking, widgets could become another form of the post object:

post_type = widget"	jimisaacs
11387	Walker Widget System	ShaneF*	Widgets		normal	normal	Future Release	enhancement	accepted	needs-docs	2009-12-10T16:56:00Z	2011-01-08T19:34:01Z	"This is a new system for Widgets. The design for this system is based on the fact that every theme is different.

Currently the widget system does not care about one theme. It will still output it's own formating structure based on it's design and then bassed on a messy 'register_sidebar' arguments wrap that data inside one another.

The idea behind a Walker Widget system is that instead of the Widget outputing the data, it send it to a Walker where it assigns the relevant information and the theme's ""Widget Design"" class holds how Widget boxes are created based on the values pushed through the walker.

For example in my theme functions.php file:

{{{
class Walker_Widget_Rabbit extends Walker_Widget {

	function start_widget($args, &$output) {
		
		// @todo Updated with the correct vars.
		$output .= do_action('sidebar_before_module', $id);
		$output .= do_action('sidebar_before_module_' . $id);
		
		$output .= sprintf( ""<div id='%s' class='module widget %s'>"", $args['widget_id'], $args['classname'] );
	}
	
	function title_widget($args, &$output) {
		$output .= ""<div class='head'><h3>"" . $args['title'] . ""</h3></div>"";
		/*
		if ((bool) $this->get_option('scrolling') && $scroll['enabled']) { 
			printf(__(""navi: <a id=\""prev_%s\"">prev</a>&nbsp;/&nbsp;<a id=\""next_%s\"">next</a>""), $scroll['key'], $scroll['key']);
		} 
		*/
	}

	function content_widget($args, &$output) {
		$output .= ""<div class='wrap'>"" . $this->content_style($args, $args['output']) . ""</div>"";
	}

	function content_style($args, $output) {
		
		/*
		 * Here I am going to figure out how we are going to wrap most content
		 * and detirme if the information is scrolled information.
		 */

		$style = $args['style'];
		switch ($style) {
			case 'none': 
				$style = $output; 
				break;
			default: 
				$style = ""<ul class='dash-strip'>"" . $output . ""</ul>"";
		}
		return $style;
	}
	
	function content_scroll($args, $area = 'top') {
		//	@todo <div class=""content-scroll-large""> and <div class=""content-scroll"">
	}
	
	function end_widget($args, &$output) {
		$output .= ""</div>"";
		// @todo Updated with the correct vars.
		$output .= do_action('sidebar_after_module', $id);
		$output .= do_action('sidebar_after_module_' . $id);
	}
	
}
}}}

This also allows users to manipulate the data/design even further once they get it from the widget.

I have tested this on the default theme of WordPress with the all 12 of the built in WordPress widgets and they act/look just like if it was hardcoded into the system itself.
"	ShaneF
16443	We need a way to programmatically tell if we are in a sidebar		Widgets	2.2	normal	normal	Future Release	enhancement	new		2011-02-02T20:10:28Z	2012-04-24T13:21:16Z	There is currently no way to tell if you are in_a_sidebar or doing a widget which makes me a sad stallman lookalike.	jorbin
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
23328	While editing widgets in accessibility mode the position can be indicated by widget titles instead of numbers		Widgets		normal	normal	Awaiting Review	enhancement	new		2013-01-30T18:32:33Z	2013-03-04T20:06:35Z	"Guess it title says it all. Right now you need to figure out the position you want the widget to be at and try remember it while editing the widget.

I suggest to change the text text of the position column header from ""position"" to ""position after"" and use labels in the drop down

1 => ""top""

2 => top widget title

3 => second widget title[[BR]]

etc"	mark-k
14466	Widget position uses footer position styling	koopersmith	Widgets	3.0	normal	normal	Future Release	enhancement	reopened		2010-07-30T08:13:12Z	2012-11-07T22:35:08Z	"Hi,

If you add a widget position called Footer with id footer, it has exactly the same id as the footer of the whole admin and because of that the widget position uses the styling from admin footer ie. bigger padding, italic font, darker background. Please see the attached pic.

newkind"	newkind
24008	Widgets title improvement		Widgets		normal	normal	Awaiting Review	enhancement	new		2013-04-09T18:12:17Z	2013-04-09T18:12:17Z	"we have now: 

{{{

$title = apply_filters( 'widget_title', empty( $instance['title'] ) ? __( 'Categories' ) : $instance['title'], $instance, $this->id_base );
}}}


why not to use?


{{{
$title = apply_filters( 'widget_title', empty( $instance['title'] ) ? $this->name : $instance['title'], $instance, $this->id_base );
}}}
"	alexvorn2
17201	dynamic_sidebar performance		Widgets	3.1	normal	normal	Awaiting Review	enhancement	new	dev-feedback	2011-04-21T07:48:22Z	2011-06-29T12:04:49Z	"I've got a few dynamic sidebars (say 6 or 7) and the dynamic_sidebar function spends 1/4 of a second only calling sanitize_title.

See the piece of code on wp-includes/widgets.php:

{{{
	if ( is_int($index) ) {
		$index = ""sidebar-$index"";
	} else {
		$index = sanitize_title($index);
		foreach ( (array) $wp_registered_sidebars as $key => $value ) {
			if ( sanitize_title($value['name']) == $index ) {
				$index = $key;
				break;
			}
		}
	}
}}}

That's occurs evenf if you provide an id, and not the sidebar name.
We could avoid that by checking before trying to use the sidebar name if a sidebar exists with that id.

Like so...
{{{
	if ( is_int($index) ) {
		$index = ""sidebar-$index"";
	} elseif ( empty($wp_registered_sidebars[$index]) || !array_key_exists($index, $sidebars_widgets) || !is_array($sidebars_widgets[$index]) || empty($sidebars_widgets[$index]) ) {
		$index = sanitize_title($index);
		foreach ( (array) $wp_registered_sidebars as $key => $value ) {
			if ( sanitize_title($value['name']) == $index ) {
				$index = $key;
				break;
			}
		}
	}
}}}"	mrubiolvn
22436	escape recent posts widget post titles		Widgets		normal	normal	Awaiting Review	enhancement	new	has-patch	2012-11-14T02:45:27Z	2012-11-14T09:08:13Z	"The recent posts widget escapes the title attribute but does not escape element text. Add an esc_html wrapper to post title values to escape before output.

Example post title: Post about < stuff >"	niallkennedy
12133	get_field_id() and get_field_name() break when passed a name in array format	azaozz	Widgets	2.9.1	normal	minor	Future Release	enhancement	new		2010-02-05T02:17:10Z	2013-01-21T23:13:01Z	"`get_field_name()` and `get_field_id()` are member functions of the widget API which generate the names and ids for fields on the widget admin screen.

A custom widget cannot use an array format name with this function.

For example, 'myfield[]' or 'myfield![3]' is a valid name for an input field, but this name cannot be passed to `get_field_name()` as the function will strip right square brackets from the name.

Patch upcoming when I find the time."	johnbillion
19912	Add Widget Groups and Locations		Widgets	3.3.1	normal	normal	Future Release	feature request	new		2012-01-28T04:54:13Z	2012-04-24T17:00:42Z	"Currently, if a widget cannot be properly matched to a sidebar when switching themes, it is moved to the ""Inactive widgets"" section (debated for quite a while here: #17979).

With the addition of the planned appearance improvements, it would be nice if we could let the user manipulate widgets as a group. Instead of trying to be too clever, we can let the user review where the widgets are positioned in their theme.

Conceptually, this is very similar to how nav menu locations currently operate. Menu items are grouped in menus (created by the user), which can be assigned to menu locations (created by the theme). Likewise, widgets would be organized into groups (created by the user), and could be assigned to widget locations (created by the theme). Currently, ""widget areas"" are on double-duty — they act as both ""widget groups"" and ""widget locations"".

I think the first step is to add the concept of ""widget groups"" into the current API and turn the existing ""widget areas"" into locations mapped to these groups.

If we're looking to compartmentalize the patches, these initial changes could initially be added without modifying the widgets UI. Instead, we could temporarily link a widget group to a widget area behind the scenes. That said, the benefits could only be fully realized with a few tweaks to the widgets UI."	koopersmith
23008	Add a Hook To Hide Inactive Widgets		Widgets	3.5	normal	minor	Awaiting Review	feature request	new	dev-feedback	2012-12-19T19:59:12Z	2012-12-19T20:21:09Z	"Hello,

This is my first feature request so hopefully I'm going through the process correctly. Onto the request...

Adding a hook to remove or hide the Inactive Widgets sidebar on the WordPress Admin Widgets page would be very useful for developers who don't use the area and want to be able to hide it for better UX.

If this is approved I would love to submit a patch.  :)"	BFTrick
20791	Add tolerance: 'pointer' option to widgets		Widgets	3.3.2	normal	normal	Awaiting Review	feature request	reopened	dev-feedback	2012-05-30T11:26:20Z	2012-12-15T16:48:03Z	"I made a conclusion that it's more easy to sort the widgets in a sidebar if is with tolerance: 'pointer' option enabled...

please consider adding this to sortable function of the widgets. "	alexvorn2
20596	Adding more actions to a widget		Widgets		normal	normal	Awaiting Review	feature request	new	dev-feedback	2012-05-02T00:14:28Z	2012-05-02T05:45:48Z	"On the Widget UI, there is a ""Close"" button, aside with the ""Delete"" button, and I that developers should have a way to add more of those.

For exemple, I would see as a good use case when you have a way of previewing the widget.

Because right now the only way is by JS which is kinda of lame.

Thanks,"	webord
16109	Preview wigdets before publish		Widgets	3.1	normal	normal	Future Release	feature request	new		2011-01-05T13:26:50Z	2012-05-02T16:11:45Z	"Why isn't this possible yet? Before publishing a widget that you can preview it. That way you can get the right settings out without first needing to publish it for the whole site viewers.
A preview would be very nice before publishing a wigdet like editting a post..."	JonezJeA
18466	Reorganizing Widget Areas		Widgets		normal	minor	Awaiting Review	feature request	new		2011-08-18T00:18:17Z	2012-02-06T15:56:29Z	"The widget-area boxes should be draggable as a whole. Meaning the user should be able to drag and drop the area boxes up and down as a way to rearrange the areas.

Sometimes I want to move the entire area's contents to a different area, and the best way would just be to drag the box to a different position in the vertical order."	audiobahn
15645	Refactor widgets.dev.css		Widgets	3.1	normal	normal	Future Release	task (blessed)	new	has-patch	2010-12-02T12:21:33Z	2012-12-24T07:05:58Z	Standard refactor of widgets.dev.css to be much more awesome. See #14770	JohnONolan
13919	$pagenow / vars.php refactoring / Move $pagenow generation into it's own function		Warnings/Notices	3.0	normal	normal	Future Release	defect (bug)	new	close	2010-06-16T14:03:48Z	2011-03-23T19:35:07Z	"In {{{wp-include/vars.php}}} an unset variable is passed by referecence to {{{preg_match()}}} in mutliple places.

The same code-fragment where that problem is located does poisen the globale variable table with temporary variables as well.

To prevent these problems, the variable needs to be set prior to be passed to preg_match and the code fragment needs to be refactored in it's own function.

This might be helpful a bit as well when we start to free the codebase from hardencoded {{{/wp-admin/}}} admin directory definitions."	hakre
23296	3.6 - Edit Post, Invalid implode after Core-Update		Warnings/Notices		normal	normal	Awaiting Review	defect (bug)	new	reporter-feedback	2013-01-25T23:48:51Z	2013-01-26T11:51:16Z	"'''Error:''' implode(): Invalid arguments passed

The implode function have invalid Arguments.

'''URL:''' /wp-admin/edit.php
[[BR]]'''HTTP referrer:''' http://adrean-test.eatserver.nl/wp-admin/update-core.php

'''FIX (wp-includes/compat.php - Line 32):'''
{{{
return ($chars  ? implode( '', $chars ) : array());
}}}
'''Stacktrace:'''
{{{
in implode called at /www/htdocs-test/wp-includes/compat.php (32)
in _mb_substr called at /www/htdocs-test/wp-includes/compat.php (18)
in mb_substr called at /www/htdocs-test/wp-includes/formatting.php (3096)
in wp_html_excerpt called at /www/htdocs-test/wp-includes/admin-bar.php (230)
in wp_admin_bar_site_menu called at ? (?)
in call_user_func_array called at /www/htdocs-test/wp-includes/plugin.php (487)
in do_action_ref_array called at /www/htdocs-test/wp-includes/admin-bar.php (58)
in wp_admin_bar_render called at ? (?)
in call_user_func_array called at /www/htdocs-test/wp-includes/plugin.php (406)
in do_action called at /www/htdocs-test/wp-admin/admin-header.php (113)
in require_once called at /www/htdocs-test/wp-admin/edit.php (220)
}}}"	hovida
15394	"Ancient ""Are you sure you want to do this"" now confusing"		Warnings/Notices	3.1	normal	trivial	Future Release	defect (bug)	new	early	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
23032	Call get_page_hierarchy without passing by reference in wp-includes/rewrite.php page_uri_index		Warnings/Notices	3.0	normal	minor	Future Release	defect (bug)	new	has-patch	2012-12-21T01:06:13Z	2013-05-16T12:38:59Z	"  PHP Strict Standards:  Only variables should be passed by reference in wp-includes/rewrite.php on line 825

Due to &$pages in the function declaration.
{{{
function get_page_hierarchy( &$pages, $page_id = 0 )
}}}

Instead of calling get_page_hierarchy with the full $wpdb->get_results as the arg, save the get_results to a variable and pass that to get_page_hierarchy.


{{{
$pages = $wpdb->get_results(...)
$posts = get_page_hierarchy( $pages );
}}}


"	Askapache
22587	Cast image sizes to array before looping		Warnings/Notices	3.3	normal	normal	Awaiting Review	defect (bug)	new	has-patch	2012-11-25T22:02:49Z	2012-11-27T05:11:01Z	"If someone doesn't filter the `image_size_names_choose` filter correctly, or uses some helper function like `__return_false` if they don't want to display any image sizes, a warning is thrown.

The `$sizes` var should be cast to an array before looping to avoid this warning."	griffinjt
23416	Form handlers assume $_POST elements will be strings		Warnings/Notices	3.5.1	normal	normal	Awaiting Review	defect (bug)	new		2013-02-07T19:26:18Z	2013-02-08T16:59:16Z	"I'm running Wordpress 3.5.1 on PHP 5.3.

This example is from lines 50-53 of wp-comments-post.php:

{{{
$comment_author       = ( isset($_POST['author']) )  ? trim(strip_tags($_POST['author'])) : null;
$comment_author_email = ( isset($_POST['email']) )   ? trim($_POST['email']) : null;
$comment_author_url   = ( isset($_POST['url']) )     ? trim($_POST['url']) : null;
$comment_content      = ( isset($_POST['comment']) ) ? trim($_POST['comment']) : null;
}}}

The issue is that If your post data contains something like:
{{{
author[]=foo&author[]=bar
}}}
or
{{{
comment[]=foo
}}}
Then the corresponding values in $_POST will be arrays, not strings, causing an E_WARNING.

There seem to be a number of other places where $_POST data is passed directly to PHP string functions as well, causing potential warnings. These should be handled gracefully by checking the type of the element being grabbed from $_POST first:

{{{
$comment_author       = ( isset($_POST['author']) && is_string($_POST['author']) )   ? trim(strip_tags($_POST['author'])) : null;
$comment_author_email = ( isset($_POST['email']) && is_string($_POST['email']) )     ? trim($_POST['email']) : null;
$comment_author_url   = ( isset($_POST['url']) && is_string($_POST['url']) )         ? trim($_POST['url']) : null;
$comment_content      = ( isset($_POST['comment']) && is_string($_POST['comment']) ) ? trim($_POST['comment']) : null;
}}}"	tabacco
20793	Illegal string offset 'public' in wpmu_create_blog()		Warnings/Notices	3.0	normal	normal	Future Release	defect (bug)	new	has-patch	2012-05-30T16:18:53Z	2012-05-30T16:18:53Z	"If $meta is not passed and left as default empty string then:

{{{
update_option( 'blog_public', (int)$meta['public'] );
}}}

will throw a notice."	duck_
17328	In User Profile, Undefined property: WP_User::$rich_editing line 189 user-edit		Warnings/Notices	3.2	normal	normal	Awaiting Review	defect (bug)	reopened	has-patch	2011-05-05T05:00:24Z	2011-05-23T08:29:51Z	"Notice: Undefined property: WP_User::$rich_editing in C:\web\wpbeta\wp\wp-admin\user-edit.php on line 189
/>"	anmari
19706	NOTICE: wp-admin/includes/post.php:834 - Illegal member variable name		Warnings/Notices	3.3	low	normal	Awaiting Review	defect (bug)	new	close	2012-01-01T00:30:43Z	2012-04-30T15:32:28Z	"Received this notice:

{{{NOTICE: wp-admin/includes/post.php:834 - Illegal member variable name}}}

Traced it to this in {{{wp_count_posts()}}}:

{{{
	$count = $wpdb->get_results( $wpdb->prepare( $query, $type ), ARRAY_A );

	$stats = array();
	foreach ( get_post_stati() as $state )
		$stats[$state] = 0;

	foreach ( (array) $count as $row )
		$stats[$row['post_status']] = $row['num_posts'];

	$stats = (object) $stats;
}}}

Apparently I have a post with a post status of a blank string. So that gets set to an array key, and then is cast to an object. WP doesn't like that.

Proposed:

{{{
	foreach ( (array) $count as $row ) {
		if ( !empty( $row['post_status'] ) )
			$stats[$row['post_status']] = $row['num_posts'];
	}
}}}

Just discard empty post_status rows."	markjaquith
21031	Orphaned comments emit debug notices in dashboard and comments lists		Warnings/Notices		normal	normal	Awaiting Review	defect (bug)	new	has-patch	2012-06-21T04:11:54Z	2012-06-21T07:19:14Z	"map_meta_cap is not prepared to handle missing or invalid post ID's. To duplicate this, delete a post from the posts table without deleting its attached comments, then visit the admin dashboard with the recent comments widget visible.

The comments list table exhibits a similar issue, where the $post global is assumed to be set and valid.

This isn't something that happens naturally in WordPress core, but is something plugins are able to do directly to the database, which results in orphaned comments. The attached patches only suppress debug notices PHP spits out, and does not directly address the issue of what to do with orphaned comments, should a plugin choose to do this."	johnjamesjacoby
23406	Some notices messages which can maybe fixed		Warnings/Notices	3.5.1	normal	trivial	Awaiting Review	defect (bug)	new		2013-02-06T17:59:55Z	2013-02-06T18:07:32Z	"Hi,

I use wordpress multisite on my own cms and I notice there are many notice messages when I load WP (include($wppath.""includes/wp.inc.php"") :

1) Declaration of Walker_Category::start_el() should be compatible with that of Walker::start_el()) in /wp-includes/category-template.php line 902

2) Declaration of WP_Scripts::set_group() should be compatible with that of WP_Dependencies::set_group()) in wp-includes/class.wp-scripts.php

3) Declaration of Walker_Nav_Menu::start_el() should be compatible with that of Walker::start_el()) in wp-includes/nav-menu-template.php

4) is_a(): Deprecated. Please use the instanceof operator) dans le fichier wp-includes/capabilities.php

Hope it helps
Regards,
Alexandre"	uniterre
16651	Warnings on dashboard: Notice: Trying to get property of non-object in wp-includes/capabilities.php		Warnings/Notices	3.0	normal	normal	Awaiting Review	defect (bug)	reopened		2011-02-24T19:27:46Z	2012-12-20T08:59:34Z	"I just upgraded a local install to 3.1 and have the debug mode on. Now, on the dashboard the ""Recent Comments"" box is filled with notices. I will attach a screen-shot of the notices. Though this doesn't show when debug mode is off, I have to assume that something isn't working with all of these warnings."	grandslambert
23428	comments_open causes PHP notice in certain cases		Warnings/Notices	2.5	normal	normal	Awaiting Review	defect (bug)	new	has-patch	2013-02-08T21:51:39Z	2013-02-10T15:59:50Z	when `comments_open()` is called for a non-existant post (either a bad ID, or no ID passed and called from a non-single page), a PHP notice is caused.  Ideally, plugins shouldn't be doing this, but a simple null check in `comments_open()` fixes the problem.	willnorris
18730	media_sideload_image() doesn't handle dynamic image url's well		Warnings/Notices	2.9	normal	normal	Awaiting Review	defect (bug)	new	has-patch	2011-09-21T10:49:11Z	2012-08-23T20:17:02Z	"Example URL: http://www.tumblr.com/photo/1280/10464566223/1/tumblr_lrum2xzkpC1r3z8e3

As a result, the preg_match() for the file extension fails and issues a notice (no file extension in that url, although the redirection location does have).

The handling of a download failure also seems hairy, upon failure, it still attempts further importing before loading - I haven't looked into that too far."	dd32
14893	wp_inactive_widgets sidebar forgotten, then does notice in /wp-admin/widgets.php		Warnings/Notices	3.0.1	normal	normal	Future Release	defect (bug)	new	has-patch	2010-09-18T07:24:45Z	2011-01-13T04:31:00Z	"The 'wp_inactive_widgets' is not initalized but used later on.

Can be fixed easily by adding it while the array get's initialized."	hakre
22239	wp_ob_end_flush_all() tries to destroy non-destroyable output buffers		Warnings/Notices		normal	normal	Awaiting Review	defect (bug)	new		2012-10-21T03:20:47Z	2012-10-21T03:28:19Z	"`wp_ob_end_flush_all()` currently tries to flush & destroy every PHP Output buffer that is enabled on the current installation.
However, not every type of PHP Output buffer can be destroyed, which will cause a PHP Notice when attempts to do so are made.
An example of this is PHP extensions such as New Relic, or PHP output buffers created with the `$erase` flag set to false in `ob_start()`

An example is when New Relic is installed on a host, also [https://newrelic.com/docs/php/php-agent-faq#rum-obclean see New Relics FAQ entry] on the issue.
{{{
( ! ) Notice: ob_end_flush(): failed to send buffer of New Relic auto-RUM (1) in ../trunk/wp-includes/functions.php on line 2641
Call Stack
#	Time	Memory	Function	Location
1	0.8510	4328360	shutdown_action_hook( )	../load.php:0
2	0.8510	4328440	do_action( )	../load.php:556
3	0.8510	4329856	call_user_func_array ( )	../plugin.php:406
4	0.8510	4329888	wp_ob_end_flush_all( )	../plugin.php:406
5	0.8511	4330064	ob_end_flush ( )	../functions.php:2641
}}}

Somewhat similar to #18239
I'm not sure of what the ideal solution for this would be for !WordPress, but wanted to record the issue being known."	dd32
13874	"Add package argument to ""_deprecated_function"" function"	westi*	Warnings/Notices		normal	normal	Future Release	enhancement	accepted	has-patch	2010-06-13T23:48:37Z	2013-05-14T13:27:25Z	"Got to thinking it would be nice if plugins could use the _deprecated_ API by passing a ""$package"" argument to separate themselves from WP core, and so this patch was born.

"	johnjamesjacoby
16698	Better Table field value upgrade check (minor)		Warnings/Notices	3.1	normal	minor	Awaiting Review	enhancement	new	reporter-feedback	2011-02-28T10:31:06Z	2011-03-04T12:48:04Z	"line 1463 on /wp-admin/includes/upgrades.php is

{{{
preg_match(""|"".$tablefield->Field."" ([^ ]*( unsigned)?)|i"",$cfields[strtolower($tablefield->Field)], $matches);

$fieldtype = $matches[1];
}}}

There is no check IF a $matches is found. If there is no match found an error will be displayed 'undefined index 1'. An Error message could be added here.

Can happen : if the sql code contains no spaces between the fieldname and the type it will generate the not found [1].







"	cogmios
23062	Issue warnings for deprecated and wrong behavior in pre-release builds		Warnings/Notices		normal	normal	Future Release	enhancement	new		2012-12-27T16:51:05Z	2013-05-16T11:56:07Z	"Coming out of #22873 and the [https://irclogs.wordpress.org/chanlog.php?channel=wordpress-dev&day=2012-12-12&sort=asc#m518273 associated development chat]:

_doing_it_wrong(), _deprecated_argument(), _deprecated_file(), and _deprecated_function() should issue an E_USER_WARNING up to and including RC1, and an E_USER_NOTICE otherwise."	nacin
20213	Pagination fails silently when mysql.trace_mode is on		Warnings/Notices	3.4	normal	normal	Awaiting Review	enhancement	new		2012-03-10T16:06:15Z	2012-03-10T16:06:15Z	"A sysadmin left enabled '''mysql.trace_mode''' on php.ini without me knowing about it, and I spent hours trying to find out why the '''next_posts_link''' wasn't showing up. 

This is very hard to debug, because 
* it fails silently, with no error to look for
* it's hard to repro on a dev server, which may not have the same php.ini settings as in staging/prod (ideally should, but rare for 99% of devs) 

Other people had this same issue:
* ""[http://wordpress.org/support/topic/page-navi-not-working-with-mysql-5134-amp-php-529 No error, it's just not working]""
* ""[http://wordpress.org/support/topic/archives-not-showing-nextprev-windows-only-crazy Am I going crazy]""?
* Trace_mode defaulted to ""on"" in [http://stackoverflow.com/a/869957/128329 this guy's] install (!).

I've read through #18536, #10469 and related issues, hoping that usage of SQL_CALC_FOUND_ROWS would be removed, but it seems to be still there, in trunk.

So I guess a ""fix"" for this would be to check for trace_mode and, if enabled, notify admin users on the wp-admin dashboard.

Meanwhile, I've added a note about this on the [http://codex.wordpress.org/Function_Reference/next_posts_link next_posts_link] page.
"	ManuelRazzari
5669	Provide single logging functions to replace logIO(), debug_fwrite() etc.		Warnings/Notices	2.3.2	low	minor	Future Release	enhancement	new		2008-01-14T20:43:34Z	2011-03-31T08:42:45Z	"I'm looking at writing a logging infrastructure so that logIO() and debug_fwrite() can be consolidated into a single plugin replacable function (giving potential expansion into MySQL or syslog logging). I hope to follow this up with calls to the same function so administrative access can leave an audit trail.

"	pishmishy
22342	"WP_DEBUG ""undefined index"" notices in get_metadata() for empty arrays"		Warnings/Notices	3.1	normal	minor	Awaiting Review	enhancement	new	dev-feedback	2012-11-01T22:10:42Z	2012-11-13T01:29:41Z	"When the WP_DEBUG constant is set, calling get_metadata() in /wp-includes/meta.php with $single==true can cause ""undefined index"" notices when the meta data value is an empty array. As null is an acceptable return value for this function, silencing the notice with @ will remove noise when debugging without the overhead of checking the array length or that the 0 index isset()."	doublesharp
19291	Widgets move to Inactive after clearing all widgets from sidebars		Warnings/Notices	3.3	normal	normal	Future Release	enhancement	new	early	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
23767	remove_menu_page: Check for existing menu items		Warnings/Notices	3.5	normal	normal	Awaiting Review	enhancement	new	close	2013-03-14T13:32:47Z	2013-03-16T17:56:37Z	"This error appears in my error log:

''PHP Warning:  Invalid argument supplied for foreach() in /www/htdocs/wp-admin/includes/plugin.php on line 1290''

The if-empty patch is attached. "	sergej.mueller
18368	Add CSS Class Info to post_updated_messages array/filter		Warnings/Notices	3.2.1	normal	minor	Awaiting Review	feature request	new	dev-feedback	2011-08-10T12:50:18Z	2011-08-11T23:38:17Z	"When saving a post, not all messages displayed on the screen are ""success"" messages. Some are errors or warnings. Therefore, it would be nice to have the ability to modify the CSS class that's applied to the notice message.

In order to support backwards-compatibility, I would suggest allowing the array that's built using the post_updated_messages filter to support strings (which would be the message text by itself) or arrays (which would include one item for the message text and one item for the message class).

If a string is found, that string is assigned as the message text. If an array is found, the first item is assigned as the message text and the second item is assigned as the message class.

If a message class is not defined, the CSS class of 'updated' is used; if it is found, the specified CSS class is used.

I've attached a patch for wp-admin/edit-form-advanced.php showing basically what I'm proposing. In this case, if an array is sent as the value of one of the messages, that array is expected to use the keys ""message"" and ""class""; but it could certainly be edited just to use numeric keys if that might make more sense."	cgrymala
22712	Admin using deprecated valign attribute		Validation	3.4.2	normal	normal	Future Release	defect (bug)	new	has-patch	2012-12-04T06:54:10Z	2013-01-18T23:38:46Z	"Hi,

I noticed when I validated one of my plugins' admin pages, I received approx. 40 error messages regarding the use of ""v-align:top;"" within the css structure.  (Please see attached screenshot)

Is there a way to use a different css to target these elements instead of the deprecated v-align usage?

Thanks!"	josh401
16135	Invalid markup in administration pages		Validation	3.1	normal	minor	Future Release	defect (bug)	new	has-patch	2011-01-07T10:31:38Z	2011-02-09T16:37:53Z	There still remain (related to #15287) some trivial validation errors in pages in wp-admin. I have attached two tiny patches that fix some of them.	wahgnube
15204	JavaScript Validation should trim values and set focus on invalid field		Validation	3.1	normal	normal	Future Release	defect (bug)	assigned	has-patch	2010-10-24T15:46:28Z	2011-01-13T21:09:02Z	"If invalid fields are found after validation, focus should be placed on the first invalid field. Field values should be trimmed to check for truly empty values.

Also worth noting, the (mostly same) validateForm is located in both common.js and wpAjax.js."	batmoo
18395	Non-URL GUIDs are stripped on post update		Validation	3.2.1	normal	normal	Awaiting Review	defect (bug)	new		2011-08-13T18:31:48Z	2011-08-13T23:12:02Z	"The post guid is run through several filters before the post is saved. the esc_url_raw() call will end up setting a GUID to an empty string if the GUID does not begin with a known/accepted protocol.

If a plugin/etc. wants to use the GUID column to store an external ID for an item brought in from another system (say a Flickr photo ID), then updating a post that has the Flickr ID as its GUID through the WP admin will end up setting the GUID for that post to ''.

This would need to be changed if the move was made to UUIDs for GUID values as well. Related: #6492.

A very basic patch for this specific issue is attached, but a larger discussion around how this should work is likely needed. Related: #18315"	alexkingorg
14376	"admin post.php fails html validation due to use of  ""["" in name/id/for of hidden custom fields"		Validation	3.0	lowest	normal	Future Release	defect (bug)	new		2010-07-21T07:37:54Z	2012-12-25T16:11:48Z	"Post.php is causing many many html validation errors due to hidden screen reader text for post meta fields mainly. Not a major problem, but annoying when attempting to validate admin plugin code.

eg:
{{{
<label class='screen-reader-text' for='meta[1957][key]'>Key</label><input name='meta[1957][key]' id='meta[1957][key]' tabindex='6' type='text' size='20' value='_wp_geo_latitude' />

character ""["" is not allowed in the value of attribute ""id""
character ""["" is not allowed in the value of attribute ""for""
}}}
""["" are allowed in the name attribute.  So perhaps one could simply strip them out them for the 'id' and the 'for'?

Other failed validation messages that occur a lot and appear to be wp generated code:
-   ID ""_ajax_nonce"" already defined
-   reference to non-existent ID ""metakeyselect""

"	anmari
21164	wp_customize_support_script support for XHTML themes		Validation	3.4	normal	normal	Awaiting Review	defect (bug)	new	reporter-feedback	2012-07-05T13:31:15Z	2012-11-07T08:53:41Z	The script just needs wrapping in a CDATA section for XHTML themes.	needle
23165	Admin validation errors on form nonce element IDs (_wpnonce)		Validation		normal	normal	Awaiting Review	enhancement	new	has-patch	2013-01-10T02:25:17Z	2013-04-03T03:21:53Z	"The `wp_nonce_field()` method has a design flaw in that the `name` parameter is optional, but its default value (""_wpnonce"") is used for the field element `id`. This wouldn't be bad if only one form is used on each page, but that is rarely the case in the admin panel. Currently, this only results in harmless HTML validation errors in admin, and in very rare situations (depending on plugins installed), can result in javascript scope-related issues breaking forms. This is an issue that keeps being reported and fixed several times (see #5962, #6564, r14737 from #13383, and the latest [http://core.trac.wordpress.org/ticket/22712#comment:11 #22712]) by simply specifying the name in all locations that don't at the time in core. There's at least three different approaches that I can see where we could prevent this from popping back up in the future and encourage better coding habits.

== A: Require the Name Parameter ==

The most obvious approach is to simply adds a `_doing_it_wrong()` call (though it could just be `_deprecated_argument()` instead) for any calls to `wp_nonce_field()` that don't specify the `name` parameter, forcing everyone to give nonce fields unique IDs (and names). A side-effect of this change is that it will also warn developers they are doing it wrong if they use `wp_nonce_field()` without the (also currently optional) `action` parameter, which is actually a good thing since the docs already warn that this is a security hole.

There are 46 locations in core that would need updated with this change that make this mistake, and the fix for each of them with this change is exactly the same as what every other commit to fix this problem has always done: just specify the `name` to give a unique ID.

The downside to this approach is that this pushes for an immediate change not only to all calls to `wp_nonce_field()`, but also their corresponding `check_admin_referer()` calls (to update the changed field name) in a single WP release, and considering how frequently it's called this way in core, I don't even have to look at plugins to see how often it happens there (it's going to be too many to count).

This approach still results in an explicitly named ID that really doesn't need to be on the field in the first place in most locations.

I gave this approach a shot anyway, and started on a patch just to see how much work it would be at least in core, but I started to find a few locations that could benefit from unique IDs, but similar field names. I also found myself already spending hours updating and testing just 9 of the 46 locations (unit tests don't cover this stuff) where I was forced to make changes to IDs that would be best left alone for now. I have attached this unfinished patch anyway if anyone is curious to see how it works, what it does, and to see what kinds of changes it ends up requiring.

It's still possible to just pass ""_wpnonce"" as the `name` with this change, so the rest of the locations could simply use that to progressively work towards unique IDs, but I just don't see this as a good solution overall, and it seems like a lot of work for very little gain on a minor issue.

== B: Use Action for ID or Remove ID Entirely ==

Another option might be to remove ID entirely, or use (and require) the action parameter as the ID. This would improve results with unique IDs fixing most locations where `wp_nonce_field()` is used without requiring a change to each one individually for most uses (except for nonces used with ajax calls). All locations in core at least use `action` already, so the case for using `action` as ID instead seems better than using `name`.

Unfortunately, either removing or using the action parameter for ID (changing the ID) would obviously break a few plugins that made the mistake of relying on the default `_wpnonce` (or the current `name` value) value for `id` from within JavaScript code for existing form endpoints. In the WP.org plugin repo, this appears to happen in the following plugins (searching up through plugins starting with 'r') for forms using the default value:

{{{
automatic-youtube-video-posts
buddypress
buddypress-backwards-compatibility
canalblog-importer
community-submitted-news
eyes-only-plus
facepress-ii
globalfeed
lazyest-gallery
lazyest-maps
maven-member
pagely-reseller-management
pluginbuddy-yourls
post-event2
qtranslate-separate-comments
repostus
...
}}}

There's likely way more plugins that post to core forms using a non-default `name` that would break though as well, and even though I think ID should have never been added to the nonce field attributes and was never necessary in the first place, compatibility rules would need to be broken if this approach was used. This of course means this option is most likely not really an option at all.

== C: Use an Option Array Parameter in Place of Name ==

To keep this concise, this last approach basically involves changing `wp_nonce_field()` to:

{{{
function wp_nonce_field( $options = array() ) { ... }
}}}

The `options` parameter is a standard arguments array used with `wp_parse_args()`. This accomplishes not just one, but two different goals. First, if `$options` is not an array or the method was called with anything other than 1 parameter, we know this is an older call that needs to use the `name` parameter for both `name` and `id`, using `func_get_args()` for the original arguments, and can do so for full 100% backwards compatibility. Second, unrelated to this issue, the function has been refactored to adhere to coding standards in regards to [http://codex.wordpress.org/WordPress_Coding_Standards#Self-Explanatory_Flag_Values_for_Function_Arguments self-explanatory flag values] as far as the `referrer` and `echo` options are concerned.

The `options` array can then be made to accept the following settings:

- action: The same unique name included in the nonce hash as is the case now.
- name: The field name (and *only* used for the name attribute). (Default: ""_wpnonce"")
- id: The field ID if this really is still desired, and can even be different than the name, but by default, the field won't have an ID at all.
- referrer: Whether to set the referer field for validation. (Default: true)
- echo: Whether to display or return hidden form field. (Default: true)

The only downside here is that each `wp_nonce_field()` call will be more verbose in most cases, especially if they do need to use an ID. For example, this:

{{{
wp_nonce_field('add-tag', '_wpnonce_add-tag');
}}}

Will now become this:

{{{
wp_nonce_field( array( 'action' => 'add-tag', 'name' => '_wpnonce_add-tag' ) );
}}}

I see plenty of benefits to this last solution though, and it requires very few changes up front, so I think it comes down to this approach ultimately. Please see attached patch."	bpetty
15058	Validate option and transient name lengths		Validation	3.1	normal	normal	Future Release	enhancement	new	needs-unit-tests	2010-10-07T15:37:46Z	2013-05-17T15:52:23Z	"The option_name column in the options table holds up to 64 characters yet there aren't any length checks to ensure that the length isn't exceeded. This leads to all sorts of odd behavior as the name will be truncated to fit, saving the option but not allowing it to be retrieved with the same name.

This issue affects all uses of the options system. A particular annoyance is transients. A transient that doesn't expire has a max name length of 53 characters yet a transient that does expire has a max name length of 45 characters. When attempting to save an expiring transient of name length between 46 and 53 characters, the transient will store but will be deleted before being used when get_transient is called due to the missing _transient_timeout_ option (since it was too long).

The core issues are that the functions don't return any type of failure condition on names that are too long and no warning is created. So, I've created a patch that addresses both of these issues.

The patch shows an example of how option and transient name length validation can be added. In order to allow users to modify the option_name column length, a new constant, WP_OPTION_LENGTH, is created with a default value of 64. This constant is checked for all length validation.

This is simply an example of how I'd like the validation to function. I'm not attached to the wording of the warnings or the name of the constant."	chrisbliss18
22409	add multiple selected options support to selected() function		Validation	3.4.2	normal	minor	Awaiting Review	enhancement	new		2012-11-10T23:31:57Z	2012-11-10T23:36:10Z	"The current {{{selected()}}} function returns ''selected=""selected""'' if two strings match, but does not correctly handle arrays that result from select options that have ''multiple=""multiple""'' enabled (it just checks the first item in the array by forcing a string type).

I suggest either adding correct handling of arrays or alternatively adding a separate {{{multiselected()}}} function to handle this situation.

This could be accomplished by altering the current {{{__checked_selected_helper()}}} function to this:


{{{
function __checked_selected_helper( $helper, $current, $echo, $type ) {
  if( is_array( $helper ) && in_array( $current, $helper, true ) )
    $result = "" $type='$type'"";
  elseif ( (string) $helper === (string) $current )
    $result = "" $type='$type'"";
  else
    $result = '';
	
  if ( $echo )
    echo $result;

  return $result;
}
}}}

I've just added the first 2 lines and changed the first {{{if}}} to an {{{elseif}}}."	bitacre
21140	"""Display name publicly as"" setting not set until a change is made in the setting"	nickharambee	Users	3.4	normal	normal	Awaiting Review	defect (bug)	new	has-patch	2012-07-02T21:29:48Z	2012-07-02T22:37:46Z	"I have found this issue with several users that I have set up on my site.  The default value for ""Display name publicly as"" is the first name of the user when creating a new user, or at least that is what shows in the ""Display name publicly as"" drop-down menu.  However, when creating a new user, the full name, i.e. the first and last name is what displays publicly.  In order to get only the first name to display publicly I need to set the ""Display name publicly as"" option to another option, save changes, and then reset it to just the first name, and save changes again.

Surely, if it is the first name that shows in the drop-down menu, it should be the first name that actually displays publicly, without having to go through this rather strange process?

I am using the latest version of Buddypress (1.5.6) as well as several other plugins.  I have not tried disabling all of these."	nickharambee
15636	"""New User Default Role"" dropdown should order by privilege level"		Users	3.0.2	normal	normal	Future Release	defect (bug)	reopened		2010-12-01T22:10:32Z	2013-01-22T15:17:49Z	"The '''New User Default Role''' dropdown at '''wp-admin/options-general.php''' is in spiffy random order:
 * Subscriber
 * Administrator
 * Editor
 * Author
 * Contributor

This UI bug suggests that '''Subscriber''' and '''Contributor''' are the opposite poles of privilege levels. In fact, they are successive steps in increasing privilege. Also, it doesn't make sense to put the least and greatest privileges, '''Subscriber''' and '''Administrator''', next to each other.

Please let proximity and position serve their purpose: order this dropdown by level of access, starting with the least access:
 * Subscriber
 * Contributor
 * Author
 * Editor
 * Administrator"	novasource
22993	Admin - users without a role are difficult to find		Users	3.5	normal	normal	Awaiting Review	defect (bug)	new		2012-12-18T17:32:21Z	2012-12-20T06:21:38Z	"There doesn't appear to be a filter to display users *without* a role (see the screenshot). The ideal solution would be to add a filter for ""None"".

[http://i.imgur.com/3S5pH.png]"	logikal16
18658	Allow apostrophe in email validation		Users	3.2.1	normal	normal	Awaiting Review	defect (bug)	reopened	has-patch	2011-09-14T09:23:38Z	2012-07-20T23:54:05Z	"When the is_email function checks the format of a supplied email, it errors when it finds an apostrophe in the local part of the email address.

Many valid emails use apostrophe's, and as such this should be accomodated in the validation."	swinhoe
18039	Allow apostrophes in email addresses when accounts are added via Dashboard		Users	3.2	normal	normal	Awaiting Review	defect (bug)	new	dev-feedback	2011-07-08T16:36:55Z	2013-04-02T09:54:29Z	"See #4616.

Currently it's not possible to add a user with an apostrophe in his email address in any of the following ways:
- Dashboard > Add User (non-MS)
- Dashboard > Add User > Add Existing User (MS)
- Dashboard > Add User > Add New User (MS)
With existing users, you get a 'user not found' error. Otherwise you get an error about invalid email addresses.

This is inconsistent with WP's basic email address behavior, which allows apostrophes in email addresses.

For the most part, the problem is simply that the value of 'email' in the $_POST data must be stripslashed. In a few cases, adjustments had to be made to the way that email addresses are escaped, to allow for the ' character (see esc_email()). 

See attached patch."	boonebgorges
16788	Ampersands in e-mail address become invalid		Users	3.0.5	normal	major	Awaiting Review	defect (bug)	new	dev-feedback	2011-03-07T20:01:38Z	2012-09-19T17:46:32Z	"When an e-mail address contains an ampersand, WordPress improperly escapes the ampersand invalidating the e-mail address.

Example: h&f@domain.com becomes h&amp;amp@domain.com

First of all, the proper HTML entity for ""&"" is '''&amp;'''. Where did the extra '''amp''' come from?

Also, an ampersand is a valid character in an e-mail address and should not be escaped. Escaping it could be a completely different e-mail address.

I have not dug into the code to find out where this is happening but I'd assume in '''sanitize_email()'''."	jfarthing84
16484	"Attempting to add user with username ""0"" gives fatal error"		Users	3.1	lowest	minor	Future Release	defect (bug)	new	has-patch	2011-02-07T19:45:17Z	2012-09-19T22:31:51Z	"Create a new user. Use the number 0 as the username. Receive this error:

> Catchable fatal error: Object of class WP_Error could not be converted to string in /Users/mark/Sites/wp/wp-includes/formatting.php on line 2818"	markjaquith
22311	"Cannot login when my loginname contains an ""|"" character"		Users		normal	normal	Awaiting Review	defect (bug)	new	close	2012-10-30T13:06:13Z	2012-10-31T01:09:24Z	"Hello,
Cannot login when my loginname contains an ""|"" character, for example:

Sent|el

or

P|ng|n

Can you fix his ? Other systems like phpBB3 have no problems with such usernames !
"	radek2212
12720	Delete user and hook confusion when deleting users in Multisite		Users	3.0	normal	normal	Future Release	defect (bug)	new		2010-03-26T12:42:59Z	2010-06-23T17:24:58Z	"Currently:
The hook ''wpmu_delete_user'' fires when deleting user in Super Admin->Users.
The hook ''remove_user_from_blog'' when deleting user under site Users->Authors & Users.
In standard WP:
The hook ''delete_user'' is called when deleting users it should be the same in MultiSite when deleting from Super Admin->Users.
Or add new hooks and deprecate previous.
''delete_user_from_network'' for when deleting a user totally.
''delete_user_from_site'' for when deleting a user from a specific site. This is hook also then fires in non-MultiSite mode since that then corresponds to one site."	andreasnrb
15001	Duplication and incompatibilities in register_new_user() and wp_insert_user()		Users	3.0.1	normal	normal	Future Release	defect (bug)	new	has-patch	2010-09-30T19:16:11Z	2012-09-08T20:39:13Z	"As a result of [12778], the commit of a patch that was part of #11644 (the MU-merge ticket), `wp_insert_user()` was modified to introduce user verification checks.  The addition of these checks also introduced a number of duplications and incompatibilities between it and `register_new_user()`.  (Bear in mind that `register_new_user()` calls `wp_create_user()` which calls `wp_insert_user()`.)

These issues include:

 * Duplication (both run-time execution and code): both functions perform `username_exists()` and `email_exists()` checks.  Ideally, we should only perform each check once, and from a single piece of code.
 * Whereas both functions perform `username_exists()` and `email_exists()` checks, `register_new_user()` performs more checks (empty_username, invalid_username, empty_email, invalid_email).  If the former 2 are being checked, all 6 criteria should be checked.
 * `wp_insert_user()` can now return a WP_Error object, but `register_new_user()` can't handle it (I reported this in #14290)
 * `register_new_user()` generates a new generic error if `wp_create_user()` (via `wp_insert_user()`) returns an error (assuming proper patch #14290), rather than passing along the more specific error it was told about
If an error is returned by `wp_create_user()`, `register_new_user()` throws a generic 'registerfail' error (`'<strong>ERROR</strong>: Couldn&#8217;t register you... please contact the <a href=""mailto:%s"">webmaster</a> !'`).  However, most likely it received a more informative WP_Error object.
 * `register_new_user()` allows errors to be suppressed via filters, but `wp_insert_user()` does not
`register_new_user()` has the filter 'registration_errors' which allows plugins to suppress any encountered errors.  Having done so, `register_new_users()`'s subsequent call to `wp_create_user()` can generate an error (of the type already suppressed) which is then un-suppressable.  This renders the 'registration_errors' filter useless for the username_exists and email_exists errors (and possibly other in the future).

----

These different issues may warrant separate tickets, but cumulatively I think they point to the need to refactor `register_new_user()` and `wp_insert_user()` to be more efficient and compatible.

This is a rare instance where I don't include an immediate patch for a ticket, but I wanted to get it out there and see if we can try and get these fixed for 3.1.
"	coffee2code
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
17793	No explanation on invalid characters on registration form		Users	2.1	normal	trivial	Awaiting Review	defect (bug)	new	has-patch	2011-06-14T08:46:22Z	2012-10-15T19:49:57Z	"When a user tries to register with a username containing special characters (e.g. accented letters), WP shows an error message saying ""This username is invalid because it uses illegal characters. Please enter a valid username."".

However, this doesn't really help the user because the message does not explain how to fix the problem, i.e. which characters are allowed.

Please consider adding a brief listing of allowed characters."	molnarm
15498	Notice: Trying to get property of non-object in wp-admin/edit-form-advanced.php on line 281		Users	3.3.2	normal	normal	Future Release	defect (bug)	reopened	has-patch	2010-11-19T17:40:39Z	2012-06-11T10:58:05Z	The problem seems to arise from the fact that when users are imported their old IDs aren't mapped to their new IDs, so then $last_user = get_userdata($last_id) is trying to look up a user that doesn't exist.	wpdavis
13569	Odd edge case with shared user tables and custom admin username during install		Users		lowest	trivial	Future Release	defect (bug)	new		2010-05-27T06:06:43Z	2010-11-13T08:04:31Z	"1. In install 1, run install.php and use a custom username (NOT called 'admin') and set the e-mail to email@example.com.

2. In install 2, before installing, set up shared user tables with install 1. Then run the installer. You won't have the ability to choose usernames (that's expected). Use the *same* email.

3. Click ""Install."" You'll get hit with a WP_Error object.

What's happening? The logic in wp_install() is to do a username_exists() against the username passed to it. If the user exists, it assumes that you're using shared user tables. Problem is, wp_install() is passed 'admin' from install.php (as that's the default, and you don't see the fields when custom user tables are setup), while your user is not called 'admin'. The e-mail address is already being used for another user however, so it is creating 'admin' and is failing on the duplicate e-mail address.

If the email address doesn't match any user, I imagine you'd instead get an 'admin' user in your second install, which you could promptly delete. I see no problem with that, as the alternatives are to pick which user should become an admin.

So, the fix would be to change username_exists() and the logic that follows, and instead match the e-mail address with an existing user, and make that user the new administrator. If no user with that email exists, we create an admin user and they can tough it out.

I do not feel this is a blocker at all. The symptoms I am seeing should be the same in 2.9.2 if you removed the admin user in install 1, then proceeded to share user tables with install 2 before installing.

It'd be nice to at least prevent the fatal error and allow the install to finish, however. I do want to get to it in 3.0 if I can, since we now are allowing custom admin names. That said, setting to 3.1."	nacin
18360	One of the links in the Password Reset Mail is wrong	lizhenry	Users	3.2.1	normal	normal	Awaiting Review	defect (bug)	assigned	has-patch	2011-08-09T15:55:04Z	2012-12-11T00:27:19Z	"Hi,

just a quick note: if {{{FORCE_SSL_ADMIN}}} has been set to true, a password reset-mail could include the wrong protocol for the site-url while the password-reset-link is correct. - I didn't test it with a blog-network, though.

In other words I have both, ''WordPress address (URL)'' and ''Site address (URL)'' set to use the http protocol and in the mail the site-link points to https.

greetz,
Berny"	neoxx
18771	Reset Password link generation		Users	3.2.1	normal	normal	Awaiting Review	defect (bug)	new	close	2011-09-25T16:30:42Z	2011-10-02T16:20:23Z	"I have been having problems with the login following a reset password. 

A user click the ""forgotten password"" link and then after receiving the email clicks the link in the email to reset their password submits their new password gets a message that says ""You have successfully reset your passoword. Log in"" The link for login is not being generated correctly which is causing them to get a ""Invalid Key"" error.

Here is what I have dont to temporarily resolve the issue:

in wp-login.php I modified the following lines of code:

changed Line 207:

{{{
if ( empty($key) ) {
}}}

to this:

{{{
if ( empty($key) || preg_match('/[^a-z0-9]/i',$key) != 0) {
}}}

Removing special characters from the key that gets emailed to the users when they click the ""forgotten password"" link on the login page.



Commented out Line 444:

{{{
login_header(__('Password Reset'), '<p class=""message reset-pass"">' . __('Your password has been reset.') . ' <a href=""' . site_url('wp-login.php', 'login') . '"">' . __('Log in') . '</a></p>');
}}}

then slightly modified it removing the login link from the message

{{{
login_header(__('Password Reset'), '<p class=""message reset-pass"">' . __('Your password has been reset.') . '</p>');
}}}


This change forces the user to return to the homepage before logging in again and then they dont get the ""invalid key"" error. 

It would be nice if there were a more permenant fix for this issue that wouldn't get lost when we update the next time."	binaryweb
17370	Screen options and meta box settings can lose per-blog meta box positions		Users	3.1.2	normal	normal	Awaiting Review	defect (bug)	new		2011-05-10T21:13:37Z	2011-08-04T21:13:59Z	"User preferences for admin interface appearance of the Dashboard and the Edit/Add New pages are stored in per-user options in wp_usermeta: closedpostboxes_$page, metaboxhidden_$page, meta-box-order_$page, and screen_layout_$page, where $page is one of 'post', 'page', or 'dashboard'. Users can customize the order of the Dashboard and editing meta boxes to better suit their workflow using the drag-and-drop AJAX interface to move the meta boxes into ordered columns and the Screen Options tab to show and hide the boxes. Many plugins add custom meta boxes to the Edit/Add New Post page.

In a multisite installation, with different plugins active on different blogs, users who rearrange an Add New Post page on a blog with a custom meta box and then rearrange it on a different blog without that meta box will lose the position of the custom meta box. Blogs can have different features and workflows implemented, and having per user options for the appearance instead of per user, per blog options limits the ability of a user to customize the interface.

The expected behavior for moving things around is that it changes on one blog, not on all blogs."	jmdodd
16833	Signup mechanism shortens usernames without warning		Users	3.0	normal	normal	Future Release	defect (bug)	new	has-patch	2011-03-11T15:09:23Z	2012-08-29T23:40:31Z	"When a user signs up for an account on a wordpress blog, if their chosen username is longer than the limit, wordpress chops of the end of the username, without warning the user, and without offering the user the opportunity to choose again.

Steps to reproduce:  Go to a wordpress blog, sign up with a long username, and read the confirmation email.  An example: forum.xbmc.org, which has a limit of 15 characters."	hughcharlesparker
18995	Superfluous check in WP_Users_List_Table::display_rows()		Users	3.2.1	normal	normal	Awaiting Review	defect (bug)	new	has-patch	2011-10-19T01:21:11Z	2012-08-05T22:25:26Z	"Specifically, this one:

{{{
if ( is_multisite() && empty( $role ) )
    continue;
}}}

It seems to have been a misguided attempt to fix something that should have been (and currently is) handled at the SQL level: #12711"	scribu
20271	Un-marked up text in the Add Users admin section for multi-site		Users	3.3.1	normal	normal	Awaiting Review	defect (bug)	new	has-patch	2012-03-21T15:17:35Z	2013-01-22T15:21:36Z	"When looking at the page for adding a new user on a multi-site setup, the top option is to add an existing user.

This text: ""Enter the email address or username of an existing user on this network to invite them to this site. That person will be sent an email asking them to confirm the invite.""

has no html markup around it.  Immediately above it is an h3 tag.  The text should have a <p> around it at the very least.

My goal here is actually hide the whole section with css for some roles, but I have no way to refer to it."	topher1kenobe
18499	User count / roles inconsistency if roles no longer exist but users still do		Users	3.2.1	normal	minor	Awaiting Review	defect (bug)	new		2011-08-23T13:53:43Z	2011-09-10T09:29:54Z	"The count_users logic (from line 833 onwards in wp-includes/user.php) is based on user roles.

If the roles were created by a theme or plugin which is then deactivated, wordpress loses count of the users, but still lists them.  The behaviour is confusing and inconsistent.  See attached screenshot.

1) the user count total at the top (all) ignores the users with no 'active' role, however users are all listed (the users are shown as 'no role' in the list)

2) the old roles are shown in the dropdown selection however are not listed in the totals


Suggestions:

1) the total user count should at the very least be correct wrt to the list.

2) Perhaps a total of 'no role' users could/should be shown (since the users are listed anyway ?)

3) If the old roles are shown in the dropdown, perhaps they should be flagged as inactive in some way?"	anmari
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
11959	Value Truncation Still Unchecked in registration.php		Users		normal	normal	Future Release	defect (bug)	new		2010-01-20T22:59:50Z	2010-11-13T07:38:28Z	Functions such as username_exists() fail to perform sanity checks against the storage schema.  As a result, it is possible to register multiple users with the same username, if the length is greater than or equal to the username field size.  Only the first user can login, however anyone re-registering that username can impersonate the first user to reset their password.	miqrogroove
17723	WP Signon from external resource/php code		Users	3.1.3	normal	normal	Awaiting Review	defect (bug)	new		2011-06-07T23:30:50Z	2011-06-07T23:30:50Z	"Wordpress has a lot of different functions available in the codec, such as the wp_signon.

The code to login a user from within the wordpress folder looks like:
{{{
$creds = array();
$creds['user_login'] = $username;
$creds['user_password'] = $password;
$creds['remember'] = true;
$user = wp_signon( $creds, false );
wp_set_current_user($user->ID);
}}}

If this is done outside of the wordpress user folder, by including the wp-config.php file 
{{{
including the wp-config, like the following:
global $wpdb;
define('WP_USE_THEMES', false);
require_once '/path/to/www/blog/wp-config.php';
wp();
}}}

then the cookies aren't created successfully and you can't properly login/logout a user.

There are a log of constants that set this up, yet the cookies aren't set properly, you are missing the wordpress_logged_in_COOKIEHASH essential cookie.

Such flexible function should work properly "	TeckniX
14855	WP_User misses values for some default properties (nickname, rich_editing)		Users	3.1	normal	normal	Future Release	defect (bug)	new	has-patch	2010-09-12T12:16:22Z	2011-12-13T00:04:15Z	"WP_User is expected to have default properties like last_name, ID etc.

At least two of them are missing in the class definition:

 1. nickname
 2. rich_editing

The attached patch adds them. 

/wp-admin/user-edit.php does Warnings / Notices if the properties are not set.

This is the case for users in the database that have not set these fields as meta data."	hakre
20043	WP_User missing magic __unset() method		Users		normal	normal	Future Release	defect (bug)	new	has-patch	2012-02-14T19:58:37Z	2013-05-14T13:37:27Z	"When the magic methods were put into WP_User in 3.3, !__unset() was skipped. This has the result of unset( $user_data->$foo ); not actually doing anything.

Patched against r19926."	johnjamesjacoby
24255	WP_User::__set doesn't persist custom fields as it claims		Users	3.3	normal	normal	Awaiting Review	defect (bug)	new		2013-05-03T03:17:42Z	2013-05-06T11:42:01Z	"Looking through `WP_User` in version 3.5.1 (verified against svn trunk too), the magic methods {{{ __get }}} and {{{ __set }}} supposedly read and write from custom fields, per their comment blocks.
{{{
	/**
	 * Magic method for accessing custom fields
	 *
	 * @since 3.3.0
	 */
	function __get( $key ) {
        // ...

	/**
	 * Magic method for setting custom fields
	 *
	 * @since 3.3.0
	 */
	function __set( $key, $value ) {
        // ...
}}}
And sure enough, if you look through the method bodies {{{ __get }}} will make a call to {{{ get_user_meta }}}

	{{{ $value = get_user_meta( $this->ID, $key, true ); }}}

However reading through the body of {{{ __set }}}, it never calls {{{ add_user_meta }}} or {{{ update_user_meta }}}, but has the misleading comment that it's ""for setting custom fields..."".

Seems to me like it's missing a critical line:

        {{{ update_user_meta($this->ID, $key, $value); }}}

Am I missing something, or is this a bug?"	quickshiftin
20824	current_user_can() bug with Super Admin		Users	3.3.2	normal	normal	Awaiting Review	defect (bug)	reopened		2012-06-04T10:55:53Z	2012-11-28T23:15:06Z	"If the logged in user is a super admin this returns true;

{{{
if (current_user_can('contributor')) echo 'current user is a contributor';
}}}

Normally it should return false as it does for administrator, author, editor and subscriber account types.

I spotted this while working in my localhost Multisite install then figured it doesn't work in the live standalone version! "	abdessamad idrissi
17381	display_name is not updated if javascript is disabled		Users	3.2	normal	normal	Awaiting Review	defect (bug)	new		2011-05-11T19:29:37Z	2011-05-11T19:29:37Z	"If one has javascript disabled the display name is not updated if the users changes his name. Also plugins that provide user credentials and update the users entry in the database can not determine the users display_name setting.

The display_name field should only hold a reference to the style how the name is displayed. That way no javascript would be needed to set the display_name and also plugins can change the users credentials without producing inconsistency or forcing a style for the display name."	elmll
9873	enforce a consistent home and siteurl www. pref		Users	2.8	normal	normal	Future Release	defect (bug)	new	has-patch	2009-05-19T12:36:11Z	2012-04-20T12:56:02Z	"Seen on a few sites. home and siteurl with inconsistent www prefs prevents the admin user's cookie from getting picked up properly, upon logging in.

code I currently use to prevent the issue is this:


{{{
add_action('login_head', 'fix_www_pref');

function fix_www_pref() {
	$home_url = get_option('home');
	$site_url = get_option('siteurl');
		
	$home_www = strpos($home_url, '://www.') !== false;
	$site_www = strpos($site_url, '://www.') !== false;
		
	if ( $home_www != $site_www ) {
		if ( $home_www )
			$site_url = str_replace('://', '://www.', $site_url);
		else
			$site_url = str_replace('://www.', '://', $site_url);
		update_option('site_url', $site_url);
	}
} # fix_www_pref()
}}}

there's probably a better way and a better location for this."	Denis-de-Bernardy
23228	get_users() cannot include AND exclude		Users	3.5	normal	normal	Awaiting Review	defect (bug)	new	reporter-feedback	2013-01-17T22:45:51Z	2013-01-19T03:56:22Z	"The codex describes the parameters for get_users() as an array of options, so it seems like you can set an array of includes and an array of excludes. But the code looks like it can only do one or the other. It would be a simple fix.

Lines 521-527 in wp-includes/user.php

{{{
if ( !empty( $qv['include'] ) ) {
	$ids = implode( ',', wp_parse_id_list( $qv['include'] ) );
	$this->query_where .= "" AND $wpdb->users.ID IN ($ids)"";
} elseif ( !empty($qv['exclude']) ) {
	$ids = implode( ',', wp_parse_id_list( $qv['exclude'] ) );
	$this->query_where .= "" AND $wpdb->users.ID NOT IN ($ids)"";
}
}}}

To fix, change the elseif to its own if:

{{{
if ( !empty( $qv['include'] ) ) {
	$ids = implode( ',', wp_parse_id_list( $qv['include'] ) );
	$this->query_where .= "" AND $wpdb->users.ID IN ($ids)"";
}

if ( !empty($qv['exclude']) ) {
	$ids = implode( ',', wp_parse_id_list( $qv['exclude'] ) );
	$this->query_where .= "" AND $wpdb->users.ID NOT IN ($ids)"";
}
}}}

Thanks for the consideration."	dlim_vernier
23609	get_users() causes a huge number of SQL queries causing 500 server errors		Users		normal	normal	Future Release	defect (bug)	new		2013-02-25T20:56:12Z	2013-05-20T12:04:44Z	"Hey,

get_users() function causes a 500 server error if no arguments are passed, that is all user information is trying to be read. On my website with over 50k users, it causes ~15k SQL queries (checked using general query log). Atleast one plugin I know of uses get_users() without arguments (Events-manager). This causes the plugin to cause 500 server errors.

Ideally, if no arguments are passed, only a select * from {prefix}_users should be issued instead of 15k separate queries.

Here's a part from query log which shows individual SQL queries are being made:
{{{
		   59 Query	SELECT wp_users.* FROM wp_users WHERE 1=1 ORDER BY user_login ASC
130226  2:13:11	   59 Query	SELECT user_id, meta_key, meta_value FROM wp_usermeta WHERE user_id IN (26901)
		   59 Query	SELECT user_id, meta_key, meta_value FROM wp_usermeta WHERE user_id IN (43704)
		   59 Query	SELECT user_id, meta_key, meta_value FROM wp_usermeta WHERE user_id IN (43674)
		   59 Query	SELECT user_id, meta_key, meta_value FROM wp_usermeta WHERE user_id IN (41395)
		   59 Query	SELECT user_id, meta_key, meta_value FROM wp_usermeta WHERE user_id IN (41684)
		   59 Query	SELECT user_id, meta_key, meta_value FROM wp_usermeta WHERE user_id IN (38434)
		   59 Query	SELECT user_id, meta_key, meta_value FROM wp_usermeta WHERE user_id IN (36368)
		   59 Query	SELECT user_id, meta_key, meta_value FROM wp_usermeta WHERE user_id IN (24303)
		   59 Query	SELECT user_id, meta_key, meta_value FROM wp_usermeta WHERE user_id IN (44830)
		   59 Query	SELECT user_id, meta_key, meta_value FROM wp_usermeta WHERE user_id IN (23256)
		   59 Query	SELECT user_id, meta_key, meta_value FROM wp_usermeta WHERE user_id IN (44818)
		   59 Query	SELECT user_id, meta_key, meta_value FROM wp_usermeta WHERE user_id IN (18293)
		   59 Query	SELECT user_id, meta_key, meta_value FROM wp_usermeta WHERE user_id IN (20351)
		   59 Query	SELECT user_id, meta_key, meta_value FROM wp_usermeta WHERE user_id IN (28186)
		   59 Query	SELECT user_id, meta_key, meta_value FROM wp_usermeta WHERE user_id IN (26348)
		   59 Query	SELECT user_id, meta_key, meta_value FROM wp_usermeta WHERE user_id IN (32837)
		   59 Query	SELECT user_id, meta_key, meta_value FROM wp_usermeta WHERE user_id IN (21992)
		   59 Query	SELECT user_id, meta_key, meta_value FROM wp_usermeta WHERE user_id IN (45162)
}}}"	dpacmittal
20095	get_users() doesn't allow hyphens in meta_key parameter		Users	3.3.1	normal	normal	Awaiting Review	defect (bug)	new	reporter-feedback	2012-02-22T02:29:04Z	2012-02-22T20:01:27Z	"When retrieving users with the get_users() function, the meta_key parameter does not work if the key contains a hyphen (dash).

For example:


{{{
$members = get_users(array(
		'meta_key' => 'job-seeking',
		'meta_value' => 1,
	)
);
}}}

That will result in no members being found, even though at least one user with a meta_key of ""job-seeking"" with a value of 1 does exist.

This, however, will work:

{{{
$members = get_users(array(
		'meta_key' => 'job_seeking',
		'meta_value' => 1,
	)
);
}}}"	mordauk
15115	if filter show_password_field is set to false, you cannot add new users		Users	3.0.1	normal	minor	Future Release	defect (bug)	new	has-patch	2010-10-13T23:49:57Z	2011-01-13T21:42:56Z	"Steps to reproduce:

1. add_filter('show_password_fields', false);

2. Try to add a new user, after entering the data you get the error message ""ERROR: Please enter your password.""."	pampfelimetten
14290	register_new_user() can't handle WP_Error result from wp_create_user()		Users	3.0	normal	normal	Future Release	defect (bug)	new	has-patch	2010-07-12T21:29:42Z	2011-04-28T14:48:26Z	"register_new_user() in wp-login.php does not properly handle a WP_Error object, which is the potential return value from its call to wp_create_user().

wp_create_user() is basically a pass-through to wp_insert_user().  As a result of [12778], the commit of a patch that was part of #11644 (the MU-merge ticket), new checks were added to wp_insert_user() which changed the potential behavior of the function to return a WP_Error object.  register_new_user() can thus fail with a FATAL error:

{{{
Notice: Object of class WP_Error could not be converted to int in /Users/scott/Sites/wp30.dev/wp-includes/functions.php on line 3150

Catchable fatal error: Object of class WP_Error could not be converted to string in /Users/scott/Sites/wp30.dev/wp-includes/formatting.php on line 2782
}}}

Currently it is not likely the above situation would be tripped.  But this is only because register_new_user() and wp_insert_user() perform almost identical error checks (the former does more, actually).  However, the errors generated in register_new_user() can all be suppressed by plugins via the 'registration_errors' hook.  However, some those same error checks will then be performed in wp_insert_user() and thus return a WP_Error (without a way to suppress those).

Related issues aside, the fact of the matter is that wp_create_user() can return a WP_Error object and register_new_user() can't handle it.  The fix is simple and attached.
"	coffee2code
15642	user-new input fields stretch to the edge of the screen	JohnONolan	Users	3.1	normal	normal	Future Release	defect (bug)	assigned		2010-12-02T09:01:05Z	2010-12-02T11:59:22Z	They shouldn't.	nacin
14767	wp_create_user() does not check for a valid email address		Users	3.0.1	normal	normal	Future Release	defect (bug)	new	has-patch	2010-09-02T21:38:23Z	2010-12-01T19:04:25Z	"When creating a new user an invalid email address (for example user@) will result in a zero-length string in the email field of the users table. If another new user is subsequently created with another invalid email address the error returned is ""This email address is already registered.""

It would be better for wp_create_user() to check if a valid email address has been given and return a more descriptive error. I attach a patch file for wp-includes/registration.php to include this functionality."	mrwiblog
21495	wp_insert_user allows a user to be created with empty passwords		Users		normal	minor	Awaiting Review	defect (bug)	new		2012-08-06T02:10:00Z	2012-08-06T02:10:00Z	"While looking at the different files where user information is created, I noticed that there are some differences between wp_insert_user(programmatic creation of users) and edit_user (called from the admin).

wp_insert_user assumes that a user_pass parameter is included, which creates a user with no password.  





"	ancawonka
14308	wp_insert_user in 3.0 is not backwards compatible		Users	3.0	normal	normal	Future Release	defect (bug)	reopened	has-patch	2010-07-14T21:32:40Z	2010-12-08T19:20:34Z	"Prior to WP3.0 the function wp_insert_user would always return an integer or falsy on failure.  In 3.0 this function can return either an integer, or an instance of WP_Error.   This behavior is not backwards compatible and can result in bad results.

A function that expects an integer return value will treat this WP_Error instance as an integer, which results in a '1'.  This is the id of the administrator, resulting in possible corruption of the admin account.   In particular, calling wp_update_user() with this WP_Error value will cast the error to (int) and operate on the administrator.  First line of wp_update_user:

   $ID = (int) $userdata['ID'];

Possible resolutions:
  
 best: don't return WP_Error from wp_insert_user - this is not backwards compatible.  
 otherwise: check for is_wp_error() in wp_update_user(), and every other function that takes a user id.
"	ahupp
23498	wp_list_authors ignores 'exclude_admin' arg when admin account has a display_name other then 'admin'		Users	3.1	normal	normal	Awaiting Review	defect (bug)	new		2013-02-18T09:37:59Z	2013-02-18T19:03:38Z	"Line 293 of author-template.php should be changed from:
{{{
if ( $exclude_admin && 'admin' == $author->display_name )
}}}
to:
{{{
if ( $exclude_admin && 'admin' == $author->user_login )
}}}
Thanks."	raphaabreu
20845	"wp_set_current_user( null, ""name"") does not work when $current_user is already 0"		Users	3.3.2	normal	normal	Awaiting Review	defect (bug)	new		2012-06-05T13:11:53Z	2012-06-05T16:10:58Z	"According to the documentation for wp_set_current_user() you can 

Set $id to null and specify a name if you do not know a user's ID.

This does not work when the current user has already been set to anonymous ( ID = 0 ) since the following test returns true.

	if ( isset( $current_user ) && ( $current_user instanceof WP_User ) && ( $id == $current_user->ID ) ) {

The last part of the test should be corrected to 
&& ($id === $current_user->ID) )

which will ensure that the test fails when the $id parameter is null, which will allow the rest of the pluggable function to continue and set the current user to the specified $name. 

This is similar to #19769.
Note: the change in 3.4 has not fixed this particular problem."	bobbingwide
23005	wp_update_user breaks if ID not set		Users	3.5	normal	normal	Awaiting Review	defect (bug)	new		2012-12-19T15:18:42Z	2012-12-19T15:47:58Z	"Passing an array of userdata to wp_update_user (first_name, last_name, user_email, user_login).

If ID is not in the array, then a PHP Fatal Error is triggered: 
[19-Dec-2012 15:03:16 UTC] PHP Fatal error:  Call to a member function to_array() on a non-object in [..]/web/content/wp-includes/user.php on line 1456

The codex for wp_update_user (http://codex.wordpress.org/Function_Reference/wp_update_user) does state ""If $userdata does not contain an 'ID' key, then a new user will be created and the new user's ID will be returned."", which makes me think this might be a new bug."	actionnerd
9640	wp_update_user() blindly calls add_magic_quotes(), even on objects		Users	2.8	normal	normal	Future Release	defect (bug)	reopened	dev-feedback	2009-04-24T18:14:53Z	2011-10-12T05:41:40Z	"If there's an object stored in usermeta, then the call to add_magic_quotes() will lead to an error in wpdb::escape():

{{{
Catchable fatal error: Object of class stdClass could not be converted to string in /web/ven/wp-includes/wp-db.php on line 472
}}}

http://core.trac.wordpress.org/browser/trunk/wp-includes/registration.php

See also #9638. The two problems are related, but probably need to be solved independently. "	misterbisson
9170	"""jQuerify"" adding a new user..."		Users		normal	normal	Future Release	enhancement	new	close	2009-02-18T23:11:58Z	2011-02-12T04:43:57Z	"After adding a new user it's confusing that only that user is displayed in the table.  It always takes me a couple seconds before I realize that it's just showing the new user.  It seems it would be more efficient to show all of the users and just have the new row highlighted with jQuery.  

(I can code this if needed.)"	aaron_guitar
21314	Add password reset key expiration		Users	3.4.1	normal	minor	Awaiting Review	enhancement	new	has-patch	2012-07-19T11:30:19Z	2012-07-20T09:59:31Z	"Password reset using correct user_activation_key is currently possible forever.

Attached is a patch which clears newly created user_activation_key after one week."	skithund
22921	Allow get_users() to return array of values via 'fields' parameter		Users	3.5	normal	normal	Future Release	enhancement	new	has-patch	2012-12-13T17:39:24Z	2013-05-16T11:54:18Z	"Currently, the `'fields'` parameter in the arguments array for `get_users()` only accepts either an array of user data fields, or the string `'all'`. Both of these options cause `get_users()` to return an array of object comprised of the specified user data. Passing any other string value to `'fields'` causes `get_users()` to return an array of user IDs.

Per the Codex:

> Array of objects, '''except when fields specifies a single field to be returned, then an array of values is returned'''. If fields is set to all_with_meta, it will return an array of WP_User objects.

This statement appears to be untrue, but would be incredibly useful if it were true.

Patch adds this functionality to `get_users()`.

Potentially related: #18581"	chipbennett
17326	Allow new user registrations to be moderated		Users	3.1	normal	normal	Awaiting Review	enhancement	new		2011-05-05T04:29:10Z	2011-05-05T16:02:57Z	"'''Summary'''

When registration is open, have the option to require manual approval of user accounts before they are granted default role status.

'''Details / Suggested Implementation'''

Create a new user role (""Moderated""?) which for all intents and purposes is the same as ""Subscriber"" (`read` capabilities).

If opted into, user moderation would assign new users this new role. Administrators would be able to see these users listed under the Users list and click an approve link which would change their role to the default user role (as per the General Settings).

This would also make it easier for plugins to implement private blogs while having open user registration.

See also: #12030"	Viper007Bond
5918	Allow non-ASCII usernames		Users	2.3.3	normal	normal	Future Release	enhancement	new	has-patch	2008-02-19T11:35:20Z	2013-01-19T08:05:21Z	"Hello ...
I can't make New username with arabic characters ...

who i can apply an arabic characters in usernams ?

Thank you ..."	marshosh
24193	Anti brute force protection		Users	3.5.1	normal	normal	Awaiting Review	enhancement	new	close	2013-04-25T18:07:41Z	2013-04-25T21:46:00Z	"To protect against hacking should be added to the login form protection from brute force. Now the password can enter an unlimited number of times. It is necessary to limit the number of login attempts.

For example, some variants:
1) Captcha after three unsuccessful attempts
2) Temporary inability to login after three unsuccessful attempts
3) something else

"	MAzZY
12340	Assign Certain Categories/Taxonomies To Site Authors		Users	3.0	normal	normal	Future Release	enhancement	new	dev-feedback	2010-02-22T23:15:41Z	2010-02-22T23:58:17Z	"We all know that WP is more like a CMS compared to just a piece of blogging software, and when it comes to having multiple authors, this is when this enhancement would really shine! :) If it doesn't make 3.0, then I'd hope 3.1 anyway?

So basically when you add another user, or alter a users account, the option will be there to check the boxes of whatever category and/or any taxonomies that particular person will be allowed to have posts published in. That's the plan anyway!"	markmcwilliams
8296	Auto generate password for new user	jamierumbelow	Users		normal	normal	Future Release	enhancement	new		2008-11-20T16:25:53Z	2012-07-26T15:46:14Z	It would be nice to have a button that generates a random password to use when you're creating a new user account in the admin section	AaronCampbell
23857	Delete User Should Delete Comments		Users	3.5.1	normal	normal	Awaiting Review	enhancement	new		2013-03-25T07:10:55Z	2013-04-02T04:53:31Z	The delete user function should also delete that user's comments or attribute that users comments to the person specified. That way, deletion of accounts goes a lot smoother.	jamcat22
19615	Deprecate get_currentuserinfo()		Users		normal	normal	Awaiting Review	enhancement	new	has-patch	2011-12-19T20:23:28Z	2011-12-20T18:49:45Z	"{{{get_currentuserinfo()}}} is a pluggable function that encourages an ugly pattern in theme files:

{{{
global $userdata;
get_currentuserinfo();
}}}

It can easily be replaced with this:

{{{
$current_user = wp_get_current_user();
}}}"	scribu
11297	Don't email the admin when he creates a user from the backend		Users	2.9	low	minor	Future Release	enhancement	new		2009-12-01T12:05:31Z	2011-01-08T18:57:43Z	"I just created the user myself. I already know I did it. I don't need to be told again.

Emails should only be sent to the admin when a user registers themselves (if that is enabled). They shouldn't be sent when the admin manually creates a new user."	caesarsgrunt
13339	Hook on ms-users.php		Users		normal	normal	Future Release	enhancement	new		2010-05-11T11:45:37Z	2010-05-17T15:14:25Z	"On WP 3.0 it is possible to add new users as Super Admin, but they do not really assign each instance. So it would be useful when creating the user, if you have a selection of instances that are created and then selecting one with the checkbox where the user should get access.

Maybe it is possible to add a hook for add own fields, similar the possibilies on user-edit.php for profile fields."	bueltge
12393	Hooks to enable custom login without editing core files		Users	2.9.2	low	normal	Future Release	enhancement	new		2010-02-26T21:01:06Z	2010-04-23T18:32:10Z	"One of the basic features of wordpress is to avoid having users edit core files.
It is impossible to properly customise wp-login without manually editing the file directly - not good for upgrades!

Need to make login_header function pluggable or add a do_action hook before the <html....> tag
Need to add a login_footer.

In fact what is required was highlighted in #4478 complete with diff file. This was marked as resolved BUT IT WAS NOT! I agree it might be a duplicate of issue #9682 BUT the underlying issue of being able to overwrite the login-header function WAS **NOT** solved.

(see recent support forum requests #252094  and #333994)

The solution MUST allow a replacement of login header (and even better also a replacement of the </body></html> tags from the switch statement with a login_footer function which could also be overrided - pluggable).

Thanks.

In an ideal world need to re-open #4478 to ensure accurate resolution.

Thanks"	sleepuser
23373	Limiting get_users() results by meta value with LIKE wildcards		Users	3.5	normal	normal	Awaiting Review	enhancement	new	has-patch	2013-02-03T03:07:03Z	2013-02-03T06:56:27Z	"I want to limit the results returned by get_users() to a subset of the users based on some criteria that will be stored in the User Meta table (e.g. all users whose first name begins with M).

Here arr the args I am passing to get_users():
{{{
(
    [include] =>
    [exclude] =>
    [fields] => all_with_meta
    [meta_key] => last_name
    [meta_value] => M%
    [meta_compare] => LIKE
)
}}}
This is the query the WordPress constructs for me:
{{{
[01-Feb-2013 16:01:08 UTC] WP_User_Query Object
(
    [query_vars] => Array
        (
            [blog_id] => 1
            [role] =>
            [meta_key] => last_name
            [meta_value] => M%
            [meta_compare] => LIKE
            [include] =>
            [exclude] =>
            [search] =>
            [search_columns] => Array
                (
                )

            [orderby] => login
            [order] => ASC
            [offset] =>
            [number] =>
            [count_total] =>
            [fields] => all_with_meta
            [who] =>
        )

    [results] => Array
        (
        )

    [total_users] => 0
    [query_fields] => wp_users.ID
    [query_from] => FROM wp_users INNER JOIN wp_usermeta ON (wp_users.ID = wp_usermeta.user_id)
    [query_where] => WHERE 1=1 AND ( (wp_usermeta.meta_key = 'last_name' AND CAST(wp_usermeta.meta_value AS CHAR) LIKE '%M\\%%') )
    [query_orderby] => ORDER BY user_login ASC
    [query_limit] =>

}}}
----

As you can see, the LIKE clause is escaped and wrapped with SQL wildcard operators.  I can't figure out how to prevent this from happening as what I want is ""LIKE 'M%'"" to be my actually query.

 Andrew Nacin wp@andrewnacin.com via lists.automattic.com 
 11:24 am (1 day ago) to wp-hackers 

 Currently, ""LIKE"" prepends and appends wildcards, as in %term%. We could add ""%LIKE"" and ""LIKE%"", though that would not help with the situation where you want LIKE taken literally, potentially without % wildcards at all. (Such as using _ as a single-character wildcard, or looking for case insensitive matching.) Probably the best way to add to this API would be to allow for a 'like_escape' => false; that would accept your value as provided. If you'd like to submit a ticket (and patch), this can definitely find its way into 3.6.

 Nacin


----

I have prepared a patch to meta.php which allows escaped LIKE and NOT LIKE meta compares to work properly.
"	mpwalsh8
19821	Make wp_validate_auth_cookie() filterable		Users	3.3.1	normal	normal	Awaiting Review	enhancement	new	has-patch	2012-01-13T09:30:35Z	2012-06-19T16:26:18Z	"When WordPress loads, it does not call the same functions as when login form is submitted - instead it uses different ones to validate that authentication cookie is present and valid. Call stack is as follows:
{{{
settings.php
WP::init()
wp_get_current_user()
get_currentuserinfo()
wp_validate_auth_cookie()
}}}
When plugin wants to validate some extra things (e.g. decide if user can login by checking user meta), the only way is to replace one of functions defined in pluggable.php -  `wp_validate_auth_cookie()` seems to be a good candidate for this. Unfortunately this can be done only once, so now it is impossible to use few plugins which wants to do some extra checks at the same time. Therefore I propose to extend the `wp_validate_auth_cookie()` function by adding `validate_auth_cookie` filter to it - see attached patch. It will allow to hook into the cookie validation process, without the need to replace pluggable function."	sirzooro
18132	Misleading message when deleting a user with no sites		Users		normal	trivial	Awaiting Review	enhancement	new	has-patch	2011-07-15T17:53:14Z	2011-07-15T18:41:43Z	"In multisite, when deleting a user with no sites, the following message appears:

  Transfer or delete posts and links before deleting users.

This is a confusing message because there are no posts or links to transfer/delete. The message should be changed to something else."	danielbachhuber
21730	More modular and reusable email validation functions		Users		normal	normal	Awaiting Review	enhancement	new	dev-feedback	2012-08-29T16:04:04Z	2012-08-29T19:56:12Z	"Email validation, especially as it's handled in Multisite (most of which is verbatim from MU), is pretty messy. We have some functions like `is_email_address_unsafe()` for checking banned domains, but we don't have a parallel function for checking against limited_email_domains. There are no filters outside of `wpmu_validate_user_signup`, which means that if you want to use email validation outside of the normal MS registration workflow and want to tweak the way that it works (see eg #15706, #20459), you pretty much have to roll your own. And there's no single function that a plugin like BuddyPress can use to do all relevant email checks in one fell swoop.

The attached patch suggests the following changes:
- Put the limited_email_domains check into a function, `is_email_address_allowed()`.
- Put filters on the output of this new function as well as `is_email_address_unsafe()`.
- Introduce function wp_validate_email_address(), which wraps the following four checks: is_email(), email_exists(), is_email_address_allowed(), is_email_address_unsafe().
- Rearranges `wpmu_validate_user_signup()` a bit so that all email checks (as opposed to username checks) happen together.

I'm not married to anything in this particular implementation (the way that wp_validate_email_address() sends back error messages is not particularly beautiful, but I didn't want to introduce a ton of overhead), but I would really like to see some sort of treatment along these lines, to make things more modular and reusable.

If something like this gets approved by the devs, I would like to further suggest the following:
- Give a similar treatment to username validation
- Move the generic validation functions out of ms-functions.php (with function_exists() checks on the MS-specific stuff)

I'm happy to work more on this kind of patch, but didn't want to go too far in case it's a non-starter for some reason."	boonebgorges
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
12960	Number of posts on the Users page should include drafts and pending review		Users	2.9.2	normal	normal	Future Release	enhancement	new	has-patch	2010-04-11T02:35:03Z	2010-10-27T11:26:31Z	"The numbers of posts on the Users page currently only include published posts, which I think is not good enough. For example, I have a contributor who has only written a few drafts and submitted a few articles for review.

If I decide to delete him and base my decision on what I see on the Users page, I would probably just go with the ""Delete the user and all his posts"" option, which would delete more than I would expect."	archon810
23057	Pass $reassign in the delete_user hook		Users	3.5	normal	normal	Awaiting Review	enhancement	new	has-patch	2012-12-26T05:42:00Z	2012-12-26T06:21:14Z	"File: wp-admin\includes\user.php

In the wp_delete_user function, there are 2 do_action hooks
- do_action('delete_user', $id);
- do_action('deleted_user', $id);

The $reassign variable should also be passed along. We can then decide what to do when the admin delete a user by ""Delete all posts"" or ""Attribute all posts to: XYZ""."	genkisan
22328	Pass reset password URI to retrieve_password_message filter		Users	2.8	normal	normal	Awaiting Review	enhancement	new	has-patch	2012-10-30T23:34:17Z	2012-10-31T11:24:10Z	"The arguments for the <code>retrieve_password_message</code> filter are the message itself and the reset key. However the URI requires the user login as well in order to be valid, thus we cannot regenerate the password reset link without it.

Proposed solution - pass the reset URI instead of just the key."	ejdanderson
18399	Password Strength Meter should usually mark passwords that contain password as weak		Users		normal	normal	Awaiting Review	enhancement	new	close	2011-08-13T23:41:11Z	2012-08-15T23:22:51Z	"Password (in human and l337 form) is a horrible password.  Unless a password is really long, we should mark passwords that contain 'password' as weak.  

Test Case :  password123 returns Strong"	jorbin
18743	Persistent redirect_to For Login, Registration, and Lost Password		Users	3.3	normal	normal	Awaiting Review	enhancement	new		2011-09-22T07:04:39Z	2013-02-19T13:50:21Z	"Currently, if redirect_to is passed in to the login screen and then a user clicks Register or Lost Password, the redirect_to gets lost. I think that the redirect_to should be persistent and honored whether the user logs in, registers or gets a lost password.

I've written a hacky filter to do this, but I think this ought to be included in the core. Here's what I did:


{{{
//Keep redirect_to in URL
add_filter('site_url', 'foxyshop_add_registration_redirect', 5);
function foxyshop_add_registration_redirect($path) {
	if ((strpos($path, ""action=register"") !== false || strpos($path, ""action=lostpassword"") !== false) && isset($_REQUEST['redirect_to'])) return $path . '&amp;redirect_to='.urlencode($_REQUEST['redirect_to']);
	if (substr($path, strlen($path)-12) == ""wp-login.php"" && isset($_REQUEST['redirect_to'])) return $path . '?redirect_to='.urlencode($_REQUEST['redirect_to']);
	return $path;
}

}}}

(I know 3.3 is in freeze now, but there wasn't another version option)"	sparkweb
24273	Provide a way for Theme/Plugin developers to get a list of user contact methods		Users		normal	normal	Awaiting Review	enhancement	new	has-patch	2013-05-06T16:15:54Z	2013-05-07T16:02:40Z	"When templating an author page it is useful to be able to provide a list of social media links. There's great support for adding custom links using the user_contactmethods filter, but there's no public way to get a list of those contact methods without the user's other info mixed in.

There is a private function _wp_get_user_contactmethods(), that does this. Why not make it public?

"	johnnyb
23413	Provide query result data to custom user columns		Users		normal	normal	Awaiting Review	enhancement	new	has-patch	2013-02-07T15:22:53Z	2013-02-16T19:25:01Z	"When the filter manage_users_custom_column is triggered, it sends an empty string for the value field.

Since it's easy enough to extend the WP_User_Query with extra fields, it would be good to have those fields passed through if they exist to save having to requery the database with the user_id parameter to get the data.

I have attached a patch to show what I mean."	JohnC28
23368	Random order for wp_user_query		Users	3.5	normal	normal	Awaiting Review	enhancement	new	dev-feedback	2013-02-02T09:24:40Z	2013-02-02T15:42:14Z	"Unlike the '''wp_query''', '''wp_user_query misses''' the order by random option.

This option is necessary when you have a lot of users and we want to show only some of them randomly in a widget or anywhere on the blog.

It would be great to have this option in the next wp release."	gandham
16470	Require confirmation on email change		Users	3.0	normal	normal	Awaiting Review	enhancement	new		2011-02-06T12:07:11Z	2011-02-06T19:06:19Z	"When a new user is registered for a site, the e-mail he provides gets easily confirmed. But immediately after that, the new member can visit his profile and is able to change his e-mail to anything. Regardless of whether it is done on purpose or the user enters a wrong e-mail by mistake, the admin cannot contact the member, should he has to for any reason. The e-mail address is of great importance in such cases and I don't think that's a rare need!

I've had the impression that WP was not offering this feature, but then I realised that the code lies in core, though restricted to multisite installations. I find it quite difficult to understand why.

There might seem to be a relation to #13717, but what I propose hereby is just giving the admin of a single-site installation the '''option''' to activate e-mail change confirmation.

I think the implementation would only require a few changes in wp-admin/user-edit.php, making send_confirmation_on_profile_email() available outside of wp-admin/includes/ms.php and adding an option in Settings.

Why would we have to hack the core or consider a plugin for something almost already offered in core? That's why I describe the ticket as ""enhancement"", not ""feature request""."	linuxologos
16235	Site Welcome Email sent without regard to noconfirmation flag		Users	3.1	normal	normal	Future Release	enhancement	new	has-patch	2011-01-14T19:18:34Z	2011-09-15T23:31:22Z	"In multisite and the super_admin adds a new user to a site, 
if the user is new to the network, WP sends out the welcome email (but not the confirmation of being added to the site)

In my client's use case, they were looking for the SBD (silent but deadly) mode, as in no email at all should go out.

The language implies there is ""no"" notification but the welcome email belies that language.

if even the welcome email should be disabled, then 
in wp-admin/user-new.php (around line 108)
adding
`add_filter('wpmu_welcome_user_notification', ''__return_false');`
would kill the new user notification from wpmu_activate_signup() (a few lines later)
"	transom
20221	Skip Confirmation Email option only visible to Super Admins		Users	3.4	normal	normal	Awaiting Review	enhancement	new	dev-feedback	2012-03-12T20:08:13Z	2012-11-22T03:52:17Z	"When adding a new user in WordPress Multisite, the ""Skip Confirmation Email"" option is only available to Super Admins.  

If you enable the ""Add New Users"" featured for site admins, they'll have the ability to create new users under Users > Add New.  However the ""Skip Confirmation Email"" option is hidden because they are not a Super Admin.  

Super Admins and Admins should have the ability to enable this option when adding new users. "	williamsba1
17179	Sort user by metadata value		Users	3.1	normal	minor	Awaiting Review	enhancement	new	has-patch	2011-04-19T16:11:57Z	2011-04-19T16:11:57Z	"It would be nice to sort users by metadata value, the way it works for posts. For instance: 

{{{
#!php
$users = get_users(array(
  'orderby'  => 'meta_value_num', 
  'order'    => 'DESC', 
  'meta_key' => 'score', 
));
}}}

Therefore it needs to add the lines below at line 436 of file wp-includes/user.php:


{{{
#!php
} elseif( (!empty($qv['meta_key'])) && ( 'meta_value' == $qv['orderby']) ) {
  $orderby = ""$wpdb->usermeta.meta_value"";
} elseif( (!empty($qv['meta_key'])) && ( 'meta_value_num' == $qv['orderby']) ) {
  $orderby = ""$wpdb->usermeta.meta_value+0"";
}}}"	ziofix
16318	The reset password process could be clarified		Users	3.1	normal	normal	Future Release	enhancement	assigned	early	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
24088	Update get_users_drafts() to support custom post types		Users	3.5.1	normal	normal	Awaiting Review	enhancement	new		2013-04-15T11:17:52Z	2013-04-15T11:17:52Z	Currently get_users_drafts() access drafts of 'post' type only. Would be useful if it could support custom post types as well.	navjotjsingh
21744	WP_User_Query does not support post type		Users	3.4.1	normal	normal	Awaiting Review	enhancement	new	has-patch	2012-08-31T00:13:59Z	2012-12-22T07:46:03Z	"unfortunately WP_User_Query only support 'post' right now.
i've attached my modified user.php"	AliMH
22212	WP_User_Query( array('role' => $role) ) should accept array or not return anything if array		Users		normal	normal	Awaiting Review	enhancement	reopened	needs-unit-tests	2012-10-17T12:37:43Z	2013-03-26T22:52:38Z	"I got a small problem with WP_User_Query - i wanted to find users from more then one roles to send them e-mail, so i did


{{{
$role = array('role-1','role-2);
$wp_user_search = WP_User_Query( array('role' => $role) );
$users = $wp_user_search->get_results()
foreach ($user) ... send wp_mail
}}}


problem is, that role param accepts only string. It would not be a problem if it would return nothing, problem was, that it actually returns ALL users, so i have send my author-only emails to all thousands users in database :-(

I know that it is my fault, that i have to read documentation, but i thought, that it works as other wp queries, so if the parame do not fit, it throws error, but it does not."	thomask
6405	When deleting users without any links/posts, don't ask to whom they should be reattributed	rajnikmit*	Users	2.7	normal	normal	Future Release	enhancement	accepted	has-patch	2008-03-27T01:01:15Z	2013-03-09T12:34:39Z	When deleting a user, it asks to whom their links/posts should be reattributed (or if they should be deleted).  We can skip this screen if they don't have any links or posts.	markjaquith
21982	check wp_authenticate_cookie		Users	3.4.2	normal	normal	Awaiting Review	enhancement	new	has-patch	2012-09-24T06:45:56Z	2012-09-24T06:45:56Z	"I am analyzing the authentication system wordpress, caught my atension the function logic `wp_authenticate_cookie` in (`wp-includes/user.php`) and decided to make a very small change.


>I made a file of changes:
> https://gist.github.com/3774628"	fitorec
21043	is_user_logged_in() returns true even if user is not logged in		Users	3.4	normal	normal	Awaiting Review	enhancement	new	dev-feedback	2012-06-21T20:40:13Z	2012-06-21T20:56:54Z	"If you have {{{wp_set_current_user()}}}, then {{{is_user_logged_in()}}} will always return true. This goes against my understanding of the role of wp_set_current_user() especially as explained by the documentation:

""Some WordPress functionality is based on the current user and not based on the signed in user. Therefore, it opens the ability to edit and perform actions on users who aren't signed in.""

But then we look at {{{is_user_logged_in()}}} and it just says - can we {{{get_current_user()}}}? 

Suddenly wp_set_current_user is looking like wp_switch_logged_in_user(), which I doubt is the intent of that function.
"	TomAuger
16860	"map_meta_cap use ""manage_network_users""  instead of is_super_admin for  edit_users"		Users		normal	minor	Awaiting Review	enhancement	new		2011-03-15T18:45:07Z	2011-03-15T20:54:07Z	"I find that for a multi-site setup, the ability to edit users is inconsistent. there is a capability called ""manage_network_users"", but this cap if given to ""regular"" admin's does not give them the power to edit users. 
The current code in map_meta_cap  in wp-includes/capabilities.php is:
{{{
case 'edit_users':
	// If multisite these caps are allowed only for super admins.
	if ( is_multisite() && !is_super_admin( $user_id ) )
		$caps[] = 'do_not_allow';
}}}
removing any flexibility, I would suggest having this based on the ""manage_network_users"" capability, giving us much more flexibility in terms of assigning power to control user administration."	sboisvert
23430	sanitize_user() disallows + in usernames causes problem for email as username		Users	3.5.1	normal	minor	Awaiting Review	enhancement	new	has-patch	2013-02-09T08:48:31Z	2013-02-10T15:39:20Z	"I want to use email addresses as usernames which seems to work fine, except sanitize_user() doesn't allow a + in the username and my email addresses have + in them.  

Google/gmail allows one to use a + modifier on emails like so:
user+admin@gmail.com, user+editor@gmail.com, user+author@gmail.com, etc...

I often use this to get around WordPress's requirement for unique email addresses but it's also intended for and useful in filtering: user+blog1@gmail.com, user+blog2@gmail.com, etc...

Is there a reason we can't allow +'s in usernames or could it be moved to the strict case only?  

See formatting.php:892

"	jb510
22310	wp_insert_user bit ilogical with rich_editing		Users		normal	normal	Awaiting Review	enhancement	new		2012-10-30T09:08:56Z	2012-10-30T12:21:17Z	"when you do wp_insert_user with rich_editing = TRUE it actually set rich_editing to ""1"" what is then interpreted as FALSE. I know (after searching why it does not work for me), that for actually setting true you need to set rich_editing to empty value, but anyway i think it is not optimal"	thomask
17219	Add Existing User - E-mail Notification ( /wp-admin/user-new.php )		Users		normal	normal	Awaiting Review	feature request	new	reporter-feedback	2011-04-22T21:10:17Z	2011-08-07T22:04:12Z	"When adding an existing user to a site, we click ""Skip Confirmation Email Add the user without sending them a confirmation email"" to add the user immediately to the site. We've noticed that there is no notification that the user has been added to a new site. Could email notification upon adding existing user be considered? Thanks!"	chaos1
12032	Additional Option of Site Admin -> Options -> Allow new Registrations.	kallumamaji	Users	3.0	normal	normal	Future Release	feature request	reviewing		2010-01-26T00:29:42Z	2011-12-29T09:29:57Z	"MU Trac Ticket: http://trac.mu.wordpress.org/ticket/799

Right now the 4 options are: Disabled - noone can register a new account or blog Enabled - blogs and user accounts can be enabled (at the same time as the request) Only User Account - Only a user account can be created. Only Logged in User - Cannot create a user account but those who can log in can create a blog.

Need a 5th option for Create User Account and Allow blog creation if logged in.

With the 5th option it will allow new registrations., but only allow them to request a new blog if they are a valid online user after registration.
"	wpmuguru
14644	Administrator should be able to change usernames		Users		normal	normal	Awaiting Review	feature request	reopened	dev-feedback	2010-08-19T13:57:38Z	2013-04-14T19:26:57Z	"I can't think of any reason why administrators shouldn't be able to change usernames.

I do this occasionally (via SQL) and find that it causes no problems whatsoever (that I've noticed)."	holizz
9568	Allow users to log in using their email address		Users	2.8	high	major	Future Release	feature request	assigned	has-patch	2009-04-17T17:11:28Z	2013-04-11T03:50:35Z	"I've been looking into a few tickets and adding patches to things that were potentially problematic when implementing a membership plugin (#1626, #4170, #9563, #9564). The general idea being twofold: to avoid duplicate users at all costs -- because it's a bloody mess to merge users in a billing system.

I'm about to embark on a mid-sized patch that renders the WP username field optional. This is a natural next step from #9563 and #9564.

Users could then be allowed to specify an email only, when registering. And they could use their email to login -- in addition to their username if they specified one."	Denis-de-Bernardy
16911	Member profile management (WP vs BP)		Users	3.1	normal	normal	Future Release	feature request	reopened		2011-03-21T02:46:09Z	2011-04-15T09:42:50Z	"One thing that continuously bugs me in WP is the user management/profile fields, particularly with BP added. 

A lot has been done in the past releases, but there is apparently still no easy way to quickly customize user profiles and signup forms accordingly beyond the contact methods (without a plugin).

Also, the parallel existence of WP profiles and the BuddyPress X-profiles seems redundant and is confusing, in my opinion. User management/Profiles as such aren't only a feature of a social layer. I believe this should be a core feature, not a plugin-feature...
"	youngmicroserf
12682	Multiple password reset messages	dd32*	Users	2.9.2	normal	normal	Future Release	feature request	accepted		2010-03-23T15:51:01Z	2011-01-07T00:15:50Z	"There's a security flaw mentioned in #10006: an attacker can bother users with password reset messages.

The problem was reported on Russian support forums by the user receiving hundreds of such messages on his email address. He managed to solve it himself.

He also proposed to introduce some kind of timeout for password resetting. Is it possible?"	SergeyBiryukov
14460	New Permission for no_user_edit so users with edit_users can't edit it		Users	3.0	normal	major	Future Release	feature request	new	has-patch	2010-07-29T23:28:18Z	2011-12-24T20:23:31Z	"I recently experienced a problem where I have an administrator role with full access and a site administrator role with most access including the ability add, edit, and delete users. However, I don't want the Site Administrator to be able to delete users of the role Administrator.

The change I'm proposing is a new permission or marker which states that if enabled, this user can't be changed by another user who isn't the same role. If possible, I might try to add the patch myself.

This is a fairly important issue which would is interfering with WordPress' use as a content management system, and the only work around I've found is to edit core file."	brandon.wamboldt
22624	New current_user_has_role function to work for roles like current_user_can does for caps		Users		normal	normal	Awaiting Review	feature request	new		2012-11-28T22:11:49Z	2012-11-28T23:14:31Z	"current_user_can( 'capability' ) is great, but it would save some code and be more reliable if we had something like this for roles as a global function that's easy to get at:

current_user_role( 'editor' ) would return true if the user has the editor role, false if they weren't.

I'll work on a patch for this when I get a moment, this is just here to remind me and let others know what I'm thinking."	sc0ttkclark
22114	Propagating password on change		Users	3.4.2	normal	normal	Awaiting Review	feature request	new	close	2012-10-06T08:30:47Z	2012-10-08T04:54:45Z	"After creating an account or changing profile information, it is possible to intercept the changed data in a hook. However, this is not possible for the cleartext psasword, and this is a useful feature especially when propagating a password change over different accounts spanning across different systems (in contexts such as updating the password for phpBB, Prestashop, or any PAM thingie when the WordPress password is changed).

Since this feature is by no means possible to implement without core hacks, I am submitting a patch to include this feature in the WP core.

This patch proves useful if we are to integrate other software bricks without having to implement SSO using WordPress' architecture. In my context, I need to be able to log-in through WordPress or directly through the business specific back-end.

Proposed patch is attached."	ChloeD
12461	"Resend Pass to users from ""admin > users""-list"		Users	2.9.2	normal	normal	Future Release	feature request	new		2010-03-02T15:23:32Z	2010-03-02T17:34:01Z	"In some of my projects i got the case, that i have to resend the password to some of my users (in this cases WP is used as a CMS). So i needed a possibility to resend (better would be: reset) the pass. Currently i'm stuck with a custom admin-UI on a template-page that contains a list of users (each in a row).

Currently i got the follwing (in a custom list/table of users) for each user at the end of the <tr>-row:
{{{
$user_login = isset($_POST['user_login']) ? stripslashes($_POST['user_login']) : '';
echo
'<td id=""' . $user->ID . ';user_pass;' . $wpdb->users . '"">' .
'<form name=""lostpasswordform"" id=""lostpasswordform"" action=""' . site_url('wp-login.php?action=lostpassword') . '"" method=""post"" target=""_blank"">' .
'<input type=""text"" name=""user_login"" id=""user_login"" class=""input hide"" value=""' . $curuser->user_login  . '"" size=""15"" tabindex=""10"" />' .
'<input type=""submit"" name=""wp-submit"" id="""" class=""small margin-null"" value=""reset"" tabindex=""100"" />' .
'</form>' .
'</td>';
}}}
This makes it possible to resend the wp_mail to ask the user to reset the pass. I'm not the best at php, so i couldn't achieve any sort of bulk managing this, so i set the target to blank.

I hope this function get's into the user-quickmenu. As i stated before: It would be great if you could reset the pass, so the user get's a new pass in an instant."	F J Kaiser
21128	Sort Users by Sites		Users	3.4	normal	major	Awaiting Review	feature request	new		2012-07-01T18:10:12Z	2012-07-01T18:57:16Z	In wp-admin/network/users.php please add the option to sort users by site name. 	jsaf
12705	Suggest add new filter to wp_insert_user()		Users		normal	normal	Future Release	feature request	new		2010-03-25T13:59:20Z	2010-03-26T00:46:48Z	"Now, there is no way to change new registration workflow. When every attribute is valid, user registration is approved. I want to add  filter to interrupt this workflow to wp_insert_user(). Such as:
// in registration.php line 105
$userdata = apply_filter(filter_name, $userdata)
if( !$userdata ) return

I want to use this filter to interrupt normal registration flow."	nkucyd@…
16020	Upload custom avatar for user in Dashboard	nacin	Users		normal	minor	Future Release	feature request	reviewing	dev-feedback	2010-12-29T08:07:53Z	2013-01-29T20:18:15Z	It would be nice to be able to upload a custom avatar for a user in the WordPress Dashboard rather than making each user sign up for a Gravatar account and upload the image to that account.	computerwiz908
8911	Use $WP_User as the standard unit of user information	jeremyclarke	Users		normal	normal	Future Release	feature request	new		2009-01-21T19:51:14Z	2011-08-04T23:15:43Z	"Right now much of the core code and most plugins use the old get_userdata() function to fetch information about users. This works okay for most cases but fails to take advantage of the new $WP_User object type. Using the objects makes the user information much more powerful because you can immediately call methods like $user->has_cap('edit_posts') without messing around. It also just makes sense, and not using the pretty object is silly.

In some places, like edit-user.php, where more functionality is needed there are functions like get_user_to_edit() that make use of the $WP_User object. I think that WP should clearly move towards always using the modeled object version rather than the straight db version in all places, and encourage plugin authors to do the same. 

Luckily the $WP_User wrapper uses get_userinfo to fetch its data and rewrites all the elements into its first level, so effectively the resulting object from $WP_User has all the same data as get_userinfo() and thus deprecates perfectly in all situations. 

My proposal would be to create a new wrapper function to be used instead of get_userinfo():


{{{
get_user($id, $name = '')
}}}


This would just initiate the object and return it, similar to get_post. It's also fits much better in the overall naming conventions of wp with friends like get_term. 

If possible, it might also be good to move the actual database sql from the get_userdata() function into the $WP_User object definition somewhere, that way its all in one place. Looking at it now it also seems like the whole _fill_user() function thing could be done more elegantly to explain itself and the cache better. [problem: pluggable.php has get_userdata(), which complicates things]

Finally, since get_userdata() currently calls _fill_user() every time then fetches all meta_value/key's for the user, wouldn't it be faster to make just one db call that fetches the row from wp_users AND the values from the usermeta table? If you are checking 30 users on your page for some reason (say, a twitter style list of your authors in the sidebar) that would save 30 database connections, which makes a difference no matter what! 

[probably should be in another ticket, but it would also be great to have access to a global function get_users() that fetched a set of users (say, active ones or a specific role) all at once based on criteria like get_terms() or get_posts(), it would save time if you are getting many users and if it added them all to the cache after fetching it would probably be a lot faster than checking each user individually]

I'm very interested in feedback. I'll try to work on a patch at some point soon (mental note: before 2.8 feature freeze)"	jeremyclarke
14412	User Registration via Templates		Users	3.0	normal	normal	Future Release	feature request	new		2010-07-25T00:21:41Z	2010-08-03T00:35:36Z	"To improve the vast multitude of WP installtions that utilize member registrations, I suggest and implore the development team to improve user registration via templates. The reasons are as follows:

- More secure
- More flexible
- Better customization options
- Better integration

I was prompted by this post: http://www.cozmoslabs.com/2010/05/31/wordpress-user-registration-template-and-custom-user-profile-fields/ the development of Hooks and Filters has made it relatively easy to make such improvements system-wide."	GuruXL
23045	WP_User_Query features		Users		normal	normal	Awaiting Review	feature request	new		2012-12-22T06:14:45Z	2013-02-02T11:20:46Z	WP_User_Query does not updated recently and due to more use of wordpress as CMS needs of custom query per users increased, WP_User_Query lack post type support(i add a ticket for it #21744) lack taxonomy/multiple taxonomies query and alot others, maybe its time to update WP_User_Query like WP_Query. it's really a need for common works these days.	AliMH
20606	orderby rand param does not work with either WP_User_Query or get_users		Users	3.2.1	normal	normal	Awaiting Review	feature request	new		2012-05-02T22:12:34Z	2012-05-15T19:20:21Z	"Using WordPress 3.2.1


{{{
$contributors = get_users(array('role' => 'contributor', 'orderby' => 'rand', 'number' => 3));
}}}


{{{
$wp_user_search = new WP_User_Query(array('role' => 'contributor', 'orderby' => 'rand', 'number' => 3));
$contributors = $wp_user_search->get_results();	
}}}"	kjmeath
11344	'Show' link doesn't appear for about 10s after 'Crunching' is finished.		Upload	2.9	normal	minor	Future Release	defect (bug)	new	has-patch	2009-12-06T12:48:23Z	2011-02-06T07:24:00Z	"After uploading an image, the 'Show' link doesn't appear for about 10s after 'Crunching' is finished.

Firefox 2.5.5, WP r12320 (but applies to all versions)."	caesarsgrunt
5953	Absolute upload_path fails	tellyworth	Upload		normal	normal	Future Release	defect (bug)	reopened		2008-02-22T05:39:43Z	2009-11-20T20:03:34Z	"1. On Options/Misc, enter ""/tmp/foo/bar"" as a value for the upload path setting.
2. Write a new post and attach an image.

Expected: the image file should be stored as /tmp/foo/bar/2008/02/file.jpg or similar.

Actual: a 'tmp/foo/bar' subdirectory is created within ABSPATH (if that's possible) and the file is stored there.  Both the filesystem path and URL path just append '/tmp/foo/bar', so you get 'ABSPATH//tmp/foo/bar/2008/02/file.jpg' and 'http://example.com//tmp/foo/bar/2008/02/file.jpg'

An absolute upload_path should probably be rejected unless you also specify an upload_url_path, because there's no way to know what URL corresponds to an arbitrary filesystem path.
"	tellyworth
22363	Accents in attachment filenames should be sanitized		Upload	3.4	normal	normal	Future Release	defect (bug)	new	has-patch	2012-11-05T15:51:12Z	2013-05-21T19:52:34Z	"There is an inconsistency in the way WP is sanitizing post slugs and attachment filenames.

Sanitizing the post slugs is a Good Thing(tm) for non-english users who use diacritics in their post titles. 

Example: If I write a post with the title ""Moiré patterns"", the actual page slug will be: ""moire-patterns"". The space is replaced with a hyphen, the ""é"" becomes ""e"". Even if I try to change the slug manually into ""moiré"", WP won't let me (for my own good, since that URL would break in lesser capable browsers).

For some reason, WP doesn't apply that error-correction to attachment filenames. 

Example: If I attach a file named ""moiré pattern.png"", it gets renamed into ""moiré-pattern.png"".

We can see that the space (and some other forbidden characters) are corrected by `sanitize_file_name()`, but diacritics such as ""é"" or ""ä"" are left as they are.

Currently, most modern browsers are capable of displaying files with diacritics, but some of them still fail (most prominently, Safari).

For the sake of cross-browser compatibility, attachment filenames should benefit from the same safety measures that we apply for the post slugs (I guess that's the `remove_accents()` function)."	tar.gz
16820	Browser uploader in media library shows no error information		Upload	3.1	normal	minor	Awaiting Review	defect (bug)	new	dev-feedback	2011-03-10T11:45:54Z	2011-03-11T04:53:19Z	"In `wp-admin/media-new.php`, if you use the browser uploader, you get no information about errors. 

For example if the file you upload is too large, you just get redirected to the media library with the message ""Error saving media attachment."" Not very helpful - and also inconsistent - because if you do exactly the same thing using the pop-up image editor (i.e., select ""Add an Image"" from the Upload/Insert menu while editing a post), then you do get useful error information.

I propose that if there are errors, the user should not be redirected to the Media Library. Instead Wordpress should wp_die telling them what went wrong."	solarissmoke
22150	Customizer: Remove Image doesn't remove from Media Library		Upload	3.4	normal	minor	Awaiting Review	defect (bug)	new		2012-10-10T05:35:15Z	2012-11-10T07:58:22Z	"After uploading an image using the Theme Customizer, a ""Remove Image"" link appears - this seems to imply that clicking it will cause the image to be deleted entirely, rather than just hidden from the current view.
"	pento
20330	Differences between creating folders for plugins and uploaded media (problem with safe_mode)		Upload	3.3.1	normal	normal	Awaiting Review	defect (bug)	new		2012-03-30T10:27:56Z	2012-04-04T16:26:08Z	"After installing 3.2.1 (into subdirectory test) there is missing URL path in menu Media - Store uploads in this folder. But nevermind, I am not sure if this is a bug or expected?

I tried to update Akismet automatically, no problem (only FTP credentials required). I tried to install new plugin automatically, also no problem.

Directories are created, plugins installed. But when I try to upload some media files, there is following error:


{{{
""Testing-picture-50g.jpg"" has failed to upload due to an error
The uploaded file could not be moved to /data/www/h/domain.cz/public_html/test/wp-content/uploads.
}}}

When I look at ""uploads"" directory - there is CHMOD 775, but I ""Cannot change attributes of remote files!""
When I delete this folder and create it manually, then everything works. But it is not possible to organize media into month- and year-based folders, because they are not working when created automatically by WordPress.

And I suppose there is some kind of problem in the way how creating folders for uploading media works. Yes, hosting is limited with safe_mode, but why creating folders and installing plugins works without problem and creating folders for uploaded media does not work?

We had several reports from different users about problems with uploading media and this is the only clue I could find. Maybe there is something which was fixed for updating processes, but not for uploading media (especially for creating directories). Any idea?

Also automatic upgrade to WP 3.3.1 works well. But in 3.3.1 there is probably a bug, because picture is not uploaded, but there is no Error reported (as in 3.2.1). It looks like media file is uploaded, but only media post is created and file is not uploaded (there is no thumbnail (only icon of missing picture). I suppose, that users should be notified what is going on here?

Summary in the end:

1) In WP 3.3.1 there is no error for users after unsuccessfull media upload and there should be (regression from 3.2.1).

2) There are different ways to create folders for updating/installing plugins and creating folders for media uploads and the second way does not work when safe_mode is on."	pavelevap
11946	Ensure image MIME type matches extension	Viper007Bond	Upload	3.0	normal	minor	Future Release	defect (bug)	reopened	needs-refresh	2010-01-19T08:02:17Z	2012-07-26T22:55:00Z	"Take a bitmap (BMP) and rename it to `.png`. WordPress will say it's an `image/png` everywhere you look. This can cause issues if you're trying to manipulate it (thumbnail it, etc.).

We should either fix the extension or reject it."	Viper007Bond
23188	Hardcoded relative url 'async-upload.php' in plupload/handlers.js		Upload	3.5	normal	normal	Awaiting Review	defect (bug)	new		2013-01-12T11:47:48Z	2013-01-14T08:19:23Z	"On line 127 in plupload/handlers.js you can find relative path to 'async-upload.php'.

It rather should use wpUploaderInit.url (or something like that), so you could use WP Plupload in front-end for example or with your custom uploading scripts.

Now you can write your custom uploader script and provide it via wpUploaderInit, but on that line in handlers.js it is ignored (and if you run it in front-end, bad request to ./async-upload.php is made)."	drozdz
12532	Image Upload Does Not Display Errors		Upload	2.9.2	normal	normal	Future Release	defect (bug)	new	reporter-feedback	2010-03-06T15:56:36Z	2010-11-13T07:49:17Z	"This has been a long standing problem for me.  I am having problems with uploaded images and am unable to properly troubleshoot because the image upload feature does not display errors.

The root problem is that the image upload feature does not display error messages.  The symptoms are that thumbnail images are not being generated and my theme (AutoFocus) cannot display EXIF data for images.  I have switched to the default theme, disabled plugins and performed other troubleshooting activities (http://wordpress.org/support/topic/164999?replies=1).

Scenario:  I am uploading a 800x600 143KB color JPEG image.  The Flash upload tool shows the status bar going to 100%, Crunching... and then stops once the bar clears itself and the ""Save all changes button"" appears.  Nothing else happens.  No image thumbnail is displayed, no image information (titles and descriptions) is displayed.

When I close out the 'Add an Image' window and reopen it I can see the image in the Gallery but there are no resized images available (thumbnail, medium, large) and the full size dimension is listed as 0x0.  When I choose to Edit Image I get the error ""Image data does not exist. Please re-upload the image.""

I repeat the upload process using the browser upload method. Once the image is uploaded the 'Add an Image' window is cleared and is left blank.  Closing the window and going into the Gallery yields the same results as the Flash method above.

WordPress 2.9.2

General
    * OS: Linux
    * Server: Apache/2.2.3 (Red Hat)
    * Hostname: blog.radian.net
    * IP:Port: 76.12.173.65:80
    * Document Root: /vservers/h77483wp/htdocs

PHP
    * v5.1.6
    * GD: bundled (2.0.28 compatible)
    * Magic Quotes GPC: Off
    * Memory Limit: 16.0 MiB
    * Max Upload Size: 30.0 MiB

MYSQL
    * v5.0.77
    * Maximum No. Connections: 100
    * Maximum Packet Size: 1,024.0 KiB
    * Data Disk Usage: 3.8 MiB
    * Index Disk Usage: 283.0 KiB

I will attach a ZIP file with the image in question (other images have the same problem) as well as images of the upload windows and WP administration panels.

"	drgdc
20936	Image upload - HTTP error		Upload	3.3.2	normal	major	Awaiting Review	defect (bug)	new		2012-06-13T08:40:59Z	2012-06-13T21:24:05Z	"Unable to upload some type of images, because crunching error. 

Reproducation: 
Try to upload attached png image (SC20120611-160917.png), to wordpress site (3.3.2). I try it all of my wp sites, and fresh installation (without plugins). The upload progress aborted (HTTP error). 

If you convert the png file to jpg, the upload and crunching was succeed (there is no configuration errors i think).

I try some workarounds too, but doesn't help (this is not an individual problem i think): 
http://wordpress.org/support/topic/http-error-on-image-upload-still
http://wordpress.org/support/topic/flash-uploader-logs-out-during-crunching-phase?replies=19

This error affected 3rd party tools (like android wordpress app). "	voji
17547	Image upload issues - Size reported as 0x0		Upload	3.1.2	normal	critical	Awaiting Review	defect (bug)	new	dev-feedback	2011-05-24T08:27:21Z	2012-05-16T17:35:28Z	"When I upload any image of any size to my wordpress installation the image uploads fine, but the size is reported as 0x0 and has only one option of inserting it as a full-sized image!

Further inspection of this issue has led me to believe that it lays with wordpress not inserting the correct (if any) meta data for the attachment into the database.

As you can see in the image below, the meta data is present and this image shows all options of inserting the image in the post at all sizes specified in the WordPress media settings panel.

http://www.millerswebsite.co.uk/images/meta%20data.jpg

But as you can clearly see from the image below, when the meta data is missing it shows you can't post the image at any size except full which is stated as 0x0px - Clearly something is wrong!

http://www.millerswebsite.co.uk/images/no%20size.jpg

Many people have had and are still having this issue since 2.5. There are quite a few forum threads relating to it with not a single word from anyone from WordPress.

Several tickets have been submitted to the WordPress Trac system with the issues going unresolved. This is a major problem and many people have reported it, yet nothing seems to have been done.

Sources :

http://core.trac.wordpress.org/ticket/12532

http://wordpress.org/support/topic/cant-adjust-media-file-size-since-upgrading-to-27

http://wordpress.org/support/topic/images-upload-fine-but-wp-shows-0x0-size

http://wordpress.org/support/topic/add-image-size-only-allows-fullsize-with-0x0-dimensions

http://wordpress.org/support/topic/image-upload-in-wp-28-with-translation

If any solution exists to this problem, please let me know, I have been searching for weeks now to no avail. When I talk about solutions, I do not mean using plugins to ""regenerate thumbnails""! Yes I know this works, but it does not solve the problem as its only a temporary fix. Plus it needs to regenerate the images every time you upload a new image.

Side note :
I have tried a completely new installation of WordPress with and with out plugins on a completely different database. I have uploaded and re-uploaded the WordPress files also.

This is the type of image I am uploading. I took it on my Nikon D3100 and compressed to 80% @ 960x768 which makes it 83KB so it's not exceeding any upload limits and I am still having problems.

http://www.millerswebsite.co.uk/images/wordpress/DSC_2165.jpg

My host claims it is not their fault and they have recompiled apache and php for me, the php memory limit is also set to 128mb and file upload size is limited to 8mb.

A phpinfo() can be seen here : http://www.millerswebsite.co.uk/info.php

My original complaint can be seen on the forums here : http://wordpress.org/support/topic/image-upload-issues-size-reported-as-0x0?replies=10"	David_Miller
13659	Incorrect permissions created by wp_mkdir_p() when safe mode is used		Upload	2.9.2	normal	normal	Future Release	defect (bug)	new	reporter-feedback	2010-05-31T16:38:00Z	2010-09-23T18:06:56Z	"When safe mode and sgid directories are used, the function wp_mkdir_p() frim wp-includes/functions.php will failed to create to create a directory with correct permissions.

How to test the problem on wp_mkdir_p() function:
- Create a directory, set the permission to 02777
- Put the file named poc.php in this directory
- safe_mode is on, safe_mode_gid is on
- php (apache) is run by a user other than the file owner
- call the poc.php script via an url

Result:
Sub-directory /1/2/3/4/ hasn't been created due to safe mode restriction.

Explanation:
Any file or directory created in a sgid directory inherits the group owner. When safe mode is used, chmod() cannot set the SUID, SGID and sticky bits and the chmod() calls will remove the expected permission.

Patchs:
There is a least two possibilities:
* Don't call chmod at all (Need to check if non Unix system, Windows, is affected).
* Don't call chmod if safe_mode is enable and sgid permission is present"	cgrenier
13765	It's unclear why a max upload size limit is set		Upload	3.0	normal	normal	Future Release	defect (bug)	new		2010-06-07T13:39:17Z	2010-11-13T08:06:49Z	"When you reach your allowance for file uploads in a multisite environment, it's not clear why WP will advertise a tiny upload size limit.

For instance, if you can upload up to 10MB of files, with a 2M file size limit, and you've already uploaded 9MB, WP will erroneously report that you can upload up to a 1MB file.

This can lead a multisite newbie to look into php ini files and the like, in order to identify which obscure setting is messing things up, instead of heading straight to the multisite options.

Instead, WP should report that the maximum file size is 2MB, and highlight in a follow-up line that only 1MB is available until the quota is reached."	Denis-de-Bernardy
23895	Max upload size 0 when post_max_size = 0		Upload	3.5.1	normal	normal	Awaiting Review	defect (bug)	new		2013-03-29T15:01:32Z	2013-03-29T16:00:11Z	"As a convention, post_max_size can be set to 0 to disable any limitation on max post size. 

Quote from php.ini:
{{{
; Maximum size of POST data that PHP will accept.
; Its value may be 0 to disable the limit. It is ignored if POST data reading
; is disabled through enable_post_data_reading.
; http://php.net/post-max-size
}}}

WordPress does not take this into account in wp-admin/includes/template.php "	moscar09
15655	Media Upload form does not pass tab name	nacin	Upload	3.0.2	normal	normal	Future Release	defect (bug)	reviewing		2010-12-03T00:00:01Z	2011-11-22T16:52:58Z	"The Media Upload form has an error (wp-admin/includes/media.php line !#1538). It is not passing the tab name, which hinders adding actions based on which Upload tab is selected.

Error:
Get param 'tab' is being set to 'type' which is incorrect.
{{{
$form_action_url = admin_url(""media-upload.php?type=$type&tab=type&post_id=$post_id"");
}}}


Fix:
To top of function add:
{{{
global $tab;
}}}

Change the form action URL (line !#1538) to:
{{{
$form_action_url = admin_url(""media-upload.php?type=$type&tab=$tab&post_id=$post_id"");
}}}

This change also impacts function media_upload_type_url_form (line !#1591). Same fix applies."	jackcrosby
18474	Misleading error message when theme ZIP exceeds post_max_size		Upload	3.2	normal	normal	Awaiting Review	defect (bug)	new	dev-feedback	2011-08-18T16:16:03Z	2011-08-23T22:46:14Z	"''post_max_size'' is 32MB, now try to uploading a 40MB big ZIP.

You will get the ''Are you sure you want to do this? Please try again.'' message. But ''try again'' will not help.

Notice:
''Warning: POST Content-Length of 47774864 bytes exceeds the limit of 33554432 bytes in Unknown on line 0''"	ocean90
22403	Prevent default browser behavior with Plupload disallowed file extensions		Upload	3.3	low	minor	Future Release	defect (bug)	new		2012-11-10T05:42:05Z	2012-11-11T14:16:31Z	See #22149. When Plupload is set to accept only certain file types, the drag event falls back to the browser's default behavior. That means HTML files replace the entire viewport, ZIP files get re-downloaded, etc. Ideally, our own handlers intercept such a drag event and prevents anything else from happening.	nacin
6768	Punctuation can break photo uploads		Upload	2.5	normal	normal	Future Release	defect (bug)	new		2008-04-18T08:22:58Z	2009-11-23T21:22:50Z	"I'm doing a lot of photo uploads, and I came across a file I named 'Taking a picture of me?.JPG' - I'm using Mac OS X, so a filename containing a question mark is legal.  I don't have Windows running right now, but I'm pretty sure it's disallowed there.

Anyway, I tried uploading this picture, and although the image uploader accepted it, and the progress bar completed, it never built a thumbnail for the picture (see attachment 1).  The image is absent when viewing the gallery on a WordPress page, but when browsing the media library, it seems to know the item exists (see attachment 2).  I blurred out my path information, because that's apparently a good idea.

Renaming the file to 'Taking a picture of me.JPG' allowed it to upload without any issues.

I'm using Safari 3.1.1 on Mac OS X 10.5.2.  Am hosted with Dreamhost.  Let me know if I can supply any more details. :)

Thanks!"	flammable
16191	Uploaded files with quote marks in the filename are undisplayable in MS		Upload		normal	normal	Future Release	defect (bug)	reopened	dev-feedback	2011-01-11T19:28:49Z	2011-01-14T03:17:05Z	"If you upload a file with quote marks in the filename, e.g. `""Test"".jpg`, WordPress records the filename as `%22test%22.jpg` but the file is called `""Test"".jpg` (on 'nix-like systems anyway) so is undisplayable.

I'm unsure about the implications (security and otherwise) of my suggested patch (attached), so please give feedback. (I guess the other approach would be to retain the url-encoded characters and ensure that the file is named with the URL encoded version of the filename.)"	simonwheatley
19374	Uploader uses wrong path when inserting images		Upload		normal	normal	Awaiting Review	defect (bug)	new	has-patch	2011-11-27T23:09:36Z	2011-12-19T19:55:20Z	"== Issue: ==
I recently had someone whose WordPress install I take care of tell me that when they went to upload images, they weren't being shown. At the time, she was using a svn copy that hadn't been svn up'd in a few weeks. I noticed that the uploads were being stored in the right location, but the uploader was using the default `wp-content/uploads` location when it inserted it into the post, causing the images to not show up.

I just confirmed that this still exists in r19456. It happens with all plugins deactivated and on the default theme.

== To replicate: ==
1.  On the options-media.php, change the upload path to something of your choosing. For mine, I chose `/usr/home/user/domains/my-domain.com/public_html/wp-content/my-uploads/`
2.  If needed, created the folder and adjust permissions.
3.  Create a new page/post, upload an image, and insert it into the post. Take note of the address, it should be wrong according to the newly set upload path.
4.  On the server, check the new location, as well as wp-content/uploads. The file will be in the new location (as expected), and not in wp-content/uploads."	ryanmurphy
8754	Uploading images whose dimensions are greater than the maximum size allowed fail to generate thumbnails and no error/failure message is displayed.		Upload	2.7	normal	normal	Future Release	defect (bug)	reopened		2008-12-30T02:50:09Z	2011-08-05T08:31:26Z	"The process of uploading images that have dimensions (physical size) greater than the maximum size allowed by the global setting will fail part way through the process without an error or failure message being displayed.

Example: Uploading a JPEG image with a width of 625 pixels and height of 938 pixels.  This physical size is greater than the maximum size allowed by the default WordPress configuration.

When uploading such an image using the ""Add an Image"" panel the the Flash uploader will stop with the upload progress bar at 100% and displaying ""Crunching…"".  The Browser uploader will return a blank ""Add an Image"" panel display.

In both cases the images are uploaded to the appropriate directory on the server and appear when the post's media gallery is refreshed.  Thumbnail images are not generated for these uploads.  It appears the failure is before or during thumbnail generation.

Note: The maximum image dimension allowed for upload is not the same as the Administration > Setting > Media > Large Size: Max Width and Max Height settings.  In my case these settings are both set at 1024 pixels (above the size of the image I am working with).  It appears this control panel setting only impacts the HTML image tag attributes for posts, so as not to break the visual design with images that are wider than a layout allows.

Now you may ask what is the default maximum dimension for uploaded images.  Unfortunately I cannot find my notes on where exactly the setting is in the WordPress code (it has no Web GUI access that I am aware of).  I had changed this setting once to work around this problem and hoped 2.7 would have fixed the issue.  It is a pain to track down as the location of this setting has changed over time as it moved to different files and functions with each new version of WordPress.

My understanding is that this maximum image dimension setting was set to prevent images over 3 megapixels from being uploaded since those are really big and readers shouldn't have to deal with such images.  This is old thinking from before broadband and photo blogs took off.

See: http://lorelle.wordpress.com/2007/03/28/wordpress-thumbnail-size-limit-hack/

I think the default limit should be raised, but that would be a feature request.  This ticket is to have error messages displayed.

"	DRGDC
12756	WPMU does not handle files with two or more dots in the filename	wpmuguru	Upload	2.9.2	normal	minor	Future Release	defect (bug)	reopened	has-patch	2010-03-29T07:23:50Z	2012-11-03T22:59:51Z	"* WPMU does download images that have two or more dots in the file name
> E.g., One..jpg One...jpg One....jpg

rewrites do work (checked)

* this is clearly a WP issue:
> /wp-content/blogs.php
...
$file = BLOGUPLOADDIR . str_replace( '..', '', $_GET[ 'file' ] );
if ( !is_file( $file ) ) {
	status_header( 404 );
	die('404 &#8212; File not found.');
}
...
> WPMU removes two dots!!!

> workaround:
$file = BLOGUPLOADDIR . $_GET[ 'file' ]; // name.ly: workaround for files with two or more dots

tested and works fine
"	Namely
23363	When uploading batches of photos oversized photos fail silently		Upload	3.5.1	normal	normal	Awaiting Review	defect (bug)	new		2013-02-02T01:52:42Z	2013-02-02T03:28:47Z	"Summary:
When uploading a batch of photos as part of a gallery, some of which are larger than the maximum allowable, the photos under the maximum size upload successfully while the photos that are too large fail silently.

Steps to Reproduce:
1. On a post or page, click ""Add Media"" button
2. Click ""Create Gallery"" and ""Upload Files""
3. Click ""Select Files"" and select several files, some of which are larger than the maximum allowable file size, and some which are smaller
4. Press select

Expected Results:
Either no files upload (as some are to large to upload) or the files small enough to upload upload successfully (as is the current case) ''and'' an error is displayed stating which photos cannot be uploaded and why.

Actual Results:
Only the photos that are small enough to be uploaded upload successfully while the photos that are too large fail to upload with no explanation, before, during, or after the upload process.

Browser:
Safari 6.0.2 on Mac OS"	davidwillmore
17812	"media_upload_form_handler runs twice when editing attachment from ""From Computer"" media upload tab (browser uploader)"		Upload	3.1.3	normal	normal	Awaiting Review	defect (bug)	new	has-patch	2011-06-15T18:48:58Z	2012-08-05T22:14:25Z	"After uploading a new media item ""From Computer"" using the browser uploader, you are presented with a form to edit its fields.

Clicking ""Save all changes"" from this form causes {{{media_upload_form_handler}}} to run, then {{{media_upload_gallery}}} (presumably to redirect to the gallery tab), which then causes {{{media_upload_form_handler}}} to run again.

This can cause problems for {{{edit_attachment}}} actions that only run once and alter the posts table row for that attachment (since the subsequent {{{media_upload_form_handler}}} could overwrite whatever changes were made in the action if they don't match whats in {{{$_POST}}}).

If the only reason {{{media_upload_gallery}}} is being called from the other type upload handler is to redirect to the gallery tab.. perhaps this patch is a better approach."	jeffstieler
15955	move_uploaded_file mangles non-ascii characters on Windows platforms		Upload	2.0	normal	normal	Awaiting Review	defect (bug)	new		2010-12-22T22:15:46Z	2013-02-23T00:46:30Z	"The `sanitize_file_name` function is not filtering alot of character entities like the degree symbol, this results in invalid media item paths, see the attached images.

wp-includes/formatting - Line 677

{{{
$special_chars = array(""?"", ""["", ""]"", ""/"", ""\\"", ""="", ""<"", "">"", "":"", "";"", "","", ""'"", ""\"""", ""&"", ""$"", ""#"", ""*"", ""("", "")"", ""|"", ""~"", ""`"", ""!"", ""{"", ""}"", chr(0));
}}}

This array is not dealing with invalid entities that could be used in a filename, and the regular expression further down is not catching these either.

wp-includes/formatting - Line 700
{{{
if ( preg_match(""/^[a-zA-Z]{2,5}\d?$/"", $part) ) {
}}}

See attached images, i used 4 varying names with unusual entities in them(each a copy of a sample jpg image). 

Using a filter on the valid chars array results in the extension getting stripped off but the file still makes it through the upload routine however(which is worrying).

I'm no file validation expert, so i'm not sure if this is a critical problem(marked as normal), i'll leave this for you chaps to decide. 

'''NOTE:''' Ignore my hostname in the screenies, it's a 3.0.3 installation, i'm just lazy with updating my virtual host settings.

See screenshots for steps to reproduce(just create a file with some dodgy character entities and upload it basically)."	t31os_
15924	Add 'media_default_link_type' option to parallel 'image_default_link_type'		Upload		normal	minor	Future Release	enhancement	new	dev-feedback	2010-12-20T21:12:12Z	2012-01-26T15:30:55Z	"It is often recommended that site owners change the 'image_default_link_type' option to ""none"" if they don't plan on linking to full size images often from their posts. The problem is that this also affects the default link type for other media (uploaded zip files, pdfs, etc.) Adding an additional option for 'media_default_link_type' which behaves in the same way would get around this problem.
"	goldenapples
16518	Add Media/File description improvements for multi-selections feature		Upload		normal	normal	Future Release	enhancement	new	has-patch	2011-02-10T17:24:13Z	2011-11-10T18:33:28Z	"This was suggested to us for WordPress.com by a coworker at Automattic and we realized this could actually be a worthy core improvement.

{{{
Would it be possible to add some wording to the Add Media screen in WP.com
blogs to tip users off that they can upload multiple images at once by holding
down CTRL in Windows or CMD on a Mac? Stumbled upon this nifty feature
myself today under the category of “here goes nothing, let’s see if this works.”
}}}

Opening the ticket until I can add a patch (or someone else does)."	stephdau
19121	Add filter to wp_unique_filename		Upload	3.3	normal	major	Awaiting Review	enhancement	new	has-patch	2011-11-02T23:02:15Z	2012-08-02T13:19:10Z	"Add a filter to wp_unique_filename so it can be modified if necessary.

Currently in wp_handle_upload I am trying to use FTP to put the file elsewhere. Since I can can't use an FTP protocol with move_uploaded_file, I can't just use the upload_dir filter to change the upload directory.

I need to be able to change the unique name directly (so I can look on my FTP server) and then later on I'll handle the move.

There is no way to access this (you can't just affect overrides or anything like that) without completely rebuilding large portions of the uploader. With this one minor hook added, the flexibility becomes much greater."	xazure
13500	Add support for XML in allowed extensions and mime types		Upload		normal	minor	Future Release	enhancement	new		2010-05-22T17:48:24Z	2012-07-26T19:42:19Z	"As with #12849, please add CSV and XML types to wp_ext2type() or get_allowed_mime_types() in functions.php.

The patch I use on my local install of Wordpress is:

{{{
--- wp-includes/functions.php~  Wed Dec 23 19:38:49 2009
+++ wp-includes/functions.php   Wed Dec 30 16:09:13 2009
@@ -2324,6 +2324,10 @@
                'odc' => 'application/vnd.oasis.opendocument.chart',
                'odb' => 'application/vnd.oasis.opendocument.database',
                'odf' => 'application/vnd.oasis.opendocument.formula',
+               'py' => 'application/python',
+               'xml' => 'text/xml',
+               'csv' => 'text/csv',
                ) );
        }
}}}
"	fazalmajid
6814	Async media crunching	koopersmith	Upload	2.5	normal	normal	Future Release	enhancement	assigned		2008-04-23T00:19:05Z	2012-10-22T16:09:26Z	"The upload part of the new multi-uploader is pretty nice now, but it blocks on the ""crunching"" phase, which can sometimes take 20-60 seconds, I assume to create medium thumbnails and such.

The crunching part of the upload should not block the next file beginning the upload process, it should happen asynchronously with the rest of the process."	matt
9257	EXIF GPS data		Upload	2.7	normal	normal	Future Release	enhancement	new	has-patch	2009-03-01T19:30:17Z	2009-11-20T20:33:48Z	"Attached patch adds GPS longitude and latitude to image meta data.
Changed: wp_read_image_metadata function (file: wp-admin/includes/image.php).

It complies with exif standard:
[http://www.exif.org/Exif2-2.PDF] (page 46)

Commented on wp-hackers list:
[http://comox.textdrive.com/pipermail/wp-hackers/2009-March/025093.html]"	B-Scan
14137	EXIF tag DateTimeDigitized not always present		Upload	3.0	normal	minor	Future Release	enhancement	new	has-patch	2010-06-29T00:47:59Z	2011-01-16T03:48:07Z	"Shooting images with my Nokia N900 will only fill in EXIF data for ""DateTimeOriginal"", not the tag ""DateTimeDigitized"" which Wordpress solely uses.

Grabbing data from DateTime and/or DateTimeOriginal would increase the amounts of correct EXIF date data collected when uploading images.

Attaching sample original image from my camera. CLI tool 'exif' when grep:ed with 'Date' outputs the following for the attached image:
{{{
Date and Time       |2010:06:25 15:47:14
Date and Time (origi|2010:06:25 15:47:14
}}}
'exif --list-tags *jpg|grep Date' results in the following (* meaning data exists):
{{{
  0x0132 Date and Time                   *      -      -      -      -   
  0x9003 Date and Time (original)        -      -      *      -      -   
  0x9004 Date and Time (digitized)       -      -      -      -      -  
}}}
wp-admin/includes/image.php has the function which retrieves this metadata."	MMN-o
15697	File upload support for OpenXPS / Microsoft XPS  filetype (oxps / xps, alternative to PDF)	kapeels	Upload	3.1	normal	minor	Future Release	enhancement	assigned	dev-feedback	2010-12-06T00:37:38Z	2010-12-11T10:06:08Z	"OpenXPS / XPS (XML Paper Specification) is a document file type similar to PDF, originally created by Microsoft but now an open standard, ECMA-388.

If you allow uploads of PDF, you should allow uploads of this competing format. 

More details on the file type: http://en.wikipedia.org/wiki/Open_XML_Paper_Specification

This is a very simple change, similar to Ticket #8194 / Changeset 9662.

1. In /trunk/wp-includes/functions.php, function wp_ext2type (line ~2355): add 'oxps' and 'xps' after the 'pdf' entry as 'document' types.

2. In /trunk/wp-includes/functions.php, function get_allowed_mime_types (line ~2475): add (after 'pdf') the MIME type for 'oxps' as 'application/oxps', and 'xps' as 'application/vnd.ms-xpsdocument'.



"	sgryphon
6379	Image Insert section is confusing, not properly separated from Image Editing	markjaquith*	Upload	2.5	normal	normal	Future Release	enhancement	accepted		2008-03-25T06:29:59Z	2010-10-28T08:21:47Z	"This whole section:

[[Image(http://img339.imageshack.us/img339/7967/picture1td7.png)]]

... is related to inserting that individual photo into the post, but it is slammed together with photo settings that you can change and save.  We really need to demarcate the ""Insert Image into Post"" section better.

Other issues:

 * ""None"" alignment radio button is not selected by default.
 * The Link URL section is incredibly confusing.  At first I thought that was where you could edit the filename.
 * Pressing input buttons to make your link URL selection is unnatural."	markjaquith
21083	JS-based feature detection we can use server-side		Upload		normal	normal	Future Release	enhancement	new		2012-06-26T20:46:07Z	2012-10-17T22:31:00Z	"In #20923 we added initial support for browser-based uploads in iOS 6, by detecting the user agent. This is a good stopgap, but we can do better.

We should implement a simple API that allows for us to do JS-based detection for mobile devices. We can use this for touch support, general upload ability, drag-drop upload ability, customizer support, and anything else that we can best detect in JS but that we need in order to make decisions in PHP.

We could probably model parts of it on how the user settings API works — leveraging cookies, but without the DB backend. A function could then return a value from the cookie if set, and otherwise, it'd use the default value passed to it."	nacin
7634	Need a way to cancel an upload edit		Upload	2.7	normal	major	Future Release	enhancement	reopened		2008-08-28T21:51:18Z	2013-01-09T20:11:49Z	When you click a media upload, you have to either save it, or use the back button in the browser.  Feels like a dead end.	markjaquith
24251	Reconsider SVG inclusion to get_allowed_mime_types		Upload		normal	minor	Awaiting Review	enhancement	new	dev-feedback	2013-05-02T19:36:57Z	2013-05-02T20:21:21Z	"There are some who think SVG should be included in core as an allowed mime type.  Makes fine enough sense to me, since there is a good argument for it, and we have support for WordPerfect documents...so there's that.

Related: #20990"	JustinSainton
14459	Rotate Full Size Images on Upload	azaozz	Upload	3.0	normal	normal	Future Release	enhancement	reviewing		2010-07-29T23:16:17Z	2013-01-06T08:52:07Z	"It may be worth a revisit to #7042.  Some mobile devices that use WordPress for Android are not capturing images in the correct orientation, instead they are writing the EXIF orientation to the image instead (which is a standard method these days).  In wp-android and other external clients that offer full size image upload, these images will not be rotated correctly upon upload.

Since most mobile users are on the go with no access to the wp-admin area to rotate the images themselves, it would work best if the image was rotated for them automatically.  

Hopefully there's a solution that wouldn't strip the EXIF data, some way to copy the EXIF data before rotating, then save it back again?"	mrroundhill
8234	Users with upload_files capability should be able to edit and delete uploaded files without having the edit_post/delete_post capability		Upload	2.7	low	minor	Future Release	enhancement	new		2008-11-15T22:17:14Z	2009-11-20T20:31:07Z	Users with upload_files capability are able to upload files but can't edit/delete his/her own uploaded files without having the edit_post/delete_post capability. Users capable to upload files should also be capable to edit/delete their own uploaded files.	olethomas
20437	WP Upgrader filter to allow plugins to upload to existing directory		Upload	3.3.1	normal	normal	Awaiting Review	enhancement	new	has-patch	2012-04-13T16:52:30Z	2012-06-01T01:24:12Z	"Our plugin for WP uses various elements of the WP upgrader class to manage plugins for our plugin. ;)  This has worked great except when we went to extend it further and allow uploading of plugins through the WP Upgrader class much like you can with WP plugins.

The issue is that currently, the WP Upgrader class is coded to expect the upload destination to be empty - EXCEPT if the upload destination (the base directory) is one of these hard coded locations:

in_array( $destination, array(ABSPATH, WP_CONTENT_DIR, WP_PLUGIN_DIR, WP_CONTENT_DIR . '/themes') )

So since our plugin storage location is not one of those, it fails since there may already be some plugins there.

Sure would be nice if that array of locations that does not have to be empty (the important base dirs which allow dropping down a directory level)...  a simple filter would accomplish this...

Hope its not too late in 4.3 for a simple filter..."	usermrpapa
19227	clicking the pinkynail/title in the media-upload.php library tab does not show the full media info.		Upload	3.3	normal	normal	Awaiting Review	enhancement	new		2011-11-10T20:30:35Z	2011-11-10T20:31:40Z	"I am using the latest nightly build.

I am not sure if this is supposed to work this way, but it does have the 'toggle' class and UX wise it should I think.

Steps to reproduce:
1: Open a post/create a new post
2: Click the Upload/insert media button.
3: in the media iframe click 'Media Library'
4: Click on an 'pinkynail' or title in the list

Nothing happens. I would expect clicking the 'pinkynail' or title to activate the same 'toggle' as the 'show' link does as we read left to right, our eyes are drawn to the image and we are generally choosing an image here, so our instinct is to click that. Plus this is how it works in the 'full' (i.e. non-iframe) version. It could also do with css to make the cursor 'pointer'.

Tested in latest versions of Chrome and Firefox in Windows 7"	davidosullivan
7491	thumbnail creation fails silently		Upload		normal	normal	Future Release	enhancement	new		2008-08-09T19:16:19Z	2010-03-06T16:13:08Z	"When thumbnail creation fails, it fails silently, with no indication why it fails. That is a real pain in the ass if you're trying to debug. Frankly, I assumed for months that thumbnailing just wasn't implemented yet- it was only because I noticed that it does work on ma.tt that I even went back and tried to debug the situation.

I'm still not succeeding in actually getting the thumbnailing working, for what it is worth- extensive googling suggested I should install libgd, which I've now done, but no helpful errors from wordpress means I'm just back at square one in terms of figuring out why it is breaking.

There are no other directly pertinent bugs, but #7039 and #1952 mention instances of silent failure being a problem and #2794 has a (now bitrotted) patch creating an error reporting system.

"	tieguy
23686	wp_handle_(upload|sideload) have a lot of copy-pasted code from each other		Upload	trunk	normal	normal	Awaiting Review	enhancement	new		2013-03-04T11:27:35Z	2013-03-04T17:49:36Z	A huge part of those two functions is the same. It needs to be refactored, so that they share the code.	nbachiyski
19770	Implement browser-side resizing with Plupload		Upload	3.3	normal	normal	Awaiting Review	feature request	new		2012-01-07T16:07:51Z	2012-09-01T06:10:23Z	"#19174 removed the browser-side image resizing due to browser inconsistencies. We should fix it and reintroduce the feature.

A little related: #14459"	johnbillion
7580	Use Exif description to autofill the caption		Upload	2.6	high	normal	Future Release	feature request	new		2008-08-23T06:26:39Z	2011-11-19T19:58:35Z	"Hello,
I test a lot of softwares to create a Exif description for my pictures.
Like ""Exif Farm"" or other kind of this softwares.
But When I Upload this picure in wp 2.6 the description will not show!
but i have some picture from the web, and when i upload them, wordpress show the description of it automatically in description Box!
like this picture:
http://www.hinhxinh.com/data/media/8/Beijing_Olympic_2008_-___075.jpg
and show description on it correctly:
http://i33.tinypic.com/2yyqk1t.jpg
Please tell me:
the problem is from Wp,
Or My software is not original?
'''So What should i do to show Description Exif Data in wp Correctly?'''"	mrmax
16884	URL generation in setup-config's get_bloginfo()		Upgrade/Install	3.1	normal	normal	Future Release	defect	new	dev-feedback	2011-03-18T11:49:08Z	2012-06-02T19:12:24Z	"See [http://php.net/manual/en/function.str-replace.php str_replace()]

Replacing some string with something in an **empty string** is obviously bogus."	hakre
19781	All update processes should be within an iframe		Upgrade/Install		normal	normal	Future Release	defect (bug)	new	has-patch	2012-01-09T00:16:20Z	2012-03-18T06:25:08Z	"Currently some of the update processes run within iframes, others don't. 

We should standardise on all within an iframe.

Running inside the iframe has the advantage that the footer of the page is loaded, and therefor, the Toolbar will load, rather than the page appearing half-loaded for certain upgrade/install processes.

Currently, Processes which run inside iframes are Bulk updates, Singular updates load directly.

~~We should also investigate a iframe overlay that contains a ""Working.. please wait"" graphic that clears once the content of the iframe starts loading, This should help ease the pain of not being sure if the update process has started on servers that force gzip (and as a result, provide no user feedback until the process is complete) - See #18525 and #18239 for examlples of that~~ see #19783"	dd32
16817	All updates have been completed		Upgrade/Install	3.1	normal	normal	Awaiting Review	defect (bug)	new	has-patch	2011-03-10T09:41:22Z	2011-03-10T11:17:23Z	"I tried to update 12 plugins at once, one of them ended with red error message ""An error occurred while updating PLUGIN_NAME: Could not remove the old plugin.""

But in the end of Update page is message ""All updates have been completed.""

And that is not right, because one plugin was not updated."	pavelevap
23113	Automatic notice of new localized version missing		Upgrade/Install	3.5	normal	major	WordPress.org	defect (bug)	new		2013-01-03T21:47:44Z	2013-02-02T08:19:13Z	There was standard behaviour, that users could upgrade quickly to the latest WordPress version and when localized version was ready and released, notice about new localized version appeared in administration. But some users found that it was changed (in 3.5 or maybe 3.4) and when they upgrade to English version, they are not noticed about new Czech version in the future which is annoying. I tried it on some websites and it is true. I am not sure, if it is wanted change (but does not make sense for me) or bug (regression)?	pavelevap
10884	Available plugin update count disappears after updating plugin	dd32*	Upgrade/Install	2.8.4	normal	normal	Future Release	defect (bug)	accepted	dev-feedback	2009-10-01T18:25:59Z	2011-04-03T10:52:00Z	"When there are any available plugin updates, WP displays number of them next to ""Plugins"" item in menu. However when you have more than one update available and update one plugin, it disappears.

Steps to reproduce:[[BR]]
- make sure you have more than one plugin with update available (WP should count of them in menu);[[BR]]
- go to the Plugin page and click on Autoupdate link for plugin;[[BR]]
- when update page will load completely, click on provided link to return to plugin list.

Expected result: WP displays new number of available updates next to Plugins menu.[[BR]]
Actual result: nothing is displayed.

Note: I tested this for inactive plugins only."	sirzooro
20263	Backticks in dbDelta cause warning and actually causes a query to alter all columns and indexes to run even if none have changed		Upgrade/Install	1.5	normal	minor	Awaiting Review	defect (bug)	new	has-patch	2012-03-20T16:11:18Z	2012-09-01T20:13:24Z	"Backticks in a CREATE TABLE in a dbDelta call are causing the below warning, and running a query to alter all columns and indexes with backticks even if they haven't changed:
Notice: Undefined offset: 1 in /home/backuptechnology/public_html/wp-admin/includes/upgrade.php on line 1544

Seems this started a long long time ago after this was fixed:
http://core.trac.wordpress.org/ticket/8014

Seems there is a match on line 1587 of WordPress 3.3.1 wp-admin/includes/upgrade.php:
{{{
               // For every field in the table
                foreach ($tablefields as $tablefield) {
                        // If the table field exists in the field array...
                        if (array_key_exists(strtolower($tablefield->Field), $cfields)) {
                                // Get the field type from the query
                                preg_match(""|"".$tablefield->Field."" ([^ ]*( unsigned)?)|i"", $cfields[strtolower($tablefield->Field)], $matches);
}}}

The preg_match bit is what fails to match because it is looking for ""fieldname"" instead of ""`fieldname`"".
So this is where the warning occurs, and why it assumes the type of the field is wrong.
This means the previous patch 3 years ago probably meant when you have backticks in your CREATE TABLE, when you run dbDelta it actually runs an ALTER TABLE for every single column in the table, and then an ALTER TABLE ADD INDEX / PRIMARY for every single KEY and PRIMARY (there's more than just the above code that needs adjusting), causing duplicate key errors, but ignored. Guess it kinda works though...

Also seems during the DESCRIBE it doesn't use backticks so if someone has a table with a reserved name (stupid I know) it would break dbDelta completely, but that's me digressing I just think getting rid of the warnings for CREATE TABLES with backticks will be good.

But explains why my plugin takes a few seconds to activate hahaha. :-)

I'll provide a patch at some point this week or next unless someone has already done so."	Driskell
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
16150	Create post format terms on upgrade		Upgrade/Install	3.1	normal	normal	Future Release	defect (bug)	new		2011-01-08T00:06:07Z	2011-01-08T04:57:09Z	#16149 Creates a Standard post format term on save, but it might also be nice to have all our known post format terms created and associated with the taxonomy on upgrade. Could save us trouble down the road to have all of them defined and in the DB.	markjaquith
10596	Error when uploading zip package with parent and child themes		Upgrade/Install	2.8.3	normal	normal	Future Release	defect (bug)	assigned		2009-08-12T11:12:29Z	2012-01-06T12:30:14Z	"There's an error when you try to install a package containing parent and couple of child themes using zip package upload from the admin dashboard.

For example i got a 1 big directory called test_template which contains 1 folder test_parent and 3 folders test_child1, test_child2, test_child3. If i upload test_template directory using ftp everything's ok, but when i try to use theme uploader and zip package test_template.zip i get an error caused by not finding a style.css file inside of the test_template directory ... but when i add a style.css file to that directory installation goes fine but templates aren't working till i use ftp and delete that file from that directory. It's troublesome if someone is giving his templates to other users."	newkind
17999	Failure to Update Notification Persists After Manual Upgrade		Upgrade/Install	3.2	normal	normal	Awaiting Review	defect (bug)	new		2011-07-05T20:30:08Z	2013-01-13T16:42:27Z	"This has been around for a few versions. When an update fails, if the user updates or upgrades manually and WordPress lists the updated version in the Administration Panels, the failure to update notification persists. 

I've sat through four or five updates with the failure notice on every panel, including WordPress 3.2, on several sites."	Lorelle
12031	Install do not check the magic_quote_sybase status	dd32	Upgrade/Install		normal	normal	Future Release	defect (bug)	reopened		2010-01-26T00:27:25Z	2012-11-01T20:09:16Z	"MU Trac Ticket: http://trac.mu.wordpress.org/ticket/981

Just try to install on a server that it's magic_quote_sybase is on (okay for Oracle, but fatal for mysql) . It failed to update the wp-config.php and didn't set correctly the .htaccess. "	wpmuguru
20652	Install plugins with FTP upload, virtual subdomain, bad base dir?	dd32	Upgrade/Install	3.3.2	normal	normal	Future Release	defect (bug)	reopened	needs-unit-tests	2012-05-10T12:02:48Z	2013-05-21T19:58:48Z	"Hi anybody!
I have problem with install plugins with FTP module in WP.

Everything show as OK, but plugin directory is bad. I have subdomain

sub.something.com - this is virtual subdomain from mod_rewrite

dirs are

/www/something.com/something.com[[BR]]
/www/something.com/sub.something.com - here is WP installation, subdomain is virtual from rewrite in httpd.conf

After install - WP say everything OK - but one thing is bad.[[BR]]
Upload is in bad directory - plugin I can found in[[BR]]
/www/something.com/something.com/plugins[[BR]]
no in /www/something.com/sub.something.com/plugins[[BR]]

Is here some way to fix it automatticaly or I can must edit config and basedir of ftp? Why is here this bug?

Thank you !

Pavel
"	rajcz
17387	Issue with wp_theme_update_row() setting $details_url		Upgrade/Install	3.1.2	normal	normal	Awaiting Review	defect (bug)	new		2011-05-12T09:15:44Z	2011-05-12T09:15:44Z	"I'm building my own theme auto update script and everything was working perfectly, until I ran into a weird bug.

When you're running WordPress in Multisite the $details_url for themes with an update available is set differently than when running WordPress in single site mode. 

In single site mode the details url is set inside the theme_update_available() function found in this file /wp-admin/includes/theme.php. It uses the returned 'url' like so.

{{{
$details_url = add_query_arg(array('TB_iframe' => 'true', 'width' => 1024, 'height' => 800), $update['url']);
}}}

However, in Multisite the url is built completely different. It uses the wp_theme_update_row() function in the /wp-admin/includes/update.php file like so.

{{{
$details_url = self_admin_url(""theme-install.php?tab=theme-information&theme=$theme_key&TB_iframe=true&width=600&height=400"");
}}}

I'm not exactly sure what the best approach would be to fixing this. I know there is a reason why the url is set like that but without a way to change it for my personal themes (i.e. filter or something) I'm stuck with a broken details screen in Multisite.

I did just add a filter to test it and was successful in fixing the issue, but not sure how to proceed from here.

{{{
$details_url = apply_filters( 'network_details_url', self_admin_url(""theme-install.php?tab=theme-information&theme=$theme_key&TB_iframe=true&width=600&height=400""), $theme_key, $theme );
}}}

Thanks for any help you can give me.

Cheers!
Derek Herman"	valendesigns
15440	PCLZIP_ERR_BAD_FORMAT (-10) : Invalid archive structure during plugin update		Upgrade/Install	3.0.1	low	normal	Future Release	defect (bug)	new		2010-11-16T15:53:13Z	2011-04-03T13:15:03Z	"Currently, as part of our JW Player plugin we include several player skins so that users can customize the look of the JW Player.  These skins are packaged as zip archives.

For a while now we've been getting reports from our users having difficulty performing the automated update/install.  These users are receiving a PCLZIP error which claims the plugin archive is invalid.

From looking at the source code I see that WordPress first attempts to use the ZipArchive PHP module to unzip plugin packages.  This always works for users updating our plugin.  If this is not available it then uses a fallback library called PCLZIP.  After some experimentation, it seems that PCLZIP has difficulty unzipping archives that contain archives.

Is this a known issue from your experience?  If so, is there a workaround other than removing the zip skins from our plugin package?"	LongTail Video
22287	Plugin in another plugin folder causes Activate link to be wrong on Download		Upgrade/Install	3.4	normal	normal	Awaiting Review	defect (bug)	new		2012-10-26T15:30:52Z	2012-11-13T01:41:05Z	"I am not sure if shipping a plugin within another plugin is officially supported, but there is an inconsistency between the activate links in the Manage Plugins page, and the Activate Plugin on the Plugin Downloaded success page.

This is because on the Manage Plugins page, the `get_plugins()` is going to scan the plugins dir and all dirs within it, however, on the Upgrade page, it calls `get_plugins()` specifying the plugin dir as the base (see https://github.com/WordPress/WordPress/blob/master/wp-admin/includes/class-wp-upgrader.php#L579)

That will cause the ""embedded"" plugin to be picked up, and if it's alphabetically above the main plugin file (presumably) see code comment "" //Assume the requested plugin is the first in the list"""	joehoyle
14401	Unable to locate WordPress Content directory (wp-content).		Upgrade/Install	3.0	normal	normal	Awaiting Review	defect (bug)	reopened	reporter-feedback	2010-07-23T15:56:19Z	2011-08-14T01:58:27Z	"Hi, I encounter this message on one server during plugin install: ""Unable to locate WordPress Content directory (wp-content).""

PHP Version 5.2.0-8+etch1

Another info from Core Control plugin:

Direct Not Available

SSH2 Not Available

PHP FTP Extension Available

PHP FTP Sockets Available

ABSPATH: /home/www/domain.eu/subdomains/www/ 

WP_CONTENT_DIR /home/www/domain.eu/subdomains/www/wp-content
 
WP_PLUGIN_DIR /home/www/domain.eu/subdomains/www/wp-content/plugins

DOCUMENT_ROOT (from phpinfo)  /home/www/domain.eu/subdomains/www

I tried some hacks in wp-config.php, but I was not successfull.

When I tried ftpsockets, following error appears:

Warning: socket_last_error() expects parameter 1 to be resource, null given in /home/www/domain.eu/subdomains/www/wp-admin/includes/class-ftp-sockets.php on line 59

When I tried direct, following error appears:

Downloading install package from http://downloads.wordpress.org/plugin/wp-memory-usage.zip…

Unpacking the package

Could not create directory. /home/www/domain.eu/subdomains/www/wp-content/upgrade/wp-memory-usage.tmp"	pavelevap
15101	Update Message Reduces User Orientation reg. WordPress Version		Upgrade/Install	3.1	normal	normal	Future Release	defect (bug)	new		2010-10-12T12:06:13Z	2011-01-13T20:51:27Z	"This is a usability issue many customers are telling me: When there is a WordPress update message, the current version is not prominent any longer.

Normally the current version is displayed in the admin's footer. If there is a (very promintent ""on top"") update message, this version information get's hidden in footer as well.

The only place where a user can find the current version is in some dashboard widget. That location is hard to find. And that location is hard to describe on the phone, e.g. in support.

I suggest to restore the current version display in the footer, because a footer is very easy to find and to describe by phone.

Additionally the update message on top should display the current version number as well. Something Like There is a new version available, you're currently running (should be 65%-70% of the width in english text of a 1024 width screen (970 or so viewport size) to allow this to be translated w/o consuming too much of the screen real estate)."	hakre
14465	Update Plugins Hangs while displaying 'updating'		Upgrade/Install	3.0.1	normal	normal	Future Release	defect (bug)	new		2010-07-30T07:45:17Z	2012-06-28T14:49:09Z	"Hi,

Whenever I try to update a plugin the update plugins screen hangs indefinetly.

Example message while this is happening would be-

""The update process is starting. This process may take awhile on some hosts, so please be patient.

Enabling Maintenance mode…

Updating Plugin Link Library (1/1)""

The plugin ulitmately gets updated if I wait a minute or two but this page never refreshes.

I am running WP 3.0.1 but this happend on 3.0.0 as well.

My host is running 
MySQL 5.0.90-community
PHP 5.2.13

and my browser is IE8."	jamesfed
13071	Update bubble appears only at the second load	dd32	Upgrade/Install	3.0	normal	normal	Future Release	defect (bug)	new		2010-04-21T15:51:25Z	2011-04-03T10:54:48Z	"Change the version of a plugin and go directly to ''wp-admin/update-core.php'' page.[[BR]]
You will see the plugin update in the list but the bubbles on the menu appears only after a reload.

"	ocean90
15731	Updating multiple plugins at once throws FTP error and leaves wp in maintenance mode		Upgrade/Install	3.0.2	normal	normal	Future Release	defect (bug)	new		2010-12-08T10:01:19Z	2010-12-11T13:29:57Z	"[[Image(http://img.skitch.com/20101208-pc3k6gej2piiewts246qrwwt18.jpg)]]

The ftp error seems related to my iptables config and not a wp bug

{{{
LOG        all  --  anywhere             anywhere            limit: avg 5/min burst 5 LOG level debug prefix `iptables denied: ' 
}}}

But after the fail, I'm stuck with ""Briefly unavailable for scheduled maintenance. Check back in a minute."""	koke
18286	Upgrade script to fix non-unique page GUIDs		Upgrade/Install	3.2.1	normal	major	Awaiting Review	defect (bug)	new	has-patch	2011-07-28T23:07:19Z	2011-08-02T17:22:28Z	"There were versions of WordPress prior to 3.1 that created non-unique GUIDs in the posts table.

http://core.trac.wordpress.org/ticket/15041

This bug is fixed, but the bad data persists in many WP installs. Attached is a proof-of-concept plugin that could be included in the WordPress upgrade process to clean up these GUIDs.

In the interim, I'll probably release this as a plugin as we've got some folks using tools we built that need this fix ASAP."	alexkingorg
13875	Upgrading from pre-2.3.0 yields database errors		Upgrade/Install	2.9.2	normal	normal	Future Release	defect (bug)	new		2010-06-14T00:01:56Z	2010-10-28T01:51:56Z	"When upgrading a 2.2.3 to 3.0-rc3 using wp-admin/upgrade.php, three database errors appear signaling that delete_site_transient() misfunctions, as a column value for option_description is not given 
(in a way, this is #4921 again).

The upgrade script should either a) give a default value to that column or b) delete it earlier in the upgrade process.

--8<-- (error msgs follow)

WordPress database error: [Field 'option_description' doesn't have a default value]
INSERT INTO `options` (`option_name`, `option_value`, `autoload`) VALUES ('_transient_doing_cron', '1276472580', 'yes') ON DUPLICATE KEY UPDATE `option_name` = VALUES(`option_name`), `option_value` = VALUES(`option_value`), `autoload` = VALUES(`autoload`)

WordPress database error: [Field 'option_description' doesn't have a default value]
INSERT INTO `options` (`option_name`, `option_value`, `autoload`) VALUES ('_site_transient_timeout_theme_roots', '1276479782', 'yes') ON DUPLICATE KEY UPDATE `option_name` = VALUES(`option_name`), `option_value` = VALUES(`option_value`), `autoload` = VALUES(`autoload`)

WordPress database error: [Field 'option_description' doesn't have a default value]
INSERT INTO `options` (`option_name`, `option_value`, `autoload`) VALUES ('_site_transient_theme_roots', 'a:2:{s:15:\""philippus-do-de\"";s:7:\""/themes\"";s:9:\""twentyten\"";s:7:\""/themes\"";}', 'yes') ON DUPLICATE KEY UPDATE `option_name` = VALUES(`option_name`), `option_value` = VALUES(`option_value`), `autoload` = VALUES(`autoload`)
"	tinne
22840	Uploading an existing plugin saves the zip in media library		Upgrade/Install	3.4.2	normal	normal	Awaiting Review	defect (bug)	new		2012-12-09T19:35:25Z	2012-12-10T14:01:45Z	"Action: Install the same plugin twice.

Expected behavior: Second time, plugin should fail and not install.

Actual Behavior: Install fails, but the plugin's .zip shows in the Media Library. (Shows in Site #1 on Multisite)

This ''is not'' a 3.5 regression, same things happens in 3.4.2"	Ipstenu
17680	"Using ""update automatically"" can destroy a theme in a Windows environment"		Upgrade/Install		normal	major	Future Release	defect (bug)	new	has-patch	2011-06-03T22:33:18Z	2011-06-04T05:44:39Z	"If there are any locked files or files in use, Update Automatically destroys the theme.

I've experienced this three different ways:
 1. The machine is really slow to delete the original theme dir, when the update is moved into the themes dir, an error occurs: ""Could not create directory"".  The theme is now gone.
 1. If there are any locked files in the outdated theme (e.g. SVN), all the files except the locked one will be deleted.  Upgrader bails and you're left with a broken/empty theme.
 1. If any of the files are in use, all files inside the theme will be deleted but the file system will throw an error.  The updater bails with an empty theme directory.

Steps to duplicate:
 1. On a Win hosted install, open the twentyten theme directory
 1. Edit stylesheet, change version to 1.0
 1. Open screenshot.png in paint
 1. In the wp-admin, upgrade the theme
 1. Sad times (screenshot attached)

Proposed solution is to try to rename the old theme first.  Provides two benefits:
 1. Have a backup of original theme if something breaks mid-way
 2. Never left with a broken site

Note: all the more reasons why one should not use Windows :/ but I have no choice.
"	blurback
22076	WP Upgrader: update_bulk_plugins_complete_actions and update_bulk_theme_complete_actions should pass information about all plugins/themes to the filter		Upgrade/Install	3.0	normal	normal	Awaiting Review	defect (bug)	new		2012-10-02T07:56:19Z	2012-10-05T23:10:07Z	"In class-wp-upgrader.php, line 1214 there is this line:

{{{
$update_actions = apply_filters('update_plugin_complete_actions', $update_actions, $this->plugin);
}}}

When adding a filter to it like this:

{{{
add_filter('update_bulk_plugins_complete_actions','test_filter',99,2);

function test_filter( $update_actions, $plugins ) {
    echo print_r( $plugins, 1);
    return $update_actions;
}
}}}

Only the last updated plugin info will be printed. However, it should contain information about all the plugins that were updated (since we are dealing with a bulk upgrade here)."	ragulka
5117	WordPress (plugin) updates do not warn about unknown plugins	matt	Upgrade/Install	2.6	normal	normal	Future Release	defect (bug)	new		2007-09-30T11:34:17Z	2009-09-02T20:29:29Z	"The WordPress plugin update system does not notify the user if it could not find updates for a subset of plugins. That is, if the user has installed plugins not hosted with WordPress, they are not notified that new versions were ''not'' actually checked for. This can lead the user to believe that all of their plugins are up-to-date when they are not.

Fixing this will require both the server-side and the client to be updated. The WordPress update API will need to return data on which plugins it does not recognize as being hosted, and the WordPress installation will need to render that information so that the user understands which of his/her plugins are ''not'' automatically checked."	Quandary
17439	Wordpress Database Update reports errors but says it's successfull		Upgrade/Install	3.2	normal	normal	Awaiting Review	defect (bug)	new		2011-05-15T09:23:30Z	2011-05-15T14:36:43Z	"I just updated my database on current HEAD of trunk by pressing the button while WP told be to do so. I got an error reported:
----
'''WordPress database error:''' [Out of range value adjusted for column 'post_parent' at row 4]
`ALTER TABLE wp_posts CHANGE COLUMN post_parent post_parent bigint(20) unsigned NOT NULL default '0'`
----

However right beneath of it, I was greeted with:

----
'''Update Complete'''

Your WordPress database has been successfully updated!
----

First of all I ask myself if I can trust that message as an error has been reported.

Then this looks like that the update is not compatbile with my MySQL server which is 5.0.19 and matching the [wordpress system requirements on the webpage](http://wordpress.org/about/requirements/) (which seems to be out of date for trunk, but, well 5.0 is required according to version.php).

Related: #3112
"	hakre
20069	Wordpress upgrade process removed executable bits on .php files and so broke Wordpress		Upgrade/Install	3.3.1	normal	major	Awaiting Review	defect (bug)	new	close	2012-02-18T12:55:48Z	2012-02-20T13:05:11Z	"I just upgraded from 3.2 to 3.3.1 on my shared hosting box (hosted by http://www.mythic-beasts.com). This uses suexec, and so .php scripts need to have executable permissions otherwise it won't execute them. I am told that many secure multi-user setups work like this.

My original install had the PHP scripts set as executable, but I did the upgrade (via the web GUI) and suddenly I got 500 Server Errors everywhere. I had to chmod all .php files back to executable before my blog would work again.

Wordpress should check the permissions on .php files before upgrading and preserve them across the upgrade.

Gerv"	gerv
18169	[15491] prevents to plug into the update API		Upgrade/Install	3.1	normal	normal	Awaiting Review	defect (bug)	new	has-patch	2011-07-19T09:13:49Z	2011-08-24T00:21:04Z	"I'm a bit late to the party, but I've only noted now that changeset [15491] introduced a subtle change to the WP API, which prevents to readily plug into the update API:

Prior to it, the sequence went something like this:

{{{
$args = array(...); // set using a filter
$api = themes_api('query_themes', $args); 
if ( is_wp_error($api) ) 
    wp_die($api); 
display_themes($api->themes, $api->info['page'], $api->info['pages']); 
}}}
 
It now goes like this:


{{{
switch ($tab) {
   case ...: // valid case
   $args = array(...); // relevant args
   break;
     $args = false; // this is new. a filter should be present here...
}
if (!$args) return; // the 'query_themes' hook is no longer useful
$api = themes_api('query_themes', $args); 
if ( is_wp_error($api) ) 
    wp_die($api); 
display_themes($api->themes, $api->info['page'], $api->info['pages']); 
}}}

I used to use a hook in there to add a tab in the installer. The stab is still around, and is as far as I can tell part of it is still working, but it no longer seems possible to display the results using the normal API."	Denis-de-Bernardy
16057	download_url() error checking fails to notice that the file wasnt correctly witten to disk		Upgrade/Install	3.0	normal	normal	Future Release	defect (bug)	new	has-patch	2011-01-01T01:36:51Z	2013-05-21T19:49:09Z	"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
23487	is_blog_installed gives errorneus result on moved database		Upgrade/Install	3.0	normal	trivial	Awaiting Review	defect (bug)	new		2013-02-16T13:11:37Z	2013-02-16T13:31:48Z	"I resently moved my blogs to a new database, but when I tried it out, on of the blogs wanted a new install. Of course I did not want to do an install and overwrite my blog.

I indirectly found the reason in is_blog_installed, which suppresses database errors. Thus I did not see this error.

SELECT command denied to user 'techblog'@'localhost' for table 'wp_options'

Of course it was my fault, but I virtually had to take the wordpress code apart to find out why my migration failed.

Of course this is not a big problem on new installs, but very likely to happen on moving databases.
"	Kjeld Flarup
11009	screenshots of plugins from wordpress.org load over http instead of https when FORCE_SSL_ADMIN is enabled		Upgrade/Install	2.9	normal	normal	Future Release	defect (bug)	new	dev-feedback	2009-10-23T02:30:21Z	2010-02-05T13:52:39Z	"1. Enabled FORCE_SSL_ADMIN in Wordpress on an appropriate host.
2. Use default settings in Internet Explorer 8.
3. Go to the plugin installation page.
4. Choose a plugin from wordpress.org to install.

Actual Result:
You get a mixed mode warning because the screenshots and possibly other content loaded from wordpress.org are loaded over http instead of https.

Expected Result:
Screenshots are loaded over https so that content is not mixed."	brantgurga
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
22881	upgrade fails when disk space is exhausted due to quotas		Upgrade/Install	3.4.2	normal	normal	Awaiting Review	defect (bug)	new		2012-12-12T11:38:41Z	2012-12-12T11:38:41Z	"The upgrade from wordpress 3.4.2 to 3.5 failed due to a disk space limitation:

{{{
Downloading update from http://wordpress.org/wordpress-3.5-new-bundled.zip…

Unpacking the update…

The package could not be installed.: PCLZIP_ERR_BAD_FORMAT (-10) : Unable to find End of Central Dir Record signature

Installation Failed
}}}
A similar bug occurs if the space for the files themselves is exhausted.  On the same installation, functions.php was truncated at 112k, leaving the installation in a non-functional state.

This kind of behaviour can be avoided with an upgrade function of the form:
{{{
# test for 64k free disk space ...
dd if=/dev/zero of=biggish-test-file bs=1024 count=64 && 
rm biggish-test-file &&
wget -O - http://wordpress.org/latest.tar.gz | tar -zvx --strip-components=1
}}}
Streaming the download imposes no additional disk space requirements for the intermediate .zip file, but does require a change in the extraction code.  Streaming an update cannot be done with zip files, since the index is at the end.  ZIP files have to be complete, since the tag is at the end.  'tar' files are more suitable for streaming."	list2010@…
18239	wp_ob_end_flush_all() hangs the output buffering, during plugin update/install		Upgrade/Install	3.2.1	normal	minor	Awaiting Review	defect (bug)	new		2011-07-25T07:52:03Z	2012-10-26T15:59:20Z	"Symptom: During plugin update process, the screen displays ""Downloading {plugin}"" then appears to hang.

System: Apache2 on LinuxMint-11

I traced the fault to the following function:
send_message() in /wp-admin/includes/misc.php

this function writes out the message, then tries to flush
the buffers by calling wp_ob_end_flush_all()

the mechanism of the ob_flush is to repeatedly call ob_end_flush until there is no more levels.

On the default configuration of LinuxMint / Debian, zlib.output_compression is ON, and this interferes with ob_end_flush

Based on notes from php.net, ob flushing is not necessary.

SOLUTION:

1) Either change php.ini to set zlib.output_compression to OFF, or

2) shortcircuit the wp_ob_end_flush_all() by adding an immediate return to the first line.

RECOMMENDATION:

In future versions of Wordpress, the interaction between ob and zlib should be studied carefully to derive the most universal solution.
"	mamborambo
23269	.maintenance location issue on symlinked install		Upgrade/Install	3.5	normal	normal	Awaiting Review	enhancement	new		2013-01-22T21:57:11Z	2013-01-22T21:57:11Z	"I've started to symlink some of our WordPress installs using a folder structure as follows:

.htaccess
index.php
wp -> /var/www/wordpress/WordPress-latest
wp-config.php
wp-content

The wp folder is a symlink to either the latest version of WordPress, trunk or a specific version and the WordPress core files are all read only by the web server (WordPress core file installs are taken care of by Chef)

I thought creating a .maintenance file in the root or the wp-content folder would trigger maintenance mode but it looks like the .maintenance file is only detected if it lives in the same folder as the WordPress core files ($wp_filesystem->abspath()) which is read only so it's never going to be created there.

Having a shared core codebase even if I did override the write only permissions and set a .maintenance file in the WordPress directory that would mean every single site using that codebase would go into maintenance mode. (which sometimes might be useful since wordpress-latest might need updating)

What about having WordPress look for the .maintenance file in the directory above similar to what we can do with the wp-config.php file? This would then mean with a symlinked install and shared codebase you could trigger .maintenance mode for a single install or all installs using the codebase.

Or relocating the .maintenance file into the wp-content folder. This is after all where most web servers usually have write permission and where created files are meant to go."	WPsites
5235	Add Pre-flight checks to install	pishmishy*	Upgrade/Install		normal	normal	Future Release	enhancement	accepted	dev-feedback	2007-10-19T17:37:56Z	2010-01-05T21:10:24Z	"It would be nice for the installer to do some pre-flight checks and warn the users of things that will stop WordPress working (either completely or partially)

Candidates for the pre-flight checks:
 * Functions which may be disabled - See #3014
 * Memory limit #5235
"	westi
13983	Add Update Network action link after updating		Upgrade/Install	3.0	normal	normal	Future Release	enhancement	new		2010-06-18T20:49:58Z	2010-10-28T09:39:56Z	"After updating an installation with MultiSite enabled, one of the following should happen :

(a) There should be an action link to '''Update Network''' as well as or instead of the one to '''Go to Dashboard'''.

(b) The Update Network process should be part of the Update process"	caesarsgrunt
19783	"Add a ""Processing..."" overlay to update iframes"		Upgrade/Install		normal	normal	Awaiting Review	enhancement	new		2012-01-09T04:42:06Z	2012-01-09T04:47:46Z	"On the back of #19781, i thought i'd raise this:

> We should also investigate a iframe overlay that contains a ""Working.. please wait"" graphic that clears once the content of the iframe starts loading, This should help ease the pain of not being sure if the update process has started on servers that force gzip (and as a result, provide no user feedback until the process is complete) - See #18525 and #18239 for examlples of that

Fast partial build updates don't experience this problem, but branch-to-branch updates can take awhile on some hosts, it'd be a nicer user experience for those users affected by the above."	dd32
22378	Add ability to hijack plugin install/upgrade downloads		Upgrade/Install	3.4	normal	normal	Awaiting Review	enhancement	new	has-patch	2012-11-07T13:00:18Z	2012-11-13T01:09:22Z	"'''Problem'''

Many plugins have their own updating system. For paid plugins, this can involve
sending authentication/authorization headers. At the moment, to implement this,
certain parts of the plugin upgrader system have to be duplicated to replace
parts of the system, such as the downloading method. In addition, the package
download URL has to be a valid URL. Some systems may wish to use alternate URLs
apart from HTTP/FTP-based URLs.

The code for this is shared between the single plugin upgrader and the bulk
plugin upgrader. While the upgrader class can be replaced fairly easily with
existing filters for single plugins, it's not possible to do this for the bulk
upgrader (especially when multiple systems want to do this), requiring falling
back to a low-level filter like `http_request_args`, ensuring that one only
hooks in after the `admin_action_update-selected` action has failed.


'''Solution'''

Add a filter to hijack the download system before it can act at all. This allows
replacing the entire downloading system, with the only requirement being to
return a valid package filename. This filter will work across both the single
and bulk upgraders, ensuring consistency in the approach.

Patch attached. Related: #22377, #22129"	rmccue
22377	Add filter to wp_update_plugins()		Upgrade/Install	3.4	low	minor	Awaiting Review	enhancement	new	has-patch	2012-11-07T12:01:26Z	2012-12-10T21:04:41Z	"'''Background'''

Certain plugins (paid plugins, etc) may not wish to use WordPress' built-in
upgrading functionality. As such, they may implement their own update checking
code. WordPress' code runs every 12 hours via wp-cron, so hooking into the
native system for checking would be the best way to avoid duplicating tonnes of
code.


'''Problem'''

Currently, filtering this result is somewhat unintuitive. There are no filters
in `wp_update_plugins()` to filter the result of the API call, so you have to
fall back to `pre_set_site_transient_update_plugins`. WordPress, however, sets
this transient twice,
[https://core.trac.wordpress.org/browser/trunk/wp-includes/update.php?rev=21996#L193 once before updating] ""to prevent multiple blocking requests if request hangs""
and then once afterwards with the actual result.

This is only a minor inconvenience, but it appears to be somewhat fragile.
Ensuring that a plugin's custom code doesn't run on the first `set_transient()`
requires setting a flag, and this is prone to breaking if `wp_update_plugins()`
changes internally.


'''Solution'''

Introduce a new filter to change the API result before saving. This filter
should only run once, with the actual result of the API call.

Patch attached."	rmccue
13922	Add links to GUU from plugins and themes screens		Upgrade/Install		normal	normal	Future Release	enhancement	new	has-patch	2010-06-16T16:39:07Z	2012-12-24T04:34:33Z	"[[BR]]
Let's pimp the GUU (Dashboard > Updates) by having links to it from the plugins and themes screens so people who've missed it can see there's a single place to update everything. Woo!"	jane
16398	Add new updated_core hook upon successfully updating WordPress core		Upgrade/Install	3.0.4	normal	normal	Awaiting Review	enhancement	new	has-patch	2011-01-28T19:52:50Z	2011-02-01T09:17:16Z	"wp-admin/includes/update-core.php
requesting the addition of a hook of some type (filter or action) for post-upgrade actions."	scottconnerly
20074	Attempt MD5 checksum verification in upgrader if available		Upgrade/Install	2.8	normal	normal	Future Release	enhancement	new	dev-feedback	2012-02-19T06:06:24Z	2013-02-02T07:17:28Z	"In #19928 the Content-MD5 header was added for downloads of WP releases.

We had discussed performing MD5 verification, in the past, and now that we can do it without an extra HTTP request, it is somewhat more feasible.

If we add the Content-MD5 header for themes and plugins, this should work for them as well.

The patch will also give us access to the full HTTP API response array from download_url(), if specified."	sivel
7965	Database upgrade complete message should be an admin notice		Upgrade/Install		normal	normal	Future Release	enhancement	new	has-patch	2008-10-25T18:53:28Z	2012-07-26T09:02:37Z	When a database upgrade is complete we should just take you to the page you wanted to see and should an upgrade_complete admin notice instead of requiring another button click	westi
16216	Hide core updater if running an svn checkout		Upgrade/Install		normal	normal	Future Release	enhancement	new	has-patch	2011-01-13T07:26:33Z	2011-05-12T03:39:48Z	The logic with this patch is if you are running an svn checkout, do not display the core updater code and instead display a reminder.	johnjamesjacoby
16492	Improvements to the Wordpress Update Process		Upgrade/Install	3.0.5	normal	normal	Awaiting Review	enhancement	new		2011-02-08T16:45:48Z	2011-07-17T21:54:10Z	"I've some suggestions on how to improve the update process (usability). I guess its not enough for separate tickets so I'm filing them together.

 * When updating Wordpress, a plugin or a theme, I'm being asked for the password to the FTP server. You should add a note there that the password won't be stored in the database. I guess many/some users are uncomfortable with storing their FTP password in the database and won't use the ""update tool"" for this reason.
 * Rename the button ""Update Automatically"" to ""Update Wordpress"". ""Update Automatically"" sound like ""Update now and update automatically in the future when a new Wordpress (and also plugin/theme?) version is available."" This should make the button's function a little bit clearer.
 "	manski
12671	Installer page doesn't check if MySQL tables were created successfully		Upgrade/Install	2.9.2	normal	normal	Future Release	enhancement	assigned		2010-03-22T17:47:33Z	2012-07-02T16:54:02Z	"When running the web-based setup script - My Mysql user didn't have create permissions so no tables were created but the message (underneath all the MySQL errors) said setup was successful. 

I think it would be worth doing a check for no MySQL errors before proclaiming the installation a success."	thedotproduct
14028	Maintenance mode nag persists after successful upgrade		Upgrade/Install	3.0	normal	normal	Future Release	enhancement	new	has-patch	2010-06-21T18:27:55Z	2011-01-16T00:05:29Z	"A number of forum users are reporting that the maintenance nag 

""An automated WordPress update has failed to complete"" etc.. persists after failed auto-updates even if they then successfully perform manual updates.

Looks like something is leaving $upgrading set."	mrmist
14393	Maintenance mode overkill. Please refine usage of it		Upgrade/Install		normal	normal	Future Release	enhancement	new		2010-07-22T22:12:14Z	2010-11-23T21:16:35Z	"Though many tickets have been posted about the Maintenance Mode not resolving, I think that the problem is on a different level.

It is unacceptable that even a failed upgrade of an inactive theme can break a complete Site or even Network. Case in point: I just followed the upgrade alert for an inactive theme, hosted on the WordPRess theme repository. 
(Apparently it had an error (Incompatible Archive. PCLZIP_ERR_BAD_FORMAT (-10) : Unable to find End of Central Dir Record signature.) But the point is, this should not have put the entire network in maintenance mode for 10 minutes.

Maybe a check can be done for plugins, themes etc: if they are active, then maintenance mode can be used (though I am definitely not a fan of it anyway)."	bike
9679	Move Plugin/Theme deletion to new WP_Upgrader class	DD32	Upgrade/Install	2.8	normal	normal	Future Release	enhancement	new		2009-04-29T08:51:55Z	2009-05-10T21:16:43Z	Expansion off #7875, The plugin/Theme deletions should be also handled by the Upgrader class.	DD32
22205	Plugin updater - Optimize API Request		Upgrade/Install	3.4	normal	normal	Awaiting Review	enhancement	new	has-patch	2012-10-16T15:45:27Z	2012-11-13T01:24:42Z	"When checking for plugin updates, the POST to api.wordpress.org includes ALL information about each plugin (e.g. Description, Name, Title, Author, etc). This is unnecessary.

This patch strips out non-essential data from the array returned by get_plugins().

wp-includes/update.php:146"	logikal16
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
21874	Remove unused functions in wp-admin/includes/update.php		Upgrade/Install	2.8	normal	minor	Awaiting Review	enhancement	new	has-patch	2012-09-12T05:13:06Z	2012-09-12T10:22:52Z	Just noticed these two functions, `wp_update_plugin()` and `wp_update_theme()`, which aren't used anywhere in core, and haven't been for a very long time far as I can tell. Looks like redundant code.	solarissmoke
24081	Simplifying the 5 minute setup		Upgrade/Install		normal	normal	Awaiting Review	enhancement	new	dev-feedback	2013-04-14T05:22:53Z	2013-04-14T06:14:21Z	I decided to simplify the five minute setup. I teach a beginners class for WordPress, since it was badly needed and people usually get really confused when it asks for a database name and username. Please add onto my quickly written tutorial.php and let me know if you would be interested in putting it as a link in the five minute setup. 	ryansatterfield
17451	Unify plugin update notices and include changelog data	nacin*	Upgrade/Install		normal	normal	Future Release	enhancement	accepted		2011-05-16T09:23:25Z	2013-01-16T00:27:00Z	"Currently the after_plugin_row hook is only used on plugins.php which is used by the Changelogger plugin to show plugin changelogs inline.

If the hook is also added to the bottom of list_plugin_updates in update_core.php then changelogs could also be displayed on that page too.

It's only a single line change so not sure how/if it's worth me attaching a patch for this?"	dempsey
18577	Updates and downloads should be signed or delivered securely		Upgrade/Install		normal	normal	Awaiting Review	enhancement	new	dev-feedback	2011-09-03T01:23:16Z	2011-09-03T12:05:36Z	"All channels for downloading Wordpress installations and plugins (e.g. from downloads.wordpress.org) should either be signed or delivered securely (e.g. via SSL) to mitigate man-in-the-middle attacks. Such attacks can lead to arbitrary code execution.

It appears that currently, downloads and automatic updates are neither signed nor delivered securely."	wplid
4027	Upgrade function don't do ANY error checking whatsoever		Upgrade/Install	2.1.2	normal	normal	Future Release	enhancement	new		2007-03-25T12:58:51Z	2009-06-14T13:43:39Z	"When I upgraded from 2.0.5 to 2.1.2, there was an error in my MySQL privileges, so the ALTER TABLE commands failed:

{{{
    WordPress database error: [ALTER command denied to user 'aasmunds'@'localhost' for table 'wp_categories']
    ALTER TABLE wp_categories ADD COLUMN link_count bigint(20) NOT NULL default '0'

    WordPress database error: [ALTER command denied to user 'aasmunds'@'localhost' for table 'wp_categories']
    ALTER TABLE wp_categories ADD COLUMN posts_private tinyint(1) NOT NULL default '0'

    WordPress database error: [ALTER command denied to user 'aasmunds'@'localhost' for table 'wp_categories']
    ALTER TABLE wp_categories ADD COLUMN links_private tinyint(1) NOT NULL default '0'
}}}

There were also a lot of secondary errors due to the above failed commands. However, the upgrade.php script still claimed that all was well:

{{{
There's actually only one step. So if you see this, you're done. Have fun!
}}}

It would be more helpful if WP would detect the MySQL errors and actually say that something went wrong and must be fixed, instead of saying that all is well even though there were heaps of errors.

This only happens once: If I run the upgrade.php script again, it just says 'all is well' without any errors, so the MySQL commands that would fail are not run again. However, the database is still broken.

It would be better if WP discovered that an upgrade failed, and set a flag somewhere that said 'this upgrade must be run again'.

See also http://wordpress.org/support/topic/111398?replies=2
"	skjaeve
11093	allow instalation customisation - code included and tested	sorich87*	Upgrade/Install	2.9.1	normal	minor	Future Release	enhancement	accepted	has-patch	2009-11-07T14:34:40Z	2010-07-28T08:20:56Z	"Current Wordpress can have own instalation using instal.php file in /wp-content folder. The problem is, that this file can ovewrite only wp_install a wp_install_default functions, which are run AFTER both whole setup-config.php and install.php files were run. So e.g. it is not possible to add own logo to the instalation script, own input for e.g. predefining blog description ...

I have made very small changes to the install.php file
a) add if ( !function_exists( ... ) )  before all (2) functions in this file
b) create 'check_blog_installed' function as enclosure for part with blog checking with !function_exist check again, so it can be also owerwritten
c) create step_0, step_1, step_2 functions, and adding content of code parts run when $step = 0 or 1 or 2, again with !function_exist, so every step can be simply ovewritten
d) create display_footer with !function_exist check and move footer to it, so even footer can be overwritten.

I have made no other functions to install.php (even i think it should be revised because of not so nice code as other wordpress) because i think it should be next step

the functions i have created should not be a problem, as they are only in scope of instal.php file"	thomask
11733	do a sanity check when conduction upgrades		Upgrade/Install	2.9	normal	normal	Future Release	enhancement	new		2010-01-06T00:42:24Z	2010-02-18T10:51:33Z	"In the FTP transports, and possibly in the SSH transport, we should look into conducting a quick sanity check after WP transfers a file during upgrades. This would be in the event that a network problem occurs during the upload.

Depending on how robust we want it, it could be as simplistic as checking the file's size, or as complex as using md5_file()."	Denis-de-Bernardy
18826	wp_maintenance() expiration time needs to be filterable		Upgrade/Install	3.3	normal	normal	Awaiting Review	enhancement	new	dev-feedback	2011-09-30T15:09:16Z	2011-10-01T01:23:22Z	".maintenance files expire after 10 minutes if something goes wrong.  10 minutes is a long time, when most upgrading operations are attempted and fail within 20-60 seconds.

I propose three things:

1. changing the default expiration to 5 minutes (300 seconds)
2. Adding a filter to allow plugins and themes to filter this time to increase/decrease it
3. Also, while I was in there, it seems prudent to attempt to delete the file if it has expired.  The only argument I could see against this is that possibly it might be expensive if the file can not be deleted and wp attempts to delete the file on every page load.  So I can take or leave 3 (and 2), but #2 I think is really important."	jaredh123
9757	Allow Plugin/Theme updates from a uploaded .zip file.		Upgrade/Install	2.8	low	normal	Future Release	feature request	new	dev-feedback	2009-05-08T00:17:07Z	2011-06-06T03:02:12Z	"Plugin administration lacks of an update possibility by uploading zip files. This feature is only half-done in 2.7, you can only upload plugins as zip to install them, not to update them.

Zip file uploads should be treated the same as the other install/update possibilities like remote.

#9708 provides a testcase that can be used to test such am update by zip.

currently a over-upload in the install page does throw an error that the directory already exists:

{{{
    *


      Dashboard
    *

    *


      Posts
      Posts
          o Edit
          o Add New
          o Post Tags
          o Categories
    *


      Media
      Media
          o Library
          o Add New
    *


      Links
      Links
          o Edit
          o Add New
          o Link Categories
    *


      Pages
      Pages
          o Edit
          o Add New
    *


      Comments 0
    *

    *


      Appearance
      Appearance
          o Themes
          o Widgets
          o Editor
          o Add New Themes
          o Custom Header
    *


      Plugins 0
      Plugins 0
          o Installed
          o Add New
          o Editor
    *


      Users
      Users
          o Authors & Users
          o Add New
          o Your Profile
    *


      Tools
      Tools
          o Tools
          o Import
          o Export
          o Upgrade
    *


      Settings
      Settings
          o General
          o Writing
          o Reading
          o Discussion
          o Media
          o Privacy
          o Permalinks
          o Miscellaneous
    *

Help
Documentation
Support Forums
Help

Installing Plugin from uploaded file: 9708-plugin-testcase-9708-plugin-a-v-0.2.zip

Unpacking the package.

Installing the plugin.

Destination folder already exists. [...]worpress-trunk/wp-content/plugins/9708-plugin-testcase/

Plugin Install Failed.
}}}

"	hakre
14781	Allow upload of PHP files as plugin		Upgrade/Install		normal	normal	Future Release	feature request	new	dev-feedback	2010-09-04T13:28:06Z	2011-10-15T13:24:46Z	Currently allowed are only ZIP packages. Plugins that consist of a single PHP file are not supported. It would be handy if uploading a single PHP file is an option.	hakre
15738	Automate Security Releases		Upgrade/Install		normal	trivial	Future Release	feature request	new	dev-feedback	2010-12-08T21:11:49Z	2012-12-03T23:27:46Z	"When security releases are published, several less tech-savvy users might neglect to update in fear of breaking their site.  In reality, security/maintenance releases don't change the core API and shouldn't break anything*.

We should have an option (disabled by default) that allows these X.X.1-style security updates to happen in the background.  This will keep sites updated and secure and (hopefully) prevent the inevitable ""I wanted to wait to install 3.0.2 and someone hacked my site while I was waiting"" support requests.

The option should be disabled by default, but when users are on the update screen they should see an option to ""install security releases automatically.""

Major releases should always require an explicit action from the user to update the site as they can break themes and plug-ins and could potentially update database schema.

* Except in the rare occasion where a developer hacks core."	ericmann
22704	Automatic Core Updates	pento	Upgrade/Install	3.5	normal	normal	Awaiting Review	feature request	assigned	dev-feedback	2012-12-03T22:05:04Z	2013-01-14T18:12:02Z	"It's time to think about automatic updates for WordPress Core. Plugins and Themes are a totally different ball game, so it's probably best to leave them for the moment. Currently, I'm thinking it would be a good idea to release this in stages (some of which may be combined, just spelling them out):

- SVN updates in trunk installs
- SVN updates in branch installs
- Opt-in updates in stable installs
- Opt-out updates in fresh installs
- Opt-out updates in all installs
- Remove option for opting out

I'd like to see SVN updates go into 3.6 early, so we can quickly get a good idea of compatibility issues that we're likely to run into when we get to beta.

Finally, are there any features we should be looking at adding to the upgrader for this? More sanity checking, notifications, other?"	pento
16491	Automatically backup database before updating		Upgrade/Install	3.0.5	normal	normal	Awaiting Review	feature request	new	dev-feedback	2011-02-08T16:45:15Z	2011-03-25T13:38:49Z	"Currently when updating Wordpress or its plugins/themes there's a message at the top of the page, reading that the user should backup its database.

This ""update tool"" would be so much more useful, if it could backup the database automatically before updating. I'm not so sure why one would need to backup the files so this step could most likely be skipped."	manski
10476	Option to export .zip backup before auto upgrade of wp/plugins		Upgrade/Install	2.9	normal	normal	Future Release	feature request	assigned		2009-07-24T17:53:14Z	2012-01-06T23:18:05Z	"Has there been any discussion on an option to export WP and plugin files in a zip before the auto upgrade process begins for either?  The upgrade process is so easy now most users don't take proper backups first.  

I'd be glad to work on a patch file, but wanted to get thoughts on this feature first?"	williamsba1
15977	Send the Locale in Plugin/Theme Update Check Requests	nacin*	Upgrade/Install	3.1	normal	normal	Future Release	feature request	accepted	early	2010-12-25T20:59:43Z	2013-01-22T00:00:56Z	"Currently, we send locale (and other information about installation) only in wp_version_check and not in wp_update_plugins and wp_update_themes.

Since we still don't know how system for plugins/themes localization will work, I propose that we send this from 3.1.

Why? As said above, there is no definitive agreement on how will localization system work, but it is possible that system wont require changes in core, ie. be same or similar to one I [http://wppolyglots.wordpress.com/2010/12/10/proposal-for-plugins-localization-system/ suggested] over at Polyglots.

In that case localization system will be made independently what means that it'll can start working before 3.2 version. If we don't send locale for plugins/themes, we will need to wait for 3.2 even though that wont be significant change.

In theory, plugin/theme developers could also benefit if alongside locales, we would send all information we send in wp_version_check and later show them as are plugin versions shown now.

I know that is very late for this change but issue with plugin localization tool has been ignored for a very long time as I described in my post mentioned above in more detail."	dimadin
10989	Show changelog for core upgrade	nacin*	Upgrade/Install		normal	minor	Future Release	feature request	accepted		2009-10-21T01:36:14Z	2011-11-15T01:53:20Z	"When clicking on the admin notice that there is an update available, it would be interesting to see a short changelog with a link to the complete changelog of the upgrade besides the two download buttons

Example with the 2.8.5.
Show on the page:
The headline changes in this release are:

    * A fix for the Trackback Denial-of-Service attack that is currently being seen.
    * Removal of areas within the code where php code in variables was evaluated.
    * Switched the file upload functionality to be whitelisted for all users including Admins.
    * Retiring of the two importers of Tag data from old plugins.

More info : http://wordpress.org/development/2009/10/wordpress-2-8-5-hardening-release/"	petervanderdoes
18201	Verify updates with md5 checks		Upgrade/Install		low	normal	Future Release	feature request	new		2011-07-21T21:18:07Z	2012-12-03T23:50:16Z	"Before an update, we should verify core files with a list of md5s, returned through the API. We should do this in order to determine whether we can safely do a partial build, or if we should just copy over everything.

During the update, we can avoid copying over any files that are up to date, as verified by md5 results beforehand. This should save a number of FTP calls, in particular.

After the update, we should md5 files we've copied over, and see if anything went wrong, and try again if necessary. Unfortunately we don't always know why updates fail, so we're going to need to test the hell out of this and see what kinds of cases we can cover. (Maybe it's time for error reporting back to WP.org?)

Any other thoughts?"	nacin
10666	When an upgrade borks, There needs to be an ability to rollback		Upgrade/Install		normal	normal	Future Release	feature request	new		2009-08-20T21:46:58Z	2010-02-15T01:48:44Z	When an upgrade borks, there should be a simple script that allow you to rollback to the previous version.  It should be mostly separate from the admin interface and allow for the restoration of both a database and the files associated with the previous version.  	jorbin
19207	dbdelta supporting foreign key		Upgrade/Install	3.2.1	normal	normal	Awaiting Review	feature request	new		2011-11-08T19:10:44Z	2012-07-02T09:54:41Z	Is there a plan to include support for foreign key inside dbdelta function?	manutdotcom
20947	feature request: one-click update for core, themes and plugins (all in one)		Upgrade/Install		normal	normal	Awaiting Review	feature request	new	dev-feedback	2012-06-13T22:48:50Z	2012-06-13T22:49:28Z	I'd love to have the one-click update be truly one-click so that you can click once and update core, themes and plugins all at once as opposed to having to initiate three different updates.	jkudish
18289	Direct link to plugin installation should have admin chrome	nacin	Upgrade/Install		normal	normal	Future Release	task (blessed)	reviewing	has-patch	2011-07-29T06:02:19Z	2011-11-10T19:05:23Z	"We should be able to provide a direct link to the page to install a plugin, based on the plugin's slug. This does it: wp-admin/plugin-install.php?tab=plugin-information&plugin=log-deprecated-notices. However, there's no admin chrome, no real indication which site you're on, and no name of the plugin.

If we're not loading that page inside an iframe request, it needs the admin around it, as well as a heading. Probably new styling too.

This would serve as a replacement for [http://coveredwebservices.com/wp-plugin-install/ Jaquith's bookmarklet], which broke in 3.2 (frame busting), as well as allow us to integrate a link on extend/plugins for plugin installation. Related, #16923, which is now closed."	nacin
10787	Email administrators that an update is available for core|plugins|themes	dd32	Upgrade/Install	2.9	normal	normal	Future Release	task (blessed)	reopened	early	2009-09-15T08:44:47Z	2012-12-03T23:50:09Z	"Inspired by the recent 'email notifications for updates' plugins discussion on wp-hackers/other forums, I'd like to propose the functionality actually be included in core.

I'm thinking of a daily email (Or perhaps, even when WordPress does the update checks) that says along the lines of:

{{{
WordPress would like to notify you that you have 3 updates available:
WordPress 2.9.1
Plugin: Super Plugin 4
Theme: My Theme
}}}

Only email when the updates havn't changed since last email.

Core potential? Or leave it for plugin material?"	dd32
18200	Language Packs	nacin*	Upgrade/Install		normal	normal	Future Release	task (blessed)	accepted	has-patch	2011-07-21T21:09:28Z	2013-04-04T21:10:54Z	"Implement language packs for core, plugins, and themes.

Inspiration and code can hopefully be derived from the corresponding GSoC project.

This will require quite a bit of work in GlotPress, on api.wordpress.org, and in core. I will take point, but assistance will be needed. A number of decisions will need to be made. I will begin designing a document for what exactly needs to be done over the next week."	nacin
23685	Explicitly globalize version variables		Unit Tests	trunk	normal	normal	Awaiting Review	defect (bug)	new	has-patch	2013-03-04T11:00:09Z	2013-03-04T17:24:03Z	"When WordPress is loaded in a function (e.g. unit tests) the variables initialized at the top level aren't globals, but we expect them to be.

For example, if in a unit test there is no way to access `$wp_version`. Neither via `$wp_version` (it's not in the same scope), not via `$GLOBALS['wp_version']` (it's not a global).

To fix that we need to explicitly make the version variables global.

See #17749."	nbachiyski
24173	Unit tests: Support subdirectory multisite installs		Unit Tests		normal	normal	Awaiting Review	defect (bug)	new	has-patch	2013-04-24T05:57:49Z	2013-04-24T09:06:15Z	"I have unit tests set up at:
localhost/wordpress-tests/

And have set:
`define( 'WP_TESTS_MULTISITE', true );`

However, currently, unit testing doesn't support subdirectory multisite installs.  It fails when installing multisite.

Attached patch addresses this and introduces a new constant called `'WP_TESTS_PATH'`.

If this is set in `wp-tests-config.php`, this will make sure that PHPUnit can install WP for subdirectory multisite installs."	r-a-y
23531	Separate tests into unit / integration / ... directories		Unit Tests	trunk	normal	normal	Awaiting Review	enhancement	new		2013-02-19T15:51:16Z	2013-02-19T15:51:16Z	"To improve the speed how tests can be run - especially the unit-tests - I suggest to divide tests into sub-directories, for example:

''unit'' - for unit tests[[BR]]
''integration'' - for integration tests[[BR]]
''functional'' - for functional tests  

Right now all tests are roughly labeled as ""Unit-Tests"" even they are not unit-tests per-se, e.g. some of them interacting with the database or the file-system.

Background: [http://stackoverflow.com/q/4904096/367456 What's the difference between unit, functional, acceptance, and integration tests?]"	hakre
23532	Sync Tests Repository on Github		Unit Tests		normal	normal	WordPress.org	enhancement	new		2013-02-19T15:56:53Z	2013-04-18T13:31:26Z	"Like with Wordpress, the tests should be synched as well with a git repository under

    https://github.com/WordPress/

Especially after taking in 

    https://github.com/nb/wordpress-tests"	hakre
20175	"""Trash"" should not be a bulk action when user can't delete a post at all"		Trash	3.3.1	normal	normal	Awaiting Review	defect (bug)	new	has-patch	2012-03-04T15:20:19Z	2013-01-09T03:55:37Z	"When a user can't delete posts at all for a certain post type the bulk action to delete posts is useless.

Not sure if the following check is correct:

{{{
		if ( current_user_can( $post_type_object->cap->delete_post ) ) {
			if ( $this->is_trash || !EMPTY_TRASH_DAYS )
				$actions['delete'] = __( 'Delete Permanently' );
			else
				$actions['trash'] = __( 'Move to Trash' );
		}
}}}

Maybe the edit/restore functionality should have some similar check"	markoheijnen
19826	Error behavior for deleting trashed posts is different for Bulk Delete versus Empty Trash		Trash	3.1.2	normal	minor	Awaiting Review	defect (bug)	new	dev-feedback	2012-01-13T18:38:00Z	2012-06-19T19:34:42Z	"Bug testing a custom blog build, but I may have located a bug with core (wp-die) Trash error messages.

Background:
*The blog has different users, with different roles.
*Issue occurs on trash page of a custom post type (post status = trash .../edit.php?post_status=trash&post_type=subject)
*Trash contains posts by both an admin role (who can add/edit/delete all custom posts) and an author role (who can add/edit/delete his/her own posts).
*Logged in as an author.
*Using Capability Manager Plug-in. (Tested bug without plugin too)
*Issue is specific to behavior after normal WP-error is thrown.

Issue:
Same WP error. Two different behaviors.

Different functionality occurs between using the Bulk Actions (Delete Permanently) > ""Apply"" button and the ""Empty Trash"" button, after a normal WP error is thrown. In the first case (Bulk Actions > Apply [1a below]), after I return from the error page and refresh the Trash page, all of the selected author pages have been deleted. No admin pages have been deleted.
In the second case (""Empty Trash"" [1b below]), after I return from the error page and refresh the Trash page, all of the selected author pages have NOT been deleted. No admin pages have been deleted.


Behavior:
1a. When I am logged in as an author and I highlight posts by both author and admin, and I attempt to delete using Bulk Actions (Delete Per.) > ""Apply"", I receive the WordPress error ""You are not allowed to delete this item."" ///After I return from the error page and refresh the Trash page, all of the selected author pages have been deleted. No admin pages have been deleted.

1b. When I am logged in as an author and I highlight posts by both author and admin, and I attempt to delete using ""Empty Trash"" button, I receive the WordPress error ""You are not allowed to delete this item."" ///I return from the error page and refresh the Trash page, all of the selected author pages have NOT been deleted. No admin pages have been deleted.

returning to the Trash page. Tested both scenarios.
1. I hit back on the browser, and return to the Trash page. I refresh the page.
2. Move to a different WP admin page, not the Trash page, then return to the Trash page.

Question, because the same text/error is thrown for both buttons, why is the functionality different? Both single functions seem appropriate, however, having both functions exist together instead of picking one behavior seems problematic."	jpbellona
22350	Restored Drafts Shouldn't Have a Publication Date		Trash	3.4.2	normal	normal	Awaiting Review	defect (bug)	new		2012-11-03T00:07:39Z	2013-01-19T00:00:40Z	"After creating a draft, trashing it, and then restoring it, the post editor shows a ""Publish on"" date as though it were a scheduled post, and the Date value in the list of all posts will be wrong after further editing (e.g. ""3 hours ago, Last Modified"")."	miqrogroove
12826	AJAX trash posts		Trash	2.9	normal	normal	Future Release	enhancement	new	has-patch	2010-04-03T02:57:06Z	2012-12-20T23:57:15Z	"Add AJAX to trash posts, like comment moderation.

From GSoC ideas list:
>Add AJAX Paging to Admin Screens. Something we've never gotten around to is adding AJAX paging to the list-type screens (edit.php, etc). Currently, getting to the next page of items means a screen refresh. For this project, add ajax paging to all the list-type screens in the WordPress admin. We have all the underlying PHP, but it needs some JavaScript love."	meheranandk
23022	Always set posts to draft status when untrashing		Trash	2.9	normal	normal	Awaiting Review	enhancement	new	dev-feedback	2012-12-20T15:00:43Z	2013-01-16T05:51:21Z	"In some situations it is bad when trashed posts immediately go live after being untrashed. Such as:

* A published post is found to have libellous/wrong/other_bad content in it
* Admin trashes the post
* Admin wants to edit the post and republish it without the bad things
* Admin cannot do this without republishing the bad things, which they cannot do.

I appreciate that the user should have unpublished the post rather than trashing it but people don't always think clearly in these situations, and once you're in it, you can't get out -- your options are to republish, permanently delete, or leave the post in limbo.

I did wonder if it would be better to make trashed posts viewable/editable in the admin but that felt like a pretty big move, and one that would make the status of a trashed post much less clear and rather ambiguous.

So, the attached patch sets all untrashed posts to draft status, rather than restoring their original status, which was the only other thing I could think of.

(Definitely happy to debate alternative solutions)"	harrym
11863	Trashed items interfere with page/post slug generation		Trash	2.9	normal	normal	Future Release	enhancement	reopened		2010-01-11T12:40:38Z	2012-09-23T19:10:06Z	"Create a static page called test. Trash it. Create a new static page called test. It'll want to use the slug ""test-2"" instead of the expected ""test"".

This is extremely confusing for non-technically oriented users."	Denis-de-Bernardy
22660	"Admin bar in multisite: mobile tap on ""My Sites"" dropdown in back-end doesn't work"		Toolbar	3.4.2	normal	normal	Awaiting Review	defect (bug)	new		2012-11-30T20:40:17Z	2012-12-21T00:33:39Z	"Quick steps here to reproduce an issue where the ""My Sites"" dropdown (multisite networks) will drop down and show the ""Network Admin"" link and the list of your sites. But, clicking on a site (to expand and see ""Dashboard"", ""New Post"", etc.) does not happen. Tapping the blog name just closes the dropdown.

I'm not sure what's different but I can consistently reproduce this when in the admin back-end (but works OK on front-end admin bar when viewing a site):

From /wp-admin/ on a mobile device (tested on iOS 6, iPhone 5, iPad) with a multisite network:

1. Tap ""My Sites"" in admin bar
2. See ""Network Admin"" and list of sites below
3. Tap one one of the site names

Expected: Site name expands to show ""Dashboard"", ""New Post"", etc. (same behavior as front-end when viewing site). Screenshot: http://d.pr/i/reOi

Actual: Tapping site name simply closes the ""My Sites"" dropdown, does not browse anywhere nor expand menu"	devinreams
22247	"Ensure post ID evaluates to true before adding ""Edit post"" tab in admin bar"		Toolbar	3.1	normal	normal	Awaiting Review	defect (bug)	new	has-patch	2012-10-21T20:45:27Z	2012-11-13T01:37:13Z	"This patch checks that a post has an ID set before adding an ""Edit post"" link in the admin bar on the front-end for individual post pages and static pages.

This can be helpful for plugins that choose to create a ""fake"" page that does not exist in the database, and set their ID to ""0.""

An example of such a fake page can be seen on my [http://wordpress.org/extend/plugins/on-the-fly-youtube-embeds/ On The Fly YouTube Embeds] plugin which borrows a lot of code from Scott Sherrill-Mix's blog post: [http://scott.sherrillmix.com/blog/blogger/creating-a-better-fake-post-with-a-wordpress-plugin/ Creating a (Better) Fake Post with a WordPress Plugin]"	Joe Anzalone
23496	Front-end admin toolbar dropdowns inaccessible on Chrome/Android		Toolbar	3.5	normal	normal	Awaiting Review	defect (bug)	new		2013-02-17T23:45:36Z	2013-02-17T23:46:04Z	"The dropdown menus that appear on the first touch of admin toolbar menus with sub-items are inaccessible because the top level menu URL is triggered.

Steps to reproduce:

 1. Visit the front-end of your website using Chrome on Android.
 2. Click an admin toolbar menu item that has sub-items, eg. the Add New menu, the site name menu or your user profile menu.
 3. The sub-menu is triggered, but the browser also immediately navigates to the URL of the top level menu item.

The issue doesn't occur when using these menus in the admin area.

Tested using Chrome 18 on Android 4.2. Theme is TwentyTwelve."	johnbillion
15317	My Sites limited to 23 sites on Admin Bar		Toolbar	3.1	low	normal	Future Release	defect (bug)	new	has-patch	2010-11-04T13:35:21Z	2012-08-26T08:16:23Z	"I have a test site with 25 sites.  I can only access 23 from the My Sites tab on the admin bar.

(This is a minor bug, but I hadn't seen it mentioned.)

Ron

I'm using latest trunk."	ronbme
23371	Subdir front-end Toolbar bug on first login		Toolbar	3.3	normal	normal	Awaiting Review	defect (bug)	new	dev-feedback	2013-02-02T22:36:59Z	2013-02-04T20:17:25Z	"In an obscure set of circumstances, I encountered a small bug where the Toolbar doesn't display on the front-end of a subdirectory install on the first login where the site URL points to the root domain.

`show_admin_bar_front` is rightly set to true both on first and second+ logins, but the Toolbar doesn't display on the front-end. The js isn't even being loaded.

I can reproduce this all the way back to 3.3.

To reproduce:
1. Install a fresh copy of !WordPress in a subdirectory.
2. Login.
3. Change site url to point to the main domain.
4. Visit the front-end, observe the Toolbar isn't displayed.
5. Logout.
6. Login again.
7. Re-visit the front-end, observe the Toolbar now displays as expected.

I'm unable to trace back what's causing the Toolbar not to be displayed after the initial login. Maybe we should just force the user to login again after changing the site url."	DrewAPicture
19380	There is no way to specify placement of a new menu item in the Admin Bar		Toolbar	3.3	normal	minor	Future Release	defect (bug)	new		2011-11-28T14:38:12Z	2011-11-28T17:16:46Z	"I recently opened ticket #19371 and scribu has added a fantastic and simple solution to be able to modify existing menu items. The only problem, however, is that it is impossible to control placement of a new menu item.

For example, if I wanted to add a class on the ""wp-logo"" menu item, I would use the method specified in #19371 to remove it, modify it, and add it back.

{{{

add_action( 'admin_bar_menu', function( $admin_bar ) {
	$node = $admin_bar->remove_menu( 'wp-logo' );

	$node['meta']['class'] = 'foo';

	$admin_bar->add_menu( $node );
}, 99 );

}}}


The only problem is that it would put the menu item at the far right of the other menu items. I could then remove and re-add all the other menu items. However I don't think there is a way to get a list of all the top level menu items from within the admin bar class, so you would have to know the ID of each one from a print_r debug of the object and hard code the items in. This would break if a plugin added a menu item that wasn't in the hard coded list.

My thoughts would be either add a parameter to the add_menu() function such as priority, which could be boolean and cause the item to be added with array_unshift() instead of the current method, or a parameter that would be be for the id to ""add before menu item x"" , or just a method that would return a list of ids of the root menu items.

ps: I don't really need to add a CSS class to the wp-logo menu item, but this is the far-left-most item and I thought it would make the best example."	willshouse
22505	Toolbar dropdowns don't hide on front end on tap away		Toolbar	3.4.2	normal	normal	Awaiting Review	defect (bug)	new		2012-11-19T14:46:03Z	2012-12-01T21:12:52Z	"In the wp-admin pages I can open the Howdy or New menus and tap away to close them.

In the front end admin bar, the menu stays open until navigating to a new page.

Found on 3.5-beta3-22637 using iPad3 iOS 6.0.1."	miqrogroove
18556	Toolbar dropdowns when dragging items	drecodeam*	Toolbar	3.2.1	normal	normal	Awaiting Review	defect (bug)	accepted	has-patch	2011-08-31T19:15:17Z	2013-01-22T01:17:35Z	"When dragging metaboxes, widgets, menu items, etc to the top of the window in order to scroll to drop the item on a portion of the UI that's above the viewing window, the toolbar interferes and produces dropdowns, etc.

If dragging an item, can we disable toolbar actions?
"	chexee
22519	iPad toolbar location		Toolbar		normal	normal	Awaiting Review	defect (bug)	new		2012-11-20T17:45:44Z	2013-04-15T15:34:13Z	"The toolbar moves after using quick edit on a post or page. Also the customizer button look strange on iPad.

Steps to reproduce

1: Click quick edit on a post

2: Click ""Allow Pings""

3:  Now the admin toolbar should be be lower on page. (I was able to reproduce 4/5 tries)"	MikeHansenMe
19541	wp_admin_bar_new_content_menu does not respect menu_position	nacin*	Toolbar	3.1	normal	normal	Future Release	defect (bug)	accepted	has-patch	2011-12-14T02:19:30Z	2012-11-07T22:01:32Z	"'''What is happening:'''

When registering a custom post type, you can specify the position in the left-hand admin menu by using 'menu_position' to move it up or down in the list.

However, the admin bar ""new content"" list does not use this same order, instead it will always display ""Post"", ""Media"", ""Link"", ""Page"" (in that order) before any custom post.

'''What should be happening:'''

The admin bar ""new content"" list should respect the menu_position attribute."	davistobias
19979	Load jQuery on the front end for logged-in users		Toolbar		normal	normal	Future Release	enhancement	new		2012-02-06T22:43:32Z	2012-02-06T22:43:32Z	"This will let us simplify the toolbar JS and improve user experience: hoverIntent, additions by plugins that require jQuery, etc.

jQuery can be loaded in two different ways:

- Directly, by enqueueing it with script_loader and then adding `wpjq = jQuery.noConflict(true);` where `true` means other version of jQuery will be left with the globals.

- By outputting some JS at the very end of 'wp_footer'. This JS would be able to check whether jQuery is already loaded and if not, load it by appending a `<script src=""..."">` tag to the head (note that this method would load jQuery asynchronously).

Previous discussion in some of the comments on #18758."	azaozz
22059	Making the admin bar responsive		Toolbar	3.4	normal	normal	Awaiting Review	enhancement	new	has-patch	2012-09-30T16:58:12Z	2013-02-28T18:32:30Z	"Hi,

This patch is made to add responsive layout to the admin bar. It comes from the ""Responsive adminbar"" plugin (http://wordpress.org/support/plugin/responsive-adminbar, thanks to skodnik).

Basically, I added some html tags to some menu items in the admin bar (using the ab-icon / ab-label combo) in order to handle the new icons I added to the ""admin-bar-sprite.png"".

I took the images straight from the plugin but some states are missing or some images should be changed as they are not appropriate (a ""heart"" for the network seems weird). I'm also missing the ""View post"" icon which now defaults to the ""Edit post"" one.

the CSS could be refactored I guess in order to avoid using ids.
I have not tested RTL!

Cheers from Hackday Lisbon :)

Jonathan"	JoN1oP
21354	"Prefix toolbar site menu title with ""Visit "" when in the admin."		Toolbar		normal	normal	Future Release	enhancement	new	has-patch	2012-07-23T18:32:12Z	2012-11-22T03:30:28Z	"2 out of the 3 users we tested had a hard time finding a link to view their site from the admin.

What if we simply added the word “Visit” in front of the site title in the toolbar when you are in the admin, and to delete the single drop down option when you’re not using multi-site.

The view of the menu from the site would stay the same.  Something like this:

[[Image(http://f.cl.ly/items/322O2i1s1z1909012e19/visit-site-link.png)]]

Props to @sabreuse for the idea."	lessbloat
19647	Use add_node() instead of add_menu() in core	ryan	Toolbar	3.3	normal	minor	Awaiting Review	enhancement	assigned	dev-feedback	2011-12-22T16:45:31Z	2012-09-17T06:10:56Z	"It's clear through [http://core.trac.wordpress.org/browser/tags/3.3/wp-includes/class-wp-admin-bar.php class-wp-admin-bar.php] and Nacin [http://wpdevel.wordpress.com/2011/12/07/admin-bar-api-changes-in-3-3/ has stated this] too:

  The API previously emphasized {{{add_menu()}}}, but this can be confusing, so {{{add_node()}}} is now being promoted a bit more.

Another step towards this would be that the core used {{{add_node()}}} instead of {{{add_menu()}}} when building menu items in [http://core.trac.wordpress.org/browser/tags/3.3/wp-includes/admin-bar.php admin-bar.php].

Proposed patch replaces all references to the {{{add_menu()}}} method with the {{{add_node()}}} one. (Also some code structure modifications for {{{wp_admin_bar_appearance_menu()}}}.)"	linuxologos
15251	Adding Image breaks Blockquote		TinyMCE	3.0.1	normal	normal	Future Release	defect (bug)	new	dev-feedback	2010-10-29T10:47:15Z	2012-09-09T09:56:47Z	"When creating entries, adding an image regularly breaks my code.

I am working on a wordpress-based project where I am defining a 'lexicon' of words. I have discovered this bug during the following standard behavior I follow in creating an entry:

All my entries open with a number of words in bold text followed by a definition. These are encapsulated in a blockquote (see example1.jpg or real world examples at kitoconnell.com/lexicon). At first, the visual editor works fine, creating healthy code as I request (I am creating these in the visual editor, but see code example code1.jpg).

Then, I add a photo and the code breaks and has to be fixed manually in the HTML editor. See attached files example2.jpg and code2.jpg; I have not made any changes except to embed a photo with a caption. Adding a picture has moved the blockquote and bold tags to incorrect positions.

Although this is not a system breaking bug, it is an annoyance I am encountering on a daily basis. Thanks for your attention and let me know if anything is unclear or I can provide more data."	kitoconnell
14341	Adjacent image disappears when a caption is added		TinyMCE		normal	major	Future Release	defect (bug)	new		2010-07-17T23:53:02Z	2011-05-20T21:44:17Z	"If you place two images side by side inside a strong tag and then try to add a caption to one of the images, the other image disappears. 

Tested in r15436. 

To reproduce: [[BR]] 
1) Open a new or existing post for editing [[BR]] 
2) Place the sample code from below into the html editor [[BR]] 
3) Switch to the visual editor and try to add a caption [[BR]] 
---> You'll see the other image disappear

Here is a screencast example: http://screencast.com/t/OTNmNjQzN

Here is some sample code: 

{{{
<strong><a href=""http://s.wordpress.org/about/images/logo-grey/grey-m.png""><img class=""alignleft size-full"" title=""grey logo"" src=""http://s.wordpress.org/about/images/logo-grey/grey-m.png"" alt="""" width=""100"" height=""100"" /></a><a href=""http://s.wordpress.org/about/images/logo-blue/blue-m.png""><img class=""alignleft size-full"" title=""blue logo"" src=""http://s.wordpress.org/about/images/logo-blue/blue-m.png"" alt="""" width=""100"" height=""100"" /></a></strong>
}}}"	designsimply
24077	Anchor links unallowed for non-admins		TinyMCE	3.5.1	normal	minor	Awaiting Review	defect (bug)	new		2013-04-13T15:51:02Z	2013-05-01T17:16:55Z	"Due to the HTML filter for roles below the editor (and even editors in the multisite/network version), users cannot add anchor links as per the HTML5 specifications as the name attribute is obsolete: http://www.whatwg.org/specs/web-apps/current-work/multipage/obsolete.html#attr-a-name

While valid in HTML4.01, it was still recommended that the id attribute is used: http://www.w3.org/TR/html401/struct/links.html#h-12.2.3"	artychan
19926	Bad special characters replacement when changing from HTML to Visual		TinyMCE		normal	normal	Awaiting Review	defect (bug)	new		2012-01-30T10:43:25Z	2012-02-03T20:05:11Z	"Hello there. I have found a problem in some characters when changing from HTML to Visual. 

If you use `&darr;` in HTML view to have a down arrow, when you change to Visual you can see the down arrow. It's not interpreted, it is replaced for the `↓` character. When you hit publish, the ↓ transforms into `?`.
Same problem if I use the `special chars` button in Visual view. They transform into `?`. 

It happens for all the ASCII special characters. Here is a list of the working/not working special characters  in UTF-8.

Doesn't work (changes into ?)

{{{
&prime;    
&le;       
&infin;    
&clubs;    
&diams;    
&hearts;   
&spades;   
&harr;     
&larr;     
&uarr;     
&rarr;     
&darr;     
&Prime;    
&ge;       
&prop;     
&part;     
&ne;     
&equiv;    
&ape;      
&ap;  
}}}     

Works (shows correctly):


{{{
&fnof;     ƒ
&bull;       •
&hellip;  …
}}}

I have tested it using WordPress 3.4-alpha-19719 & Twenty Eleven & UTF-8

Possibly related: #17487"	bi0xid
11674	Caption Short Codes Don't Work		TinyMCE		normal	critical	Future Release	defect (bug)	reopened		2009-12-30T19:07:55Z	2010-08-02T05:44:42Z	"I'm testing 2.9.1-RC1 now.  If I create a post, add a gallery plus a captioned image beneath it, this is what shows up in the HTML editing view:

{{{
<div class=""mceTemp"">

[gallery]

<dl id=""attachment_80"" class=""wp-caption alignnone"" style=""width: 160px;""><dt class=""wp-caption-dt""><a rel=""attachment wp-att-80"" href=""mytestsite/2009/12/test-post-3/wp-exif-bug/""><img class=""size-thumbnail wp-image-80"" title=""This is a supercool test"" src=""mytestsite/wp-content/uploads/2009/12/wp-exif-bug-150x136.jpg"" alt="""" width=""150"" height=""136"" /></a></dt><dd class=""wp-caption-dd"">Caption goes here</dd></dl></div>
}}}"	miqrogroove
20395	Chrome does not showing anchors at images in administration		TinyMCE	3.4	normal	normal	Awaiting Review	defect (bug)	new	reporter-feedback	2012-04-08T16:20:04Z	2012-10-17T00:36:57Z	"Hello,

For a long time I seeing bug in Wordpress administration. This bug is showing only at Chrome. When I creating new post and insert images from Media library, I do not see anchors at image. 

Screenshot: http://postimage.org/image/co0400t0h/

Thanks."	neteyescz
23353	Color picking for text color in the editor doesn't use standard color picker		TinyMCE	3.4	normal	minor	Awaiting Review	defect (bug)	new		2013-02-01T07:35:59Z	2013-02-01T18:03:26Z	It is bad enough that I don't really understand how to work with farbtastic, so having two different ones make me feel double stupid ;)	mark-k
17261	Ctrl(+shift)+tab don't work when tinyMCE has focus		TinyMCE	3.2.1	normal	normal	Awaiting Review	defect (bug)	new	has-patch	2011-04-27T16:28:14Z	2011-11-16T08:19:40Z	"At first I thought this was a DFW bug, but it seems to be tinyMCE related as it affects the regular editor.

If you are focused in tinyMCE ctrl+tab and ctrl+shift+tab don't work as expected (switching you to the next/previous tab).

* In Firefox 4 on Ubuntu:
 * ctrl+tab does nothing
 * ctrl+shift+tab moves focus to the title box
* In Firefox 4 on Windows 7
 * ctrl+tab does nothing
 * ctrl+shift+tab moves focus to the title box
 * tab and shift+tab do nothing as well (rather than switch focus)
* In IE 9
 * Everything works as expected
* In Opera 11.10 on Windows
 * The first ctrl+tab or ctrl+shift+tab moves focus and the second switches tabs
* In Safari 5.0.5 on Windws
 * ctrl+tab works as expected
 * ctrl+shift+tab does nothing
* In Chrome on both Windows and Ubuntu
 * Everything works as expected
"	aaroncampbell
24181	Dragging image in visual editor to new location results in text link		TinyMCE	3.5	normal	major	Awaiting Review	defect (bug)	new		2013-04-24T21:03:57Z	2013-04-29T20:43:15Z	"If there is an image in an existing post, dragging the image to a new paragraph / line or position in the post results in the image being replaced by the linked name of the file. 

I've reproduced this on at least two different sites on WordPress.com. Attached are some screenshots.

- Both drafts and published posts
- Whether center, right, left -justified. "	rosso99
23356	Editor's text color button indicated different text color then the one use in several cases		TinyMCE	3.4	normal	normal	Awaiting Review	defect (bug)	new		2013-02-01T08:50:53Z	2013-02-01T15:12:22Z	"1. Select a text color - the underline in the button will be displayed in that color
2. write some text with this color
3. start a new paragraph
4. button color remain the same but the text is in the theme's default color

Same when moving to different section of the document, the button do not pick the right color used in the text and stays in its last setting."	mark-k
21605	Fix TinyMCE statusbar styling		TinyMCE		normal	normal	Awaiting Review	defect (bug)	reopened		2012-08-16T04:09:21Z	2012-10-21T17:36:07Z	When the breadcrumb links in the TinyMCE statusbar (at the bottom) are too long (many nested elements with long class names), the statusbar pushes the width of the editor and breaks the layout.	azaozz
23778	How do you keep WordPress from removing the non-breaking space?		TinyMCE	2.0	normal	normal	Awaiting Review	defect (bug)	reopened		2013-03-15T00:02:25Z	2013-03-15T08:51:41Z	"I am hoping you guys have a simple solution for me.  I would really appreciate it.

I am doing a lot of porting existing sites to be wordpress sites and I have notived that every time there is a non-breaking space &nbsp; it removes it fron the code when it is saved or when switching back and forth between visual and text mode. 

I have combed google for a solution and come up with nothing but other people complaining about the same thing with no real solution.

Thoughts anyone?"	spherman
16239	Improve switching between visual editor and html mode when text set immediately after more tag		TinyMCE	3.1	normal	normal	Future Release	defect (bug)	reviewing	has-patch	2011-01-15T04:33:10Z	2012-05-02T16:43:32Z	By request from Matt. When switching from the visual editor to html mode, text immediately after the more tag will be set directly next to the comment. In this case, we should set the text on the next line.	koopersmith
18010	Localization of colors in TinyMCE		TinyMCE	3.2	normal	trivial	Awaiting Review	defect (bug)	new	has-patch	2011-07-06T19:34:24Z	2013-02-01T12:03:21Z	"During translation we have found some small problems:

1) For color 993366 there is label ""Brown"", but this color is not really brown. ""Red Violet"" or ""Violet"" is much better, I guess. Patch attached.

2) There are 40 colors translated in TinyMCE font color picker, but when you open new window ""More colors"", tab ""Named"" - labels are not translated here. Some of these colors are translated, but not shown. Source file is wp-includes/js/tinymce/themes/advanced/js/color-picker.js."	pavelevap
20020	Odd Visual Editor Behavior Pertaining to Images		TinyMCE	3.3.1	normal	normal	Awaiting Review	defect (bug)	new		2012-02-11T00:12:06Z	2012-02-12T17:24:25Z	"Hi I usually use the HTML editor. But I'm making a tutorial about using the visual editor and I ran into this problem or ""bug"".

When one adds an image to the editor and then some text, but then deletes that text using backspace, it kicks the image down a line (this happens whether the image is left or right aligned).

Then if one wishes to delete the new line that has been created, the image disappears.

Best Regards,

Drew"	xroox
23389	Only First Letter of Edited Link is Linked		TinyMCE	3.5.1	normal	normal	Awaiting Review	defect (bug)	new		2013-02-05T03:08:27Z	2013-02-05T13:01:01Z	"Steps to reproduce:

1. Make a link.
1. Highlight it.
1. Start typing.

Expected results:  New text should be linked.  Or, maybe the link should disappear?

Actual results:  The first letter is linked, the rest are not."	miqrogroove
17068	Pasting text from Word does not have span tags cleaned anymore		TinyMCE	3.1	normal	normal	Awaiting Review	defect (bug)	new		2011-04-06T21:44:51Z	2011-04-08T04:53:38Z	"I usually paste text copied from Word doc using the visual editor in the post page. After upgrading to WP v-3.1 the pasting process has stopped cleaning the <span> tags which normally contains font and style attributes coming from Word doc.

After several tests I concluded (I did not find indeed) that some issue came bundled with WP-v3.1 in the \wp-includes\js\tinymce\plugins\paste\editor_plugin.js which is responsible for taking care of pasting process.

For confirming this theory I have replaced the files under \wp-includes\js\tinymce\plugins\paste\ with the same files from a previous WP version. After that, the pasting process started working again. The cleaning process is now keeping  the HTML code perfectly clean, and the span tags were removed.

It does not matter if I am pasting straight to the text or if I am using the Paste From Word button, the cleaning process is just working fine in both ways.

Using WordPress 3.1, Customized Theme, W7 /CentOS release 5.5, FF4 / IE9 / Chrome10 / Opera 11  browsers"	mjaning
21281	"RTL wysiwyg ""padding""/""indention"" action is not works as expected."	azaozz	TinyMCE	3.4.1	normal	major	Awaiting Review	defect (bug)	assigned		2012-07-15T08:33:06Z	2013-02-01T16:11:41Z	"By clicking the padding button(for indention) the action not works - it warpped the text by ""p"" element with '''padding-left''' insted or '''padding-right''' in RTL."	AlmogBaku
22202	Show/hide Kitchen Sink button doesn't remain active		TinyMCE	3.2	low	minor	Awaiting Review	defect (bug)	new		2012-10-16T12:40:16Z	2012-10-17T09:53:12Z	"If you enable all the formatting toolbar buttons by clicking ""Show/Hide Kitchen Sink"" in the editor toolbar, the button doesn't remain active when you save a post or otherwise return to the editing screen.

Tested back to 3.2, probably occured since forever."	johnbillion
18953	"String index handling mistake in TinyMCE's JSON.php causes a PHP ""Notice"" message"	azaozz	TinyMCE	3.2.1	normal	normal	Awaiting Review	defect (bug)	reviewing	has-patch	2011-10-14T21:42:55Z	2011-12-20T20:20:22Z	"In the SpellChecker plugin for TinyMCE with a PHP backend, in file JSON.php, in lines 332 (""read"" function) and 350 (""peek"" function), the $this->_data string index ($this->_pos) is compared with $this->_data string length ($this->_len). These allow errors in lines 339 and 351 of their respective functions, when the $this->_pos index gets to be equal to the length of the string.  This situation generates the following messages to show up in PHP servers configured to show notice-level debug information:

Notice: Uninitialized string offset: <length of _data> in <WordPress path>/wp-includes/js/tinymce/plugins/spellchecker/classes/utils/JSON.php on line 351

Notice: Uninitialized string offset: <length of _data> in <WordPress path>/wp-includes/js/tinymce/plugins/spellchecker/classes/utils/JSON.php on line 339

I will attach a patch file to illustrate how I solved this situation."	carlosman
20094	The wpEditImage TinyMCE plugin is broken when TinyMCE is served from another domain		TinyMCE	2.6	normal	normal	Awaiting Review	defect (bug)	new	has-patch	2012-02-22T00:48:46Z	2012-02-22T09:05:26Z	"If TinyMCE is served from another domain (for example a CDN), the wpEditImage plugin tries to open the image editing iframe from that other domain.  This breaks inter-iframe communication due to a violation in the same-origin policy.

The code is the same all the way back to 2.6, but I didn't verify the problem occurs there (TinyMCE's API may have changed since then).

Attached:
* Ensures the iframe is always served from the same origin as the parent page.
* Fixes the iframe cache busting."	mdawaffe
23110	Tiny MCE - when adding blockquote, entering twice no longer backs out of blockquote		TinyMCE	3.5	normal	normal	Awaiting Review	defect (bug)	new		2013-01-03T16:48:00Z	2013-01-03T19:47:08Z	When using the visual editor you used to press enter twice to back out of a blockquote and continue writing paragraphs, but now it just adds a nbsp; in the blockquote. Without going into the html view and actually adding content below, there's no way to get out of writing in the blockquote. 	jack.nycz
20545	TinyMCE - Edit/Delete Image Buttons Show For Non-editable Items		TinyMCE	3.3.1	normal	normal	Awaiting Review	defect (bug)	new		2012-04-25T15:09:10Z	2012-04-25T15:09:10Z	"Forgive me if this has already been reported and/or fixed in 3.4. I've yet to have a chance to try out the BETA.

The wpEditImage plugin creates Edit and Delete buttons for every image on selection. There are several instances where images need to be used as content placeholders like in the instance of the <!-- more --> tag and [gallery] shortcode. The plugin provides a special class ""mceItem"" which prevents these image editing buttons from appearing on any image with the class.

However, the class apparently isn't checked in all the places it needs to be because you can make these image editing buttons appear even when they're not supposed to. These even occurs in the case of the [gallery] shortcode which has it's own Edit/Delete buttons. If you use one of these hacks, you can actually make the Edit/Delete ""Image"" buttons appear over the gallery-specific ones.

Here are a few examples and attached are some screenshots:

1. '''Firefox 11''' Even if an image uses the mceItemNoResize, the resize handles will still appear on hover. If you try to drag these handles, the image doesn't resize (as it shouldn't) but the Edit/Delete image buttons do appear. ''See Firefox Screenshot Suite''

2. '''IE 9''' Insert a [gallery] and hover your mouse just below an image until the ""text editor cursor"" appears. Simply click and the Edit/Delete image buttons will appear. You can differentiate these buttons from the Edit/Delete gallery buttons by hovering your mouse over them to read their title text. Unfortunately, I could not get a good screenshot of this.

Note: I could not get this error to occur on Safari or Opera."	Master Jake
22795	TinyMCE does not recognize finger selections in WIndows 8 / MSIE 10		TinyMCE		normal	normal	Awaiting Review	defect (bug)	new		2012-12-06T19:24:16Z	2012-12-06T20:07:14Z	"MSIE 10 (and/or Windows 8) seems to treat finger selection and mouse/keyboard selections differently. A symptom of this can been seen in the attached screenshots, when selecting text in visual mode with one's fingers vs a keyboard or standard mouse.

When selected via iOS style gestures, TinyMCE does not recognize the text as selected, and therefore does not let the user insert a link (note how the link tool is disabled). When selected via the mouse or kb, all is well. Everything also works fine with touch, mouse and kb when in text mode, pointing to an issue in TinyMCE.

Screenshots were taken while running core trunk, r23108

This might be affecting more versions of MSIE, or different contexts.
We've recently seen similar reports from users on WordPress.com.
"	stephdau
23280	TinyMCE issue with table wrapped with shortcode		TinyMCE	3.5	normal	normal	Awaiting Review	defect (bug)	new		2013-01-24T01:07:43Z	2013-01-25T03:02:55Z	"TinyMCE will generate unbalanced <p> tags when a table is included as the content of a wrapping style shortcode. In this example, assume a shortcode called `[div] ... [/div]` that simply brackets the content with a `<div> ... </div>`.

This is an example as it would be in the editor's Text view (and it works if you switch back and forth to Visual.):

-----------------
{{{
There will be a table following.

[div]
<table>
<tbody>
<tr>
<td>Simple table</td>
</tr>
</tbody>
</table>
[/div]

Next line is here.
}}}
------------------------
The HTML output generated is this:

{{{
<p>There will be a table following.</p>
<div></p>
<table>
<tbody>
<tr>
<td>Simple table</td>
</tr>
</tbody>
</table>
<p></div>
<p>Next line is here.</p>
}}}
------------
The shortcode is very simple - just a demo. It returns simply:

{{{
return '<div>' . do_shortcode($text) . '</div>';
}}}

Doesn't seem to matter with or without the do_shortcode() call.
--------

So note the excess </p> after the added starting <div>, and the extra <p> before the </div> from the shortcode. Seems to happen only with a wrapping style shortcode, and I think only with tables.
"	wpweaver
18134	"TinyMCE messes up text when its ""caption"" contains only a space"		TinyMCE	3.2.1	normal	normal	Awaiting Review	defect (bug)	new		2011-07-15T19:58:23Z	2012-09-09T16:32:03Z	"1.) Have a long text [[BR]]
2.) Insert an image inside there with no link pointing anywhere and a caption that contains only a space [[BR]]
3.) Make some <dl>-s, numbered lists etc after that [[BR]]
4.) Insert a new image with full size also, and a caption with only a space. [[BR]]

After this everything is messed up. The whole text before the second image becomes the caption of the first image and the second image disappears."	szotsaki
18325	TinyMce, noscript, and the gallery icon.		TinyMCE	3.2.1	normal	normal	Awaiting Review	defect (bug)	new		2011-08-04T03:35:59Z	2011-08-23T22:03:10Z	"If you include the shortcode for a gallery in an html noscript tag, and switch between visual and html mode, the gallery ""icon"" is replaced by html addressing the icon... which shouldn't be visible in visual edit mode. If you publish the page with the html showing, it will then save the gallery shortcode and discard the noscript tags. I haven't been able to understand this behavior.

I'm trying to use a slideshow shortcode followed by a gallery shortcode in a noscript tag as a backup for those without JS. This works so long as I don't republish the page from the visual mode. Then I get a slideshow and a gallery.

I've tested it on a different site of my multisite install with no plugins on and it still occurs, so I'm relatively confident the problem is in the way tinymce handles the noscript tag."	cmdrmatt
14737	Tinymce Googlespell: Json return wrongly encoded special char		TinyMCE	3.0.1	normal	normal	Awaiting Review	defect (bug)	new	reporter-feedback	2010-08-30T15:48:14Z	2011-01-13T07:04:45Z	"The Json returned by the googlespeel method is broken.

I don't have time to create a patch now:

SO this is it in the file GoogleSpell.php:

original:
(line 41,42)

if (count($matches) > 0)
			$sug = explode(""\t"", utf8_encode($this->_unhtmlentities($matches[0][4])));

Fix:
(line 41,42)

if (count($matches) > 0)
			$sug = explode(""\t"", $this->_unhtmlentities($matches[0][4]));"	jli
22051	Turning off italic at the end of the word de-italicizes whole word.		TinyMCE	3.4.2	normal	minor	Awaiting Review	defect (bug)	new		2012-09-30T07:34:16Z	2012-10-02T01:55:39Z	"I'm on a mac so I am using command-I to turn on italics in the post editor, visual mode, as I write.

To replicate: Write the first letter of a word. Then backspace. Then press command-I, and write the whole word, which will now be italicized. Before pressing the space bar, hit command-I again. Instead of just turning off italics for your next word, it turns the word you just wrote back into non-italicized text.

Through testing I discovered that it does not happen if you press command-I at the beginning of the word, it only happens when you back up in the middle of the word and then press command-I. And it doesn't happen when you press the ""I"" italics toolbar button to turn italics on and off, it only happens when using the keyboard shortcuts.

This is new behavior that started with one of the recent updates, but I don't know which one.

I know it's not a huge bug, but it's not expected behavior and it really gets in the way of my typing flow. I have to stop, go back to select the word, and make it italic again."	cheekyboots
13529	Twenty Ten max-width in editor style wraps too early	iammattthomas	TinyMCE	3.0	normal	normal	Future Release	defect (bug)	assigned		2010-05-25T04:46:34Z	2010-11-13T01:26:47Z	"While I get where iammattthomas was going with his change to the mceEditor, in practice it looks confusing...while editing my text, there are arbitrary line breaks that I didn't ask for, and there's no explanation why...

See file: http://core.trac.wordpress.org/browser/trunk/wp-content/themes/twentyten/editor-style.css?rev=13178

I propose eliminating the max-width property.

I apologize if this isn't the right way to do this, it's my first ticket.

I've attached a screenshot so you can see the issue as I see it..."	longjasonm
18172	Two lay-out buttons active at the same time	azaozz	TinyMCE	3.2.1	normal	minor	Awaiting Review	defect (bug)	reviewing		2011-07-19T11:26:49Z	2012-06-29T13:50:48Z	"1) Click on the center button for writing in the middle. It doesn't matter if you write something or not.
2) Upload a image and line it out at the left or right side.
3) When you select the image two buttons are active. One for the text and one for the image...

(See screen)
"	JonezJeA
17964	Underlined text is gone when copied.		TinyMCE	3.2.1	normal	normal	Awaiting Review	defect (bug)	new		2011-07-02T08:30:41Z	2011-09-14T10:10:23Z	"If you underline a piece of text and you select it to copy/paste it on another spot at the page or post the line under the text is gone.
This bug doesn't appear with bold or italic text."	JonezJeA
17785	Unlink button is active even when there's no link		TinyMCE	3.1.3	normal	minor	Awaiting Review	defect (bug)	new		2011-06-13T13:27:16Z	2011-06-13T16:17:08Z	When I am writing and want to put in a link it is working just fine. But why is the 'remove link' button active when there is no link at all? I think the 'remove link' button needs only to be active when there is a link selected.	JonezJeA
19462	Visual Editor Preserving Whitespace Instead of Stripping It		TinyMCE	3.2.1	normal	normal	Awaiting Review	defect (bug)	new		2011-12-07T00:58:09Z	2013-03-15T08:08:39Z	"When using the Visual Editor, double spacing and beyond (otherwise known as whitespacing) is preserved.  The expected behavior is that these whitespaces, intentional or not are stripped accordingly to conform to XHTML standards, with only preformatted text being the exception.

This behavior is particularly observed by those who double space between sentences, where the Visual Editor adds an invisible &nbsp; after the first space."	lincolnadams
6562	Visual Editor preserves multiple sequential spaces, fouls up shortcode parsing		TinyMCE	2.5	normal	normal	Awaiting Review	defect (bug)	reopened		2008-04-03T02:54:27Z	2012-04-09T20:29:12Z	"The Visual Editor (TinyMCE) preserves multiple sequential spaces by turning the second (and following) spaces into some sort of funky invisible hard-space character.  Unfortunately, this character is NOT matched by ' ' (space) or '\s' (whitespace) in PCRE (preg_*() functions).

Example:

Put the following into the HTML editor on a post with uploaded images.

{{{
[gallery                 orderby=             ""RAND()""]
}}}

Save the post, then preview.  Multiple refreshes should shuffle the images around randomly, because you're ordering by RAND().

Now switch to the visual editor, and insert the same thing, with all the superfluous spaces, and save.  Preview the post -- you won't get random images, because the funky TinyMCE pseudo-space characters prevent the regex from parsing the attributes of your shortcode.

Proposed solution: turn off TinyMCE's whitespace preservation code when within square brackets."	markjaquith
20264	WP_Editor unexpected behavior/bug when used in widget		TinyMCE	3.3.1	normal	major	Awaiting Review	defect (bug)	new		2012-03-20T17:34:09Z	2012-11-22T21:56:02Z	"Creating a bare bones widget using the wp_editor() function only returns a non-functioning editor (a few times no editor at all). Using the setting teeny => true results in a javascript error where wp_editor will try to load /wp-includes/js/tinymce/themes/simple/editor_template.js (which does not exist).


A demo video of this behavior can be found here: https://vimeo.com/38863361

This is the demo code:
{{{
add_action('widgets_init', 'my_widgets_add');
function my_widgets_add() {
    register_widget('my_wysiwyg_widget');
}
class my_wysiwyg_widget extends \WP_Widget {
    function __construct() {
        $widget_ops = array('classname' => 'my_wysiwyg_widget', 'description' => __('My WYSIWYG Widget'));
        $control_ops = array('width' => 650, 'height' => 350);
        parent::__construct(false, __(""My WYSIWYG Widget""), $widget_ops, $control_ops);
    }
    
    function form() {
        // Create a TinyMCE editor
        wp_editor('content',
            $editor_id = ""unique_id_goes_here"", 
            $settings = array(
            'textarea_name' => ""unique_name_goes_here"",
            'textarea_rows' => 7,
            teeny => false));
    }
    
    function update($new_instance, $old_instance) {
        // Save data later
        $instance = $old_instance;
        return $instance;
    }
    
    function widget($args, $instance) {
        // print later
    }    
}
}}}"	niklasbr
23476	disabling wpautop in TinyMCE settings leads to strange behavior in Text editor		TinyMCE		normal	normal	Awaiting Review	defect (bug)	new	has-patch	2013-02-14T21:57:20Z	2013-02-15T12:45:26Z	"If I disable the `wpautop` behavior in TinyMCE with a `tiny_mce_before_init` filter like so:

{{{
function ars_disable_tinymce_wpautop($in) {
  $in['wpautop'] = false;
  $in['remove_linebreaks'] = false;
  $in['apply_source_formatting'] = true;
  return $in;
}}}

The text view of the editor exhibits some odd behavior when saving. Instead of submitting the current state of the text editor, the text editor is updated with the contents of the HTML view, and then saved.

However, if I click over to the Visual editor before saving it will save correctly. I believe this logic in the `wordpress` TinyMCE plugin may be the cause:

{{{
ed.onSaveContent.add(function(ed, o) {
  if ( ed.getParam('wpautop', true) && typeof(switchEditors) == 'object' ) {
    if ( ed.isHidden() )
      o.content = o.element.value;
    else
      o.content = switchEditors.pre_wpautop(o.content);
  }
});
}}}"	leedo
21157	disapearing class=anything when ctrl+c & ctrl+v in tinymce editor		TinyMCE	3.4	normal	normal	Future Release	defect (bug)	new		2012-07-04T18:46:12Z	2012-12-16T22:25:03Z	"type

{{{
Lorem class=anything Ipsum
}}}

anywhere. Copy the text and paste it to the WP's WYSIWYG editor. The result is just 

{{{
Lorem Ipsum
}}}

I have tried it with tinymce demo on their site and it works normaly, so it seems that only wp editor is affected.

The same wrong result is with class=""anything"", when using spaces around equal symbol (class = anything), it works normaly. Seems like some poorly written attemp to remove classes from pasted text (it does not affect id or other tag parameters i have tested)

P.S.: i am using Chrome if it makes some diference"	thomask
23438	"iframe dimensions getting broken when clicking ""remove formatting"" icon in TinyMCE"		TinyMCE	3.3.2	normal	normal	Awaiting Review	defect (bug)	new	reporter-feedback	2013-02-10T21:23:42Z	2013-02-11T09:38:48Z	"I copy-pasted existing HTML content into the Visual editor, then clicked ""Remove Formatting"" to clean it up a bit. However, this broke the dimensions of the iframes I had in the code, changing the widths of iframes from 120px to 320px (320px seems to be the default that WP uses every time). I think the original width was in a ""style"" tag, but WP seems to have removed it from the iframe - I don't need that removed! It's costing us lots of effort to manually go back and fix every iframe."	rubberduck
23342	php error is display when using the spellchecker with php that doesn't include the openssl module		TinyMCE	3.5	normal	minor	Awaiting Review	defect (bug)	new		2013-01-31T14:04:28Z	2013-02-01T21:35:06Z	"I get the following error when trying to spell check on wordpress running on vanila install of wamp


{{{
Error response: <br />
<b>Warning</b>: fsockopen() [<a href='function.fsockopen'>function.fsockopen</a>]: unable to connect to ssl://www.google.com:443 (Unable to find the socket transport &quot;ssl&quot; - did you forget to enable it when you configured PHP?) in <b>D:\wamp\www\wp342\wp-includes\js\tinymce\plugins\spellchecker\classes\GoogleSpell.php</b> on line <b>86</b><br /> Could not open SSL connection to google.{""id"":null,""result"":[],""error"":null}
}}}

Enabling the module solves the problem.

Suggesting to made is something human readable if it is possible."	mark-k
23479	tiny_mce_before_init filter is not fired for users with Author role		TinyMCE	3.5.1	normal	normal	Awaiting Review	defect (bug)	new	reporter-feedback	2013-02-15T10:01:01Z	2013-02-15T17:56:41Z	"http://www.designzzz.com/how-to-stop-wordpress-editor-from-removing-iframe-and-embed-code/ explains how to change wordpress so that you can embed an iframe in a post without tiny MCE removing it.

This works fine if you are logged in to wordpress as an administrator. It has no effect when you login to wordpress as an author.

I guess that the tiny_mce_before_init filter is not fired unless the user has an administrator role."	paulmackinlay
15457	Add URI support to add_editor_style()		TinyMCE	3.0.1	normal	normal	Future Release	enhancement	new	early	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
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
7857	Live preview of [gallery] inside TinyMCE		TinyMCE		normal	normal	Future Release	enhancement	new		2008-10-09T13:33:01Z	2009-11-18T01:05:22Z	A plugin that would render [gallery] correctly for viewing in the TinyMCE editor.	ShaneF
22156	Modal buttons in TinyMCE don't match WordPress button styles		TinyMCE	3.4	normal	minor	Awaiting Review	enhancement	new		2012-10-10T20:41:34Z	2012-11-18T19:48:03Z	Hit the Help button in the editor. The Close button at the bottom doesn't match our new button styles. It never has matched our buttons, but it looks a little odd now because it's nearly the same but not quite.	johnbillion
21976	"Remove the ""standard"" fullscreen mode from the default configuration of TinyMCE"		TinyMCE		normal	normal	Future Release	enhancement	new	has-patch	2012-09-23T18:07:56Z	2012-11-07T22:16:57Z	"The ""standard"" TinyMCE fullscreen is incompatible with the DFW fullscreen. Currently we are loading both plugins and trying to give access to the standard fullscreen by shortcut only. This is left over from when DFW was working only for the Edit Post screen.

Best would be to remove the standard fullscreen completely. It can be added by a simple WordPress plugin for users that prefer it."	azaozz
23355	"There should be away to select ""no color""/""theme color"" at the editor's text color selection"		TinyMCE		normal	normal	Awaiting Review	enhancement	new		2013-02-01T08:42:51Z	2013-02-01T11:38:48Z	"If I changed the color of a selected text the only way to revert the change is by using the ""delete styling"" button which is totally not obvious"	mark-k
24067	TinyMCE 4.0		TinyMCE	3.5.1	normal	normal	Awaiting Review	enhancement	new		2013-04-12T18:34:58Z	2013-04-12T21:40:47Z	"Hi everyone,

Do we have any plans on implementing Tinymce 4.0 into core?

http://www.tinymce.com/presentation/index.html

Thanks."	josh401
7810	TinyMCE Spell check doesn't recognise 'WordPress'		TinyMCE		normal	normal	Future Release	enhancement	new	has-patch	2008-09-30T09:04:34Z	2013-05-17T22:43:54Z	"I realise that its not WordPress itself which is responsible for the Spell Checking, However, I feel that if WordPress includes a spellcheck functionality, It would be good for it to actually recognise ""WordPress"" instead of ""Word-Press"" or ""Word Press"" (It even goes on to suggest ""WarDress"" and ""Depress""

Does anyone have a contact (Or know who to contact) in order to get ""WordPress into the dictionary used, Or maybe how to ignore the WordPress corrections on the result?"	DD32
6331	TinyMCE should have a code button		TinyMCE	2.5	normal	normal	Future Release	enhancement	assigned		2008-03-21T10:52:42Z	2009-10-25T11:23:00Z	"The html editor has a code button on the quicktags bar but TinyMCE doesn't.

This is the only missing feature from TinyMCE that makes me switch to the HTML view when writing my weekly digest posts."	westi
9841	TinyMCE's kitchen sink button should also hide lines 3 and 4 when present	azaozz	TinyMCE	2.8	normal	minor	Future Release	enhancement	new	has-patch	2009-05-16T17:02:55Z	2011-11-14T13:11:17Z	"Currently, adding a button to line 3 or 4 of TinyMCE results in their always being present.

Would it be possible/desirable to make the hide as well?"	Denis-de-Bernardy
19443	We can't use WordPress' editor inside a Thickbox	erayalakese	TinyMCE	3.2.1	normal	normal	Awaiting Review	enhancement	new	has-patch	2011-12-04T16:45:36Z	2011-12-05T00:09:24Z	"At my plugin's admin page, a have a EDIT link like this :


{{{
<a class=""button-secondary thickbox button"" title=""EDIT"" href=""<?php echo WP_PLUGIN_URL.'/plugin-name/'; ?>edit.php?id=<?php echo $ID;?>"">EDIT</a>
}}}


When user click it, it'll open href in a thickbox . Thickbox should contain '''/plugin-name/edit.php?id=1''''s content, for example.

It's working very well. But i want to add WordPress' rich text editor to edit.php . I'll explain my problem with a short video.

http://screenr.com/eoEs
"	erayalakese
23576	WordPress Editor Config to Stop Using Font Tag		TinyMCE	3.5	normal	normal	Awaiting Review	enhancement	new	reporter-feedback	2013-02-21T09:10:57Z	2013-02-21T16:33:41Z	"Please could you change the default config so that the Font tag isn't used for styling, there is a option for the editor you use to switch to using spans instead but it isn't set to do that by default.

"	jscampbell.05
20076	add_editor_style() should support plugins as well		TinyMCE		normal	normal	Awaiting Review	enhancement	reopened	close	2012-02-19T15:16:34Z	2012-06-17T16:24:46Z	"Although plugins can use the ""mce_css"" filter to add stylesheets for TinyMCE, from an API standpoint this function is a bit misleading / counterintuitive. Why shouldn't plugins be allowed to use one and the same function call to load stylesheets? I know this was probably implemented for use in twentyten, but maybe it's time to expand it."	ericlewis
23343	tinymce supports sevaral spellchecker but there is no option to configure it in wordpress		TinyMCE		normal	normal	Awaiting Review	enhancement	new	close	2013-01-31T14:15:25Z	2013-02-01T11:38:45Z	"tinymce configuration is in wp-includes\js\tinymce\plugins\spellchecker\config.php, at seems to support pspell, pspellshell, google spellchecker and rpc.

Will be nice if it will be possible to configure it. A use case is create a network installation for a company which want to have its own vocabulary shared among all its writers."	mark-k
15073	Add Table Buttons to Visual Editor Kitchen Sink (2nd row)		TinyMCE		low	minor	Future Release	feature request	new		2010-10-08T16:54:27Z	2011-06-03T09:22:59Z	"Add Table Buttons to Visual Editor Kitchen Sink (2nd row)

This regular comes on the forums. Tables are an infrequent, but very natural way to present information. In an edu environment they are essential.

I suspect you have used tables in your posts, but have the expertise to  enter the html directly yourself.

I think the general usefulness, and unobtrusive 2nd row experience makes this a candidate for core, and not plugin material."	lloydbudd
22580	"Add an option to preserve aspect ratio when changing image size in ""Advanced Image Settings"""		TinyMCE	3.4	normal	minor	Awaiting Review	feature request	new		2012-11-25T00:03:03Z	2012-11-25T02:52:04Z	"Having an option to preserve aspect ratio would make it much easier for me to show an image smaller and still have the proportion being correct.

It could be either done as a plain checkbox (in case of no JS) or, like the GIMP, as an imagebutton with a connected chain link when aspect ratio is preserved, and a broken chain link when aspect ration is not preserved.
"	edwardw
16285	Custom Words for Spell Checking		TinyMCE	3.0.4	normal	minor	Awaiting Review	feature request	new		2011-01-18T14:59:46Z	2011-04-01T08:56:54Z	It would be very useful to be able to pre-load lists of specialist/custom words. It would cut down editing time especially on mobile devices. 	southcot
16468	404 page with /page/2 shows page #		Themes	3.0	normal	minor	Awaiting Review	defect (bug)	new	has-patch	2011-02-06T03:48:15Z	2012-09-15T14:18:01Z	"In 2010, there's a custom part of the title that shows "" | Page 2"" etc for paged posts.

Yet, even if it's a 404, it still shows this if there's a $page or $paged variable.

e.g. /2012/04/page/2 (picked to obviously 404) is: Page not found | robinadr | Page 2 on my site.

Checked trunk, same problem there."	rob1n
10149	A floating image added in a comment results in a weird layout in the default theme	iandstewart	Themes	2.8	low	minor	WordPress.org	defect (bug)	assigned		2009-06-13T22:33:19Z	2010-10-30T18:36:03Z	I'd have suggested a <div class=clear></div> or something in the default theme, but the bug is actually located within wp_list_comments().	Denis-de-Bernardy
12615	"Add ""first"" and ""last"" CSS-class-names to each Widget in sidebars (Frontend)"		Themes		normal	normal	Future Release	defect (bug)	assigned	close	2010-03-16T18:12:11Z	2011-07-04T10:23:10Z	"It would be nice if the first widget and the last widget in each sidebar would have a css-class that would make them identifyable as the first and the last widget.

Maybe something that is nice to have for 2010 as well. So I leave this open for others to decide on which version to put it."	hakre
19115	Attempting to upload a too-large theme gives a confusing error message		Themes	3.2.1	normal	minor	Awaiting Review	defect (bug)	new	close	2011-11-02T14:24:33Z	2011-12-13T15:30:07Z	"When uploading a theme through the theme uploader, if the theme is larger than the PHP file/memory limit, the Admin panel gives the message below (or some variant):

{{{
The uploaded file could not be moved to /public_html/wp-content/uploads/2011/11
}}}

Users will assume that this is a permissions problem, trying to CHMOD folders to fix it unsuccesfully, weakening security, when it is actually a file-size problem.

The correct error message should be:

{{{
""This file is too big. The maximum upload size for your server is xM.""
}}}

I have been able to replicate. "	ariehkovler
11282	Bizarre Behavior When wp-content Missing	westi	Themes	2.8.4	normal	normal	Awaiting Review	defect (bug)	reopened	has-patch	2009-11-29T02:19:13Z	2012-10-23T00:15:18Z	"Steps to reproduce:

1.  Begin and complete a normal installation, but skip or remove the wp-content directory.

2.  Try to view the Dashboard and the Visit Site link.

Expected Result:  WP did not install, wp-content is missing.

Actual Result:  Dashboard is visible, site's front page is not.  In /wp-admin/error_log

PHP Warning:  array_keys() [<a href='function.array-keys'>function.array-keys</a>]: The first argument should be an array in /wp-includes/theme.php on line 481"	miqrogroove
18209	Capabilities with misplaced dependencies in edit_theme_options		Themes	3.2.1	normal	normal	Awaiting Review	defect (bug)	new		2011-07-22T06:33:07Z	2011-07-22T06:33:07Z	"When setting capabilities for other groups, the user is unable to add to theme options with just '''edit_theme_options''' if they do not also have '''edit_posts''' capabilities. The user will be able to delete things like menu elements, but may not add them without this flag.


== How to reproduce; ==
Edit capabilities of group removing all '''POSTS''' to hide the Posts Dashboard pages (works by just removing '''edit_posts''' as well).
Give group '''edit_theme_options''' capabilities to edit their own menus.
Users may now access the Theme Options, and may delete objects.
User can add menu items to the preview, but once they Save these, the changes are not committed without the edit_posts permission."	Clorith
20211	Description text for custom header upload may be misleading in some contexts.		Themes		normal	normal	Awaiting Review	defect (bug)	new	has-patch	2012-03-10T00:52:52Z	2012-03-24T18:23:34Z	"The paragraph in the ""Upload Image"" section of Appearance -> Header contains the following text: ""You can upload a custom header image to be shown at the top of your site instead of the default one.""

This is a bit misleading in the event that the active theme does not include a default image.

An easy solution may be to remove the following text from the sentence: "" instead of the default one"". What do you think?"	mfields
19674	Do not prefix wp_title() with spaces if $sep is empty		Themes	2.0	normal	trivial	Future Release	defect (bug)	new	dev-feedback	2011-12-27T05:14:23Z	2012-12-02T23:56:48Z	"1. Add `wp_title('')` to `header.php`.
2. Notice two spaces before the title:
{{{
<title>  Hello World</title>
}}}

This was previously brought up in #7114, but the fix suggested there wasn't backward compatible."	SergeyBiryukov
21670	ERROR: The themes directory is either empty or doesn’t exist. Please check your installation.	nacin*	Themes		normal	minor	Future Release	defect (bug)	accepted	has-patch	2012-08-23T17:14:38Z	2013-05-21T19:58:00Z	"In multi-site mode, if there are no themes enabled for a particular site and no network enabled themes, that site's dashboard will report the error

'''ERROR: The themes directory is either empty or doesn’t exist. Please check your installation.'''

Ov course, this isn't entirely accurate. The themes directory may not be empty, but the problem is that no themes are enabled. The wording should probably be updated to reflect this."	pathawks
20009	Escape later when getting post and body classes		Themes		normal	normal	Awaiting Review	defect (bug)	new	dev-feedback	2012-02-10T08:11:37Z	2012-02-15T21:24:17Z	"Both get_body_class() and get_post_class() provide filters that allow plugins and themes to add custom values to the list. These filters are applied after the values in the $classes array have been filtered through esc_attr(). I think that it would be best to move the escaping after the filter has fired.

esc_attr() was first added to get_body_class() and get_post_class() in [11838]"	mfields
11178	Fix for poor sidebar CSS in Kubrick theme	iandstewart	Themes	2.9	normal	normal	WordPress.org	defect (bug)	assigned	has-patch	2009-11-18T22:04:40Z	2010-06-14T22:01:25Z	"Rather than using a float to push the sidebar alongside the content area, Kubrick floats the content area and then uses a left-margin of 545 pixels to shove the sidebar over. This causes float and clear CSS rules to produce very odd results in the sidebar.

The attached patch changes the #sidebar left-margin from 545px to 50px and adds ""float: left"".

A site running the patched version of Kubrick has been tested in IE 6-8 and the latest versions of Firefox, Opera, Chrome, and Safari. All the browsers rendered the sidebar in the same position as before the patch with the exception of also fixing the float/clear problem."	chrisbliss18
24026	No /themes/ folder causes strange behaviour		Themes	3.1	normal	normal	Awaiting Review	defect (bug)	new		2013-04-10T07:05:04Z	2013-04-11T04:09:40Z	"I know, that it's a tricky behaviour, but the problem exists.

1. Unzip WordPress files to appropriate place
2. Go to /wp-content/ and delete /themes/ folder
3. Install WordPress using it's wizard (ignore error in Dashboard that no theme activated)
4. Go to Plugins page in admin area
5. Install BuddyPress (this plugin register the theme BP Default that is situated in plugin folder - '''this is very important''')
6. Activate BuddyPress and complete its wizard to make BP functional
7. Go to Themes page in wp-admin
8. You will now see BP Default Theme. Try to activate it
9. Ta-da! You've just unlocked a new badge for catching an error."	slaFFik
16707	No theme is one theme		Themes	3.1	normal	minor	Awaiting Review	defect (bug)	reopened	dev-feedback	2011-02-28T23:39:32Z	2012-11-01T05:43:07Z	"If you have no themes at all it still says:

""You only have one theme installed right now. Live a little!"""	cogmios
14531	Only show custom header preview when an image is set		Themes	3.0.1	normal	normal	Awaiting Review	defect (bug)	new	reporter-feedback	2010-08-04T15:28:41Z	2011-08-11T22:24:22Z	"If a custom header is removed the preview shows an empty box. We should remove the Preview section in this case. Could also display a message ""No header image set"" or similar."	mtdewvirus
16410	Open basedir problem in /wp-includes/theme.php		Themes	3.0.4	normal	normal	Future Release	defect (bug)	new	has-patch	2011-01-30T16:18:13Z	2011-02-10T13:43:40Z	"On line 590 in theme.php there's:

{{{
if ( is_dir($theme_root . '/' . $theme_dir) && is_readable($theme_root . '/' . $theme_dir) ) {
}}}

please change this to:

{{{
if ( $theme_dir!="".."" && is_dir($theme_root . '/' . $theme_dir) && is_readable($theme_root . '/' . $theme_dir) ) {
}}}

is_dir() should not check .. and . folders, this results in open basedir errors when sharing themes between multiple installs. (symlinked)"	webraket
14179	Theme asking to update (theme with same name on WordPress.org)		Themes		normal	normal	WordPress.org	defect (bug)	new		2010-07-03T08:34:02Z	2013-01-29T22:58:53Z	"I have a theme with a certain name, but there is a theme with the same name in the WordPress themes directory. So now my theme keeps showing an update message.

Proposed solutions:

1. Add unique hash to each uploaded theme in the themes directory. This way even if someone has a home-grown theme which happens to have the same name, but are not going to upload it to the themes directory, there won't be a conflict. (You could change the name of the theme, but who is to say someone won't upload a theme that also has that name.)

2. Add more fields to the updater check such as author, and date/ time created. This could mean though that theme authors would always have to add this during theme creation, and know why they are doing this. Possibly adding a extra complicating step in WordPress theme design. Otherwise at some point they or their client could start getting a update message for their theme. 

"	design_dolphin
21510	Use get_background_color() in _custom_background_cb()		Themes	3.4.1	normal	normal	Awaiting Review	defect (bug)	new	has-patch	2012-08-07T17:57:52Z	2012-08-07T21:53:35Z	"When themes add a default background color via the `custom-background` feature, it isn't shown until the user saves it in the admin.  The issue is that the `_custom_background_cb()` uses `get_theme_mod( 'background_color' )` instead of `get_background_color()`, which will handle the default.

The attached patch should correct this."	greenshady
22986	WP uses header image's GUID as URL		Themes		normal	normal	Awaiting Review	defect (bug)	new	has-patch	2012-12-18T01:28:18Z	2012-12-18T11:57:53Z	"See summary. If I move my site (old domain becoming inaccessible), I cannot use my header images any more since
a) I am not allowed to change GUIDs.
b) GUIDs are used as URLs for header images:

http://core.trac.wordpress.org/browser/trunk/wp-includes/theme.php
{{{
1008        foreach ( (array) $headers as $header ) {
1009	                $url = esc_url_raw( $header->guid );
}}}"	bersbers
21918	WP_Customize_Control() doesn't work with add_setting() default theme_mod type		Themes	3.4.2	normal	normal	Awaiting Review	defect (bug)	new	reporter-feedback	2012-09-18T11:29:03Z	2012-09-18T13:54:58Z	"Consider the following code:

{{{
            $wp_customize->add_setting($color,array(
                    'default'           => '#000000',
                    'sanitize_callback' => 'sanitize_hex_color',
                    'capability'        => 'edit_theme_options',
                    'transport'         => 'postMessage'
                )
            );
            $wp_customize->add_control(new WP_Customize_Color_Control($wp_customize,$color,array(
                        'label'         => 'somelabel',
                        'section'       => 'colors'
                    )
                )
            );
}}}
The default 'type' used for add_setting() is 'theme_mod' as defined in http://codex.wordpress.org/Class_Reference%5CWP_Customize_Manager%5Cadd_setting

The WP_Customize_Color_Control '''does not''' accept the 'default' setting when there is no 'type' specified.

The WP_Customize_Color_Control '''does accept''' the 'default' setting when 'type' is either set to 'option' or 'theme_mods'.

Setting it to 'option' makes no sense because that would imply that one would be using a custom option database field with get_option() instead of the default database field used by get_theme_mod().

Because setting it to 'theme_mods' works and 'theme_mod' does not i suggest checking code for typos.

Expected behavior would be for it to work with theme_mod/get_theme_mod stored values when the default 'type' is used."	sebstyle
22336	WP_Theme::get_allowed_on_site() function doesn't work for other blogs		Themes	3.4.2	normal	major	Awaiting Review	defect (bug)	new		2012-10-31T20:07:54Z	2012-10-31T20:39:48Z	"On line 1110, the static function WP_Theme::get_allowed_on_site() overwrites the $blog_id argument:
{{{
$current = $blog_id == get_current_blog_id();
}}}
As a consequence, calling the function for another blog than the current blog is made impossible. It doesn't look fixed in WP 3.5 either."	npetetin
9774	Warning: Division by zero in /wp-admin/custom-header.php on line 361 (and many more)		Themes	2.8	lowest	minor	Future Release	defect (bug)	new		2009-05-09T18:54:43Z	2011-03-20T17:59:00Z	we might want to check if the needed defines are around and > 0 before allowing the custom-header.php to work.	Denis-de-Bernardy
14824	WordPress is not updating Theme option after making a theme a child theme by adding the line 'Template' to the child`s css without refreshing Theem activation		Themes	3.1	normal	normal	Future Release	defect (bug)	new		2010-09-09T23:27:35Z	2011-01-13T08:51:36Z	"Situation:

If you have 2 Themes on a 2 sites MultiSite install (each site is using one theme) and want to make one of them a child Theme of the other, you will go to one of them and add the line 'Template: NAME OF THE PARENT THEME' and save it.

After doing so the Child Theme will not inherit any Template Files from the parent until you deactivate/activate the Child Theme again.

Although it says in the ""Themes/Appereance"" section of the Child Themes backend 'CHILD THEME NAME uses templates from PARENT THEME NAME. Changes made to the templates will affect both themes.' even before deactivating/activating the Child Theme.

Looks like the template page might be checking the style.css and not update the option."	drale2k
21969	Wrong URL in wp_enqueue_script()		Themes	3.4	normal	normal	Awaiting Review	defect (bug)	new	has-patch	2012-09-22T19:21:21Z	2012-09-28T08:06:31Z	"This problem is probably related to fixed ticket #21749

Example theme directory

{{{
wp-content/themes/Some Theme/Theme
}}}

I noticed it with one premium theme. Users usually upload downloaded files through FTP with one more parent directory.

Function get_template_directory_uri() returns right URL:


{{{
wp-content/themes/Some Theme/Theme
}}}


But using it with wp_enqueue_script():


{{{
wp_enqueue_script( 'maxheight',  get_template_directory_uri() . '/js/maxheight.js' );
}}}


it returns wrong URL:


{{{
wp-content/themes/SomeTheme/Theme/js/maxheight.js
}}}

And script is not loaded in the end (Not Found error).

Reproduced on current trunk and 3.4.x."	pavelevap
18790	add_theme_support with post type doesn't add theme support but overwrites it		Themes	3.2.1	normal	normal	Awaiting Review	defect (bug)	new	has-patch	2011-09-27T12:17:13Z	2012-08-18T01:48:57Z	"The function add_theme_support has an optional second parameter, which allows you to add support for post thumbnails for certain post types.

You would expect this function to add the theme support for that post type, but instead it overwrites the theme support for that feature, which results in the theme support being set for just the post type(s) that were passed.

Reproduce:
{{{
function add_thumbnails_support()
{
	add_theme_support('post-thumbnails', array('my_post_type'));
	print_r(get_theme_support('post-thumbnails'));
	
	add_theme_support('post-thumbnails', array('another_post_type'));
	print_r(get_theme_support('post-thumbnails'));
}

add_action('after_setup_theme', 'add_thumbnails_support');
}}}
"	Jesper800
16919	style.css can sometimes conflict with custom background image		Themes	3.1	normal	normal	Future Release	defect (bug)	new	reporter-feedback	2011-03-21T21:54:10Z	2011-06-10T16:27:10Z	"Steps to repeat:

1. Theme with the following body style (or something similar):

{{{
body {
	background: url(images/texture.jpg) #fff;
}
}}}

2. Use `add_custom_background();` in functions.php

3. Select custom bg color, but no custom bg image.

4. View site. Custom bg color shows under the default background image, looks strange. No way to eliminate the use of textured or patterned background without editing style.css.

Intended result would be that if no bg image is chosen, none is needed.

Attached patch should address this."	nathanrice
21876	unregister_default_headers() will sometimes return null		Themes	3.4.2	normal	minor	Awaiting Review	defect (bug)	new		2012-09-12T19:23:07Z	2012-09-12T19:27:38Z	"File: wp-includes/theme.php
Function: unregister_default_headers()
Line: ~1046

Problem: 
PHPDoc comment says: @return True on success, false on failure.

Expected:
true or false:

Actual:
`var_dump(unregister_default_headers(array('FAKE')));` will return NULL

Suggested fix, change:
{{{
function unregister_default_headers( $header ) {
	global $_wp_default_headers;
	if ( is_array( $header ) ) {
		array_map( 'unregister_default_headers', $header );
	} elseif ( isset( $_wp_default_headers[ $header ] ) ) {
		unset( $_wp_default_headers[ $header ] );
		return true;
	} else {
		return false;
	}
}
}}}

To:
{{{
function unregister_default_headers( $header ) {
	global $_wp_default_headers;
	if ( is_array( $header ) ) {
	        $_ret = array_map( 'unregister_default_headers', $header );
	        return in_array(false, $_ret, true) ? false : true;
	} elseif ( isset( $_wp_default_headers[ $header ] ) ) {
		unset( $_wp_default_headers[ $header ] );
		return true;
	} else {
		return false;
	}
}
}}}

Thank you for your consideration."	conner_bw
22414	validate_current_theme() should validate cached theme roots		Themes		normal	normal	Future Release	defect (bug)	new		2012-11-11T21:57:54Z	2012-11-11T21:57:54Z	See ticket:22252#comment:14. To handle edge cases like the same theme being in multiple roots, validate_current_theme() should validate the cached theme roots, and update or delete them as appropriate.	nacin
17590	"wp_list_pages() not setting ""current_page_item"" classes on custom post types"		Themes	3.1	normal	normal	Future Release	defect (bug)	new	has-patch	2011-05-27T15:41:24Z	2012-11-07T22:22:09Z	"wp_list_pages() don't set the correct css for a hierarchical custom post type. 

To reproduce this bug do this:
<?php wp_list_pages(""title_li=&post_type=custom_post_type_name""); ?>

and compare the html output to normal pages:
<?php wp_list_pages(); ?>

The problem seems to be this row in wp_list_pages():
{{{
if ( is_page() || is_attachment() || $wp_query->is_posts_page )
}}}

In the following patch i've changed it to
{{{
if ( is_page() || is_attachment() || $wp_query->is_posts_page || ($wp_query->query_vars['post_type'] != 'post' && is_single()) )
}}}

(If this is not the intended behavoir please let me know. )"	tobiasn
7625	"""Customize Header"" page visual corrections [patch]"		Themes	2.7	low	minor	WordPress.org	enhancement	new		2008-08-28T10:44:50Z	2011-02-07T12:23:07Z	"I prepare patch which make this page a little bit nicer.
Advanced options are now under colorpicker buttons not ""Update Header"" button.

Visualisation: http://img28.picoodle.com/data/img28/3/8/28/f_TestBlog825m_2edd713.png

Patch tested on WordPress blog (latest rev.)."	Simek
20516	"Ability to remove a previously-used Header Image from the list of rotating ""random"" header images"		Themes	3.4	normal	normal	Awaiting Review	enhancement	new		2012-04-22T18:12:24Z	2012-04-22T21:38:55Z	"Being able to add a bunch of header images and then selecting the ""Random"" option in the Appearance > Header section is awesome! However, it is equally important to be able to remove one/some/all of those header images from the list of rotating images. The current UI does not support this.

An approach that would be the least disruptive to the current UI layout would be to enable a ""remove from list"" link (I wouldn't use the word ""delete"" because it's not deleting the media resource) when the user hovers over the image. The link could appear below the thumbnail, much as the Post's Quick Edit link appear under the list of Posts/Pages."	TomAuger
7795	Activate and Deactivate Theme hooks		Themes	2.7	normal	normal	Future Release	enhancement	assigned		2008-09-26T20:40:53Z	2013-02-07T21:54:02Z	Currently, there is no standard way of checking whether of theme is activated, deactivated and uninstalled. Plugins have this capability and themes should also have the same to ensure that both share similar functionality.	jacobsantos
16395	Add 'Template Version' for use with 'Template' in Child-Themes		Themes	3.1	normal	normal	Awaiting Review	enhancement	new	has-patch	2011-01-28T16:36:15Z	2012-07-09T14:55:27Z	"From the discussions on the http://make.wordpress.org/themes/ site I am suggesting the addition of 'Template Version' for inclusion into the get_theme_data() function to be used as a reference for a Child-Theme's compatibility with its Parent-Theme ('Template').

PS: This is my first ""patch"" submission, any constructive feedback would be greatly appreciated. EAC"	cais
16868	Add WordPress Required Version and Tested Up To Version for themes		Themes	3.1	normal	normal	WordPress.org	enhancement	new	has-patch	2011-03-16T20:04:27Z	2012-07-09T15:47:25Z	"The premise of this idea is for Theme authors to be able to add a reference to the version of WordPress their Theme requires to work correctly; and, the version of WordPress the Theme has been tested up to. This idea comes from the the plugin readme.txt file and some of the data that is expected to be found there.

Once implemented, further enhancements to the Appearance tab in the Administration Panels can be added to better inform end-users on the compatibility of the Theme with their current WordPress installation."	cais
22805	Add a hook for the live theme preview event		Themes	3.4.2	normal	normal	Awaiting Review	enhancement	new		2012-12-07T11:19:52Z	2013-01-17T23:42:52Z	"We have a hook for theme activation and deactivation, but for the theme live preview - not...

"	alexvorn2
16396	Add a hook to the theme editor page when the write is successful		Themes	3.1.3	normal	normal	Awaiting Review	enhancement	new	has-patch	2011-01-28T17:29:35Z	2011-06-20T18:39:59Z	Add a filter to the end of theme-editor.php's processing when the write is successful.	scottconnerly
20631	Add ability to add Contextual Help to the Theme Customizer		Themes	3.4	normal	normal	Awaiting Review	enhancement	new		2012-05-07T20:11:39Z	2012-05-07T20:55:18Z	While this is probably more complicated than I realize, it would be good to add the ability for contextual help in the admin side of the Theme Customizer. This would enable explanations of the various core features as well as any additional custom features by theme developers.	wpsmith
16883	"Add check for ""Template Version"" on theme activation"		Themes	3.1	normal	normal	Awaiting Review	enhancement	new	dev-feedback	2011-03-18T03:28:36Z	2011-10-19T18:15:47Z	"Related: #16395

In addition to adding Template Version to the standard meta information extracted from style.css in `get_theme_data()`, I think that for this information to be useful, a child theme shouldn't be able to be activated unless the template template the child theme uses (parent theme) meets the minimum version requirement identified in ""Template Version"".

A polite and graceful failure, with an error notice, would be preferable :-)

Reason: many times child themes utilize functionality that only exists in the latest version of a parent theme. They're stuck either writing backward compatibility into into their code, or risking whitescreens.

This not only prevents that, but it could be used to gently encourage the user to update the parent theme.

Certainly not a candidate for 3.1.1, but perhaps 3.2?"	nathanrice
16428	Add child-theme as a theme tag		Themes	3.1	normal	normal	Awaiting Review	enhancement	new	has-patch	2011-01-31T21:32:49Z	2011-02-01T00:20:39Z	With child themes getting very close to becoming a reality on the WordPress Themes Database we need a tag added for them in the theme headers.	pross
19736	Add default body_class classes for Theme Names		Themes	3.3.1	normal	minor	Awaiting Review	enhancement	new	has-patch	2012-01-04T16:58:07Z	2012-01-04T20:03:22Z	"Although this may be more pure enhancement and quite possibly Mallory-Everest in nature, the idea of having a default `body_class` output for the Theme name seems to be a reasonable one.

IF this is implemented it should also include a default class for a Child-Theme name as well as the Parent-Theme name.

To that end, I am suggesting the following patch to the `body_class` function."	cais
16401	Add hook to delete_theme() on successful delete		Themes	3.0.4	normal	normal	Awaiting Review	enhancement	new	has-patch	2011-01-28T20:24:37Z	2011-02-01T07:45:32Z	"Add an action or filter to the end of /wp-admin/includes/theme.php delete_theme()'s processing when the write is successful.

The use case is for managing a Wordpress install on an SVN-controlled server. Whenever the CMS changes a file or folder (particularly in the wp-content folder) I need to be able to trigger an svn commit.

See also Ticket # 16396"	scottconnerly
22401	Add information about old theme to 'theme_switched' action		Themes		normal	normal	Awaiting Review	enhancement	new		2012-11-10T02:14:48Z	2012-11-10T07:05:37Z	"Currently the 'theme_switch' action passes data about the theme you're switching to, but not the theme you're switching from.  Adding it there would make it easier to juggle functionality that needs to know about new and old themes.  Right now some of this happens by [http://core.trac.wordpress.org/browser/trunk/wp-includes/theme.php?rev=22516#L696 setting an option] ('theme_switched') and [http://core.trac.wordpress.org/browser/trunk/wp-includes/theme.php?rev=22516#L1598 checking for it] on [http://core.trac.wordpress.org/browser/trunk/wp-includes/default-filters.php?rev=22516#L214 init], then deleting the option.  That could be simplified by just passing the old theme's data in theme_switched.

There's an added benefit that we avoid checking for an option on every single request that usually won't be there."	evansolomon
19124	Add prompt on themes.php at end of available themes list		Themes	3.3	normal	normal	Future Release	enhancement	new		2011-11-03T02:43:49Z	2012-11-01T06:45:01Z	For new users, getting a new theme is still overwhelming. Long-term we should overhaul the way the theme management area works, but short term we could add a blurb after the last available theme is listed to prompt user to search/browse for more themes to install.	jane
21912	Add return filter to current_theme_supports()		Themes	3.4	normal	normal	Awaiting Review	enhancement	new	has-patch	2012-09-17T18:39:29Z	2012-09-28T08:06:29Z	"current_theme_supports() makes it hard for plugins to affect whether a theme supports a certain feature. 

The use case I have is that I am building a plugin that utilises bbPress (and soon, BuddyPress)-style template compatibility parts. In those template parts, I display something very, very similar to a post thumbnail or custom header. I want to use the ""Featured Image"" metabox on the Post screen to set that image.

If I use the plugin on a theme that doesn't support post thumbnails, the metabox correctly doesn't appear, and so users have no way of choosing a featured image. While there are ways around this -- manual conditional registering of the Featured Image metabox, creating my own metabox, or calling add_theme_support/remove_theme_support like a toggle -- none of them are particularly elegant.

While current_theme_supports has a return filter, it's not reached by all code execution paths. The attached patch reworks the function so that the return value is always passed through the filter."	DJPaul
23279	Add templates to style registration, signup, activation, login and password reset pages		Themes		normal	normal	Awaiting Review	enhancement	new		2013-01-23T22:20:58Z	2013-01-25T15:29:55Z	"As [https://irclogs.wordpress.org/chanlog.php?channel=wordpress-dev&day=2013-01-23&sort=asc#m539267 discussed in IRC], the ability to override the various user-related pages would be a great ability for themes to have. At the moment, it's pretty tedious to style these and there's very little control over the content of the page (some for good reason, others not so much).

Related: #1155, #3123, #22139"	rmccue
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
18959	Allow choosing multiple header images		Themes	3.3	normal	normal	Awaiting Review	enhancement	new		2011-10-15T21:32:15Z	2012-06-25T16:01:02Z	"Please, see small screenshot :)

[[Image(http://trueimages.ru/img/0f/5b/b7cf5f11a2786fc804521503268.png)]]

Description: This is the theme TwentyEleven. I want choose multiple header images, (for example 4,5,6), but i cannot. Only random or only one. Thanks."	wikicms
10086	Better warning (JS confirm dialog) when upgrading themes		Themes	2.8	normal	normal	Future Release	enhancement	new	has-patch	2009-06-10T11:25:42Z	2009-12-08T00:10:52Z	"I see three problems in the current warning:

1.  It’s not good UI English:  “Upgrading this theme will lose...”

2.  It does not follow the layout of similar JS confirm dialogs in WP, which put the OK/Cancel phrase in a second line.

3.  It’s not accurate and may frighten people for no reason.

I attach a tentative patch for consideration."	demetris
19270	"Current theme's ""OPTIONS:"" links should be filter-able"		Themes	3.1	normal	normal	Awaiting Review	enhancement	new	has-patch	2011-11-16T21:52:45Z	2012-06-22T19:32:37Z	"On the ""Manage Themes"" tab of ""themes.php"", the links shown after the label ""OPTIONS:"" which link to widgets, menus, and optionally any sub-menu's registered by the theme should be filterable by themes.

See attached screenshot if you're unclear what I'm talking about.

Reasons why it should be filter-able:
* themes that don't register any menus still contain links to menus screen
* links to top-level menus with their own sub-menus registered by theme (not themes.php sub-menus) don't get shown here currently
* this would be a perfect place for theme authors to add a link to a support page or forum"	jaredh123
10158	Deprecate is_home() and is_single(), in favor of is_blog() and is_post()		Themes		normal	normal	Future Release	enhancement	new	dev-feedback	2009-06-14T16:56:32Z	2012-08-17T19:24:06Z	Thoughts?	Denis-de-Bernardy
23040	Expand __get() method of WP_Theme object		Themes		normal	normal	Awaiting Review	enhancement	new	dev-feedback	2012-12-21T20:11:54Z	2012-12-21T22:28:31Z	"Currently, a user can do the following:
{{{
$theme   = wp_get_theme();
$version = $theme->Version;
$name    = $theme->Name;
$author  = $theme->Author;
$version = $theme->Version;
}}}

So, when I tried to get the other data in the same method, I was getting nothing. However, to get the other data, one must do this:
{{{
$theme->{'Author URI'}; // per Codex;
$theme->get( 'AuthorURI' ); // $theme->AuthorURI doesn't work
$theme->get( 'ThemeURI' ); // $theme->ThemeURI & $theme->{'Theme URI'}; doesn't work
$theme->get( 'TextDomain' ); // $theme->TextDomain & $theme->{'Text Domain'}; doesn't work
}}}

get() is a great method to get the other data; however, shouldn't we make this consistent for developers?"	wpsmith
14932	Featured Images: No way to custom crop when used as headers		Themes	3.0.1	normal	normal	Future Release	enhancement	new		2010-09-22T09:59:34Z	2010-09-22T14:27:21Z	"Custom Headers have Custom Cropping

When a theme uses featured images for per-post headers you don't get that goodness.

Makes feature images more ghetto for custom headers than they should be."	westi
21627	Filter for custom-background CSS selector	Horttcore	Themes	3.4.1	normal	trivial	Awaiting Review	enhancement	new	has-patch	2012-08-18T11:46:55Z	2013-01-10T20:34:50Z	"There should be an easier way for changing the css selector from body to html or any other then making your own callback.

"	Horttcore
13265	Filter results of get_page_templates()	nathanrice	Themes	3.0	normal	normal	Future Release	enhancement	reopened	has-patch	2010-05-05T19:56:16Z	2013-05-14T13:41:33Z	"It doesn't make sense to not have a filter on the returned value of this function. I can think of several instances where this would be useful.

I also inserted a ""pre_"" filter at the beginning of the function so plugins/themes can short-circuit the function as well.

I'm hoping this is small enough to get in for 3.0."	nathanrice
20157	"Gallery: define a ""Cover image"" that will appear in archive pages or a blog home page"		Themes		normal	normal	Awaiting Review	enhancement	new	has-patch	2012-03-02T18:04:09Z	2012-08-06T00:00:27Z	"Today, if you create a gallery with X images, you cannot define one specific image to appear as cover image for the whole gallery.

Couldn't we use {{{the_post_thumbnail}}}, and say that the cover of the album is the Featured image when there is one defined?

That's something that can be defined in the theme (see file attached), but I think it would be nice to have an option in core to define a cover image for each gallery.

What do you think?"	hd-J
14408	Get author information in author template file without having to query the first post	garyc40	Themes	3.0	normal	normal	Future Release	enhancement	assigned	has-patch	2010-07-24T13:51:46Z	2011-01-17T02:26:25Z	"In the template file author.php, Twenty Ten queries the first post of the author to get the author's profile information. This introduces a bug when the author has no blog posts yet, then the global $authordata is not set, as a result, no author information is displayed. Also, having to rewind the query later in the template is counter-intuitive.

One may argue that there's no need to display author information if that author doesn't have any blog posts yet. But I disagree. Theme developers might want to list custom posts on the author template file as well. For some sites, the author page is served as a member profile page for subscribers. Therefore having to query the first post in order to get the requested author information is a flawed approach.

One better way to fetch author information in the author template is by getting the query var 'author' for the author ID. Then use get_author_meta() with the second parameter to get the desired information.


{{{
$author_id = get_query_var( 'author' );
$author_description = get_the_author_meta( 'description', $author_id );
}}}


I attached a patch that addresses this issue.

In this patch, get_author_meta() is also modified to handle the ""display_name"" field correctly by applying the filter ""the_author"" whenever this field is fetched.

Another approach, which I haven't tested yet, is to set the $authordata global variable whenever the author query var is set. If that's possible, then we no longer need to supply $author_id to get_the_author_meta(). If anyone is interested in testing this approach, go ahead and create a patch."	garyc40
11215	Improve naming of child/parent theme functions	westi	Themes	2.9	normal	normal	Future Release	enhancement	new		2009-11-21T09:51:10Z	2012-02-17T15:41:13Z	"We have confusing naming for child/parent theme functions.

We have references to stylesheet/template instead of child/parent which makes it unclear which function should be being used.

In #11033 we introduced a function for loading the child themes textdomain with a clear name.

We should look at deprecating the stylesheet/template nomenclature and use child/parent instead."	westi
22972	Improve parameter name for wp_get_theme()		Themes	3.4	normal	minor	Awaiting Review	enhancement	new	has-patch	2012-12-17T12:33:15Z	2012-12-17T14:25:51Z	"The name of the first parameter for `wp_get_theme()` is misleading. It's called `$stylesheet` when in fact you're passing in the name of the theme's template directory, not the stylesheet.

The function is a wrapper for the `WP_Theme` class which gets its parameter names correct."	johnbillion
14310	Make template hierarchy filterable		Themes		normal	normal	Future Release	enhancement	reopened	dev-feedback	2010-07-14T22:03:58Z	2013-04-11T10:45:25Z	"Currently, we have filters for each template type: home_template, author_template etc.

The trouble is that these filters are applied on the final template path, after the template hierarchy has been traversed.

It would be useful if there was another filter applied to the actual template hierarchy array, before it was sent to locate_template().

== Example ==

Take the author template hierarchy:

author-{nicename}.php > author-{id}.php > author.php

Say I want to add author-{role}.php before author.php.

Sure, I could use the 'author_template' filter:

{{{
function author_role_template( $old_template ) {
  // get current author's role

  $new_template = locate_template( array( ""author-$role.php"" ) );

  if( $new_template && 'author.php' == $old_template )
    return $new_template;

  return $old_template;
}
add_filter('author_template', 'author_role_template');
}}}

With an 'author_template_candidates' hook, I could manipulate the actual hierarchy:

{{{
function author_role_template( $templates ) {
  // get current author's role

  $new_template = array( ""author-$role.php"" );

  $templates = array_merge( 
    array_slice( $templates, 0, -1 ), // before
    $new_template,                    // inserted
    array_slice( $templates, -1 )     // after
  );

  return $templates;
}
add_filter('author_template_hierarchy', 'author_role_template');
}}}

This would allow me to remove author-{id}.php if I wanted, etc."	scribu
4518	Nested <ol> <ul> lists display incorrectly with default theme	iandstewart	Themes	2.2.1	normal	normal	WordPress.org	enhancement	assigned		2007-06-23T02:33:41Z	2011-08-23T12:48:21Z	A nested ordered / unordered list places bullets AND numbers on the unordered list.  You can see an [http://andrew.jorgensenfamily.us/2005/12/cygwin-openssh/ example of this] on my own site.  The bug is somewhere in wp-content/themes/default/style.css.  I fixed it once before but I don't recall where the bug is now.	andrewjorgensen
12563	New action on body open	joostdevalk	Themes	3.1	normal	normal	Future Release	enhancement	new	close	2010-03-09T08:33:46Z	2012-08-30T12:27:15Z	More and more asynchronous javascripts need a part of their javascript printed right after the opening <body> tag, the Google Analytics asynchronous tracking being my most obvious example. To allow for this themes should come with a new function in the same fashion as wp_head and wp_footer, to be called 'body_open'.	joostdevalk
22273	Parent/child page template inheritance should be more consistent		Themes		normal	normal	Awaiting Review	enhancement	new		2012-10-24T18:39:48Z	2012-11-22T03:26:17Z	"When page templates in sub-directories was introduced in 3.4, we also inadvertantly introduced some scenarios where page template inheritance from parent to child themes gets wonky.

After some testing on trunk (r22290), I came up with some interesting findings in what I like to call ''Battle of the page template inheritance'':

Relationship: Parent:Child

Same filename, same Template Name:
* root:root = Child wins
* root:sub = Parent wins
* sub:sub = Child wins
* sub:root = Parent wins

Different filename, same Template Name:
* root:root = Parent wins
* root:sub = Parent wins
* sub:sub = Parent wins
* sub:root = Parent wins

Same filename, different Template Name:
* root:root = Child wins
* root:sub = Both available
* sub:sub = Child wins
* sub:root = Both available

In [http://core.trac.wordpress.org/ticket/22269#comment:1 #22269], @duck_ made light of `get_page_templates()` making use of `array_flip()` which effectively gives preference to Parent templates in some situations. I think it's worth looking at whether we can't allow `get_page_templates()` to properly respect inheritance, regardless of sub or root path.



The other interesting tidbit of course is that in the third set, we see the Child can override the parent file of the same filename, even if the Template Name is different, which I take is expected, but odd in terms of inheritance."	DrewAPicture
18375	Post type templates		Themes		normal	normal	Awaiting Review	enhancement	new	dev-feedback	2011-08-10T20:37:46Z	2013-02-14T21:36:30Z	"I'm increasingly finding situations where it would be nice to have the [http://codex.wordpress.org/Pages#Page_Templates page template functionality] available to custom post types (or, more specifically, available to all post types instead of just pages).

From a technical point of view there aren't many changes needed in core to support templates for all post types, but there may be some things to consider regarding the best way to go about it.

Patch coming up for my first pass at it.

Related:
* #11216
* #15803
* #7103 (very stale)

Note that the [http://wordpress.org/extend/plugins/custom-post-template/ Custom Post Template plugin] has 37k downloads so the demand is there."	johnbillion
24016	RFE : Amend coding standards so that theme developers place dynamic styles in separate files		Themes	3.5	normal	normal	Awaiting Review	enhancement	new		2013-04-09T21:19:08Z	2013-04-10T10:54:28Z	"Currently, theme authors are placing their dynamically generated CSS styles inline of the HTML output on every page. In a recent example I have seen from a purchased theme, what should have been a ~45KB page was being sent as a ~225KB page because of dynamically generated styles.

With minimal code, the styles can be moved to there own file (at least from the perspective of the client user agent) and HTTP features such as ""etag"", ""last-modified"", and ""expires"" can easily be made use of to make the browsing experience better.

My suspicion is that most of theme designers are not programmers, and so would not do such a thing on their own. A standardized example would help theme designers builder leaner pages.

----

 * dynamic styles -- CSS rules created based on administrator input into theme specific settings pages"	pembo13
12839	Should sandbox themes on activate to prevent fatal errors		Themes	3.0	normal	normal	Future Release	enhancement	new		2010-04-04T06:16:25Z	2010-10-28T09:11:30Z	"I've just made a child theme of TwentyTen by copying the folder over, renaming, and adding a Template: header to the style.css file.

Upon activation, I've been thrown to a page with a fatal error due to redefining a twentyten function.

Ideally, theme activations should be passed through a sandbox style activation the same as plugins."	dd32
22810	Support for theme changelogs		Themes		normal	normal	Future Release	enhancement	new	early	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
22355	Template stack - Beyond parent/child theme relationships		Themes		normal	normal	Awaiting Review	enhancement	new	has-patch	2012-11-03T21:45:25Z	2013-05-15T14:02:52Z	"'''Problem'''

Robust plugins (!BuddyPress, bbPress, et all) are unable to break out of the parent/child restrictions that !WordPress imposes on template output. For these plugins to include their own template parts, elaborate code must be written to hook into several different execution points, requiring an intimate knowledge of the inner workings of !WordPress's template loading system.

----

'''Solution'''

Create a stack of template locations, and allow !WordPress to transverse this array following the same STYLESHEETPATH/TEMPLATEPATH order it always has, while also enabling additional paths to be added with a priority (similar to the filters API.)

----

'''Details'''

The attached patch includes two new functions in wp-includes/template.php:

* register_template_stack()
* get_template_stack()

Register template stack is a wrapper for the 'template_stack' filter. get_template_stack() is a variation of apply_filters() that returns the array of filtered template locations.

A modification to wp-settings.php calls register_template_stack() two times, passing get_stylesheet_directory() and get_template_directory() as callbacks, to initialize the core parent/child relationship, ensuring complete backwards compatibility.

----

'''Result'''

This allows for plugins to register additional paths in the template loader hierarchy, and enables plugins that may come with their own default template parts the option of registering a fallback template location.

This works with both locate_template() and get_template_part(), and has the added benefit removing duplicate items inside of get_template_stack(), resulting in avoiding an additional file system check should the parent and child themes be the same."	johnjamesjacoby
22929	"The text for themes under ""Available Themes"" could use some structure"		Themes	3.5	normal	minor	Awaiting Review	enhancement	new	close	2012-12-14T00:09:18Z	2012-12-30T21:32:51Z	The text for each theme under Available Themes seems to be just floating in space, adding a border around it might look cleaner.	wycks
20714	Theme customizer: Impossible to preview a search results page		Themes	3.4	normal	normal	Awaiting Review	enhancement	new		2012-05-20T19:20:30Z	2012-05-24T06:57:40Z	"Steps to reproduce:

 1. Open the theme customizer
 2. Attempt to do a search in the site's search box in order to preview the search results page

The form won't submit and you won't be able to preview your search results."	johnbillion
19816	Theme details should be able to include multiple screenshots		Themes	3.3	normal	normal	Future Release	enhancement	new		2012-01-12T18:32:27Z	2012-12-14T23:48:54Z	"Per 3.4 scoping, themes should be able show multiple screenshots. This would require an API change on .org.

Ideas include showing a gallery inline with the current placement of the screenshot. Other visual ideas welcome. The thickbox will likely disappear and would not serve as a good place, as it is used for installing and not shown for installed themes."	helen
22794	Theme screenshots scaling breakpoint should be different when admin menu is collapsed		Themes	3.4	normal	normal	Future Release	enhancement	new		2012-12-06T19:14:10Z	2012-12-06T19:14:20Z	"The goal of the breakpoint was to ensure we had 3 themes across.

When the admin menu is collapsed, we get an extra 100+ pixels to work with. This means we should adjust our 1200px breakpoint to something less."	nacin
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
21442	Themes: change allowed term taxonomy from Width to Layout and add responsive-layout term		Themes		normal	normal	Awaiting Review	enhancement	new	has-patch	2012-08-01T17:48:53Z	2012-08-06T00:18:10Z	"See #21065 and discussion with WPTRT on http://make.wordpress.org/themes/2012/07/18/id-love-your-thoughts-on-adding-two-new/.

""Width"" is not accurate since themes can have fluid, fixed, or responsive height as well as width.

""Layout"" makes this more abstract."	lancewillett
16280	UI improvements to Themes API		Themes	3.1	normal	minor	Awaiting Review	enhancement	new		2011-01-18T06:11:00Z	2011-02-08T17:31:07Z	Following on from #16132, some improvements to the Themes API UI. Here's a patch for one particular issue, but there may be more overhaul for WP 3.2	solarissmoke
20027	Use get_(template|stylesheet) instead of get_option( '(template|stylesheet)' )		Themes		normal	normal	Future Release	enhancement	new	has-patch	2012-02-12T19:56:23Z	2013-01-09T21:29:03Z	"While working on Gandalf we noticed, that it's not enough to filter the current theme with
{{{
add_filter( 'template', array( $this, 'get_template' ) );
add_filter( 'stylesheet', array( $this, 'get_stylesheet' ) );
}}}

The reason are some uses of `get_option( 'template' )` or `get_option( 'stylesheet' )`.

Means we need additional filters:
{{{
add_filter( 'pre_option_stylesheet', array( $this, 'get_stylesheet' ) );
add_filter( 'pre_option_template', array( $this, 'get_template' ) );
}}}

It would be handy if `get_option( '(template|stylesheet)' )` could be replaced with `get_(template|stylesheet)`."	ocean90
18258	Users should not edit upstream themes		Themes		normal	normal	Awaiting Review	enhancement	new		2011-07-26T12:11:06Z	2011-10-02T10:50:10Z	"Currently, when users are entering the theme editor from the administration UI, they get the ability to edit the theme with very basic knowledge required. The downside with that that their tweaks will lost as soon as they update the theme or if this is WordPress default theme if they update the WordPress core. 

I purpose the following change – Users will be prompted with a message if they try to edit a message with an upstream link and presumably won't be able to edit the theme styles. Instead, they will get the opportunity to automatically create a child theme of the upstream theme with a default template which might contain theme metadata, and @include rule to add the stylesheet of the other theme.

Making this will help promote the usage of child themes and will make it easier to novice bloggers to hack their themes. It is also better from the current implementation by extensions as it doesn't require runtime database queries to fetch the additional author stylesheet."	Tomer
21931	White screen of death if theme can't be found		Themes		normal	normal	Awaiting Review	enhancement	reopened	dev-feedback	2012-09-19T16:55:39Z	2012-09-21T15:31:41Z	"If the current theme can't be found or is renamed, the front-end of the site will white screen. This is developer error, as when WP_USE_THEMES is true, the template loader should always have a template to load (as far as I understand). 

It's rare, but I come across it every once in a while in developing. It might be nice to have a wp_die() if a proper template can't be found in template-loader. 

Proof of concept: 

{{{
if ( $template = apply_filters( 'template_include', $template ) )
	include( $template );
else
	wp_die(""Whoops! Looks like you're missing a theme."");
}}}"	ericlewis
14664	"add <link rel=""profile"" ... /> to wp_head()"		Themes	3.0.1	normal	normal	Future Release	enhancement	new	has-patch	2010-08-21T06:22:56Z	2010-11-19T08:26:44Z	"Old themes use rel=""profile"" in <head>, twentyten use it in <link>.

Both ways are ok (http://microformats.org/wiki/rel-profile), and i think <link> is better (like in twentyten).

Currently, theme authors add the profile rel manually. They usualy use XFN 1.1 profile (http://gmpg.org/xfn/11). To change the profile users need to change the template files. This is problematic.

I think we need to add a profile_rel_link function to wp core and add it to wp_head(). This way, when we want to change the profile, we will use filters.

See the attacment."	ramiy
19296	add/apend templates 'transparently' via plugin to currently active theme or child theme.		Themes		normal	normal	Awaiting Review	enhancement	new	close	2011-11-19T02:00:27Z	2013-01-13T17:35:39Z	"In building a custom 'theme plugin' for bbpress I was just made aware that it is impossible for a plugin to 'transparently' add/append template files to the currently active theme or child theme.

I'd like to request the enhancement where when a theme is looking for a custom template such as single-forum.php to search a plugin folder if it is not found in the child theme or parent theme.

I'm thinking of some type of action where my plugin can say 'add me' to the list of places you are looking for templates.

If my understanding is correct, when WordPress is looking for a template it starts in the child, then the parent theme but ends there.

Why?
If I have a user manually add all of the custom templates needed to their current theme, and they update their theme, they will loose all the templates they manually added.

This means I have no way of giving a user custom theme templates that won't be lost when upgrading, thus requiring them to manually add the templates back in every time they upgrade their theme.

What it really means for me is that there is no real path for me to create custom bbpress templates for users where I don't have to worry about them loosing them. 

I can go the route that bbpress currently uses in this situation which is that bbpress uses the themes page.php template and replaces the_content(). The problem is I am stuck with whatever is included in the active themes page.php file.

*for instance twentyten has the title hardcoded in and the call to the sidebar, which I can't remove

I can't go the child theme route, because I have to assume that they are already using a child theme. 

Another dev told me today that this issue came up about 2 years ago. I am praying that there was proof of concept code somewhere that I can try to utilize. Does anyone happen to know if concept code exists anywhere?"	anointed
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
18298	deprecate TEMPLATEPATH and STYLESHEETPATH		Themes	3.0	normal	normal	Future Release	enhancement	new	has-patch	2011-07-29T18:43:02Z	2013-03-14T01:15:09Z	As part of #15086 we wanted to add unit tests, but we came across a problem in #UT22.  Basically `locate_template()` uses these constants instead of `get_template_directory()` and `get_stylesheet_directory()` which makes it impossible to use `switch_theme()`.  It looks like the constants are only used in about 20 places through core, so I recommend we fix those places and deprecate the constants.	aaroncampbell
14890	dynamic custom header image sizes patch		Themes		normal	normal	Future Release	enhancement	new	dev-feedback	2010-09-17T15:22:56Z	2010-11-22T16:42:45Z	"This patch adds the capability for theme developers to use maximum, fixed or automatic header image sizes.

HEADER_IMAGE_WIDTH and HEADER_IMAGE_HEIGHT can be set to 3 different states:
fixed - ""940"" - like the old feature. all images get resized to a fixed size
max - ""max:940"" - smaller images are not resized
auto - ""auto"" - no images are changed

At the moment the if clause handling if the image has to be resized and how is very complex. I can simplify it very easily, but didnt due to the possibility that we could at a ""manual/automatic cropping"" button or just change some conditions to manual cropping if it ""feels"" better. Needs some testing first..

The patch adds 4 new functions which - in future - will be used to return or echo the header_image's width and height:
get_header_image_width() - header_image_width()
get_header_image_height() - header_image_height()

If the whole uploading process would be filterable I would add this as a plugin, but I think it would be nice to have this feature in the core as well.

It is not ready for release yet though. E.g. need to add an explanation of the 3 states to be displayed to the user."	a.hoereth
10154	"floatting {{feed_image}} in ""wp_list_categories()"""		Themes	2.8	normal	minor	Future Release	enhancement	new	has-patch	2009-06-14T08:43:09Z	2010-09-27T19:06:28Z	"Using {{{wp_list_categories('feed_image=rss.gif')}}}  or {{{wp_list_categories('feed=RSS')}}} displayes a list of categories with links to feed.

The problem is, that we can't define who will come first ""cat feed"" or ""feed cat""?

Adding ""feed_location"" parameter may solve this problem.
"	ramiy
15086	get_template_part() should let you specify a directory	westi*	Themes	3.0	normal	normal	Future Release	enhancement	accepted	needs-unit-tests	2010-10-10T21:36:45Z	2013-02-07T21:51:35Z	"IT would be nice for `get_template_part()` to allow you to specify a directory to look for a file in.  Right now you actually *can* do this, but it requires passing a 'slug' to the function like `directory/slug`.  Since everywhere else in the code slugs are sanitized, this seems like an unexpected way to allow this functionality (I didn't realize this worked until @nacin pointed it out).  Since this slug isn't actually sanitized at all, you can currently do `get_template_part( '../../../test' );` which seems rather unsafe (`get_template_part` should be able to include from outside the themes directory).

I suggest sanitizing $slug and adding a third [optional] parameter that allows you to specify the directory to look in.  The directory parameter should be sanitized enough to not allow it to start with a . or a / (although this more likely belongs in `locate_template()` as something done to $template_name inside the foreach).

What does everyone think about this approach?

How many themes do we think are currently using the $slug parameter to specify a directory?

Right now the optional $name parameter is set up as a fall through, so if $slug-$name.php doesn't exist $slug.php is used.  Should $directory be set up similarly ($directory/$slug-$name.php -> $directory/$slug.php -> $slug-$name.php -> $slug.php)?"	aaroncampbell
23661	get_theme_root_uri doesn't get correct theme root for themes in folders registered by register_theme_directory		Themes	3.5.1	normal	normal	Awaiting Review	enhancement	new		2013-03-01T22:59:40Z	2013-03-02T04:42:11Z	"get_theme_root_uri doesn't get correct theme root for themes in folders registered by register_theme_directory

Doing this in wp-config.php:
{{{
define('DKO_ABSPATH', __DIR__ . '/');
// just sets DKO_ABSPATH to the path of the wp-config.php file, which happens to be my web root
}}}

Doing this in an mu-plugin:
{{{
register_theme_directory( DKO_ABSPATH . 'themes/' );
// add the webroot/themes folder as a  theme directory, trailing slash required (ideally trailingslashit in the register_theme_directory function)
}}}

Yields this for get_stylesheet_uri():
{{{
http://www.davidosomething.dev/wp/Users/dotrakoun/Sites/openshift/main/php/themes/2013-davidosomething/style.css?ver=3.5.1
}}}

i.e. the full path is returned instead of the uri.

Think the case matching in theme.php lines 477-490 (get_theme_root_uri) doesn't cover paths registered using register_theme_directory but outside of ABSPATH, site_url, and content_url"	davidosomething
14721	set_theme_mod() needs a filter		Themes	3.0.1	normal	normal	Future Release	enhancement	new	has-patch	2010-08-28T17:56:12Z	2013-01-16T20:59:49Z	"'''`set_theme_mod()`''' '''needs a filter'''!!!

'''Background:''' I was answering [http://wordpress.stackexchange.com/questions/972/ this question on WordPress Answers] about how to create a second background option in the admin.  I was able to do so relatively easily except for the fact that the only hook available for swapping the value to save for `set_theme_mod()` is within `get_option()` and `get_option()` has no context for the name of the theme mod so I had to resort to the highly brittle technique of determining what was being saved based on the order it was called. One small change to `/wp-admin/custom-background.php` and it all breaks.

'''Prospective Update:'''
Here's what the filters might look like:

{{{
function set_theme_mod($name, $value) {
	$theme = get_current_theme();

	$mods = get_option(""mods_$theme"");

	$value = apply_filters( ""set_theme_mod"", $value, $name );
	$value = apply_filters( ""set_theme_mod_$name"", $value );
	$mods[$name] = $value;

	update_option(""mods_$theme"", $mods);
	wp_cache_delete(""mods_$theme"", 'options');
}

}}}


I would submit a patch but I always struggle with that. I even asked others to [http://wordpress.stackexchange.com/questions/990/ help me streamline and understand the patching process a bit better]."	mikeschinkel
15648	switch_theme action hook may provide the old template value		Themes		normal	trivial	Future Release	enhancement	new		2010-12-02T14:16:03Z	2011-01-30T20:00:37Z	"When someone change its theme, and both support custom header, then the banner and the text color are not preserved (these options are theme specific)


Anyway, one may want to preserve these values :
 * check if the new theme has its default value
 * check if the old theme values are compatible
 * ...
 * migrate the values

But in order to do this, WordPress should provide the value of the old theme in use. It would be easy to get it in switch_theme() and to send it as a second argument to the action hook."	drzraf
11735	unwrap text in theme and plugin editors		Themes	3.0	lowest	minor	Future Release	enhancement	new		2010-01-06T02:42:04Z	2011-01-27T05:44:06Z	"Anyone who actually has to do any editing in these boxes must know what a pain word wrap is, especially when dealing with PHP that's tab-indented a few times.

A little CSS is all that's needed for the appropriate textarea elements:
white-space: nowrap; overflow: auto;"	miken32
18951	A function to add default images for themes		Themes	3.2.1	normal	normal	Future Release	feature request	new	has-patch	2011-10-14T17:19:27Z	2011-10-18T17:44:36Z	"Adding default images to themes is not an easy task. They have to play nicely with different image sizes that are built-in and/or added via {{{add_image_size();}}}. If they don't, then they will simply break the layout or won't change with user changes. Sadly we can't simply use most of the core media/image functions as those functions check if the image is an attachment image and - if not - abort.

So I want to introduce {{{wp_default_img();}}}. It works with an input array of attributes and offers two filters (wp_default_img_attr & wp_default_img). So setting up default images is as easy as using a filter (if the theme developer isn't satisfied with the functions default args) and finally just adding

{{{
// functions.php during init:
add_image_size( 'default_img', 80, 80, true );

// Inside some template
$placeholder = get_site_url( null, 'your_path' ).'/some_img.jpg';
echo wp_default_img( array( 'url' => $placeholder, 'size' => 'default_img' ) );
}}}

The function also cares about cropping images if 4th argument set to {{{true}}} when registering the size using {{{add_image_size();}}}.

Related ticket that pops the whole image size data into [http://core.trac.wordpress.org/browser/branches/3.2/wp-includes/media.php#L580 get_intermediate_image_sizes();], can be found here #18947."	F J Kaiser
12717	Ability to create new theme files.	nacin	Themes		normal	normal	Future Release	feature request	reviewing		2010-03-26T00:30:26Z	2010-06-21T06:18:43Z	"It would be really nice to be able to create a new file with the theme editor (e.g. loop-category.php) or a new page template for example, when you realise that you need one.

This is related to the last comment in #12716 as creating new versions of parent theme files in your child theme also would be very useful.

Yes.... I know you can use FTP to do this, but when you want to create a new page template quickly and you are in the wrong place it would be a very useful feature.
By the same argument we have the theme editor in the first place, let make it even more useful."	Dickie
19561	Allow a background colour to be set for custom headers		Themes	3.3	normal	normal	Awaiting Review	feature request	new		2011-12-15T09:11:04Z	2011-12-15T09:11:04Z	"Currently WordPress allows you to set a custom image background for the header and a custom text color but doesn't give the users a way to set a custom ''background color'' for the header. 

Adding a simple color picker for the header background would give users a lot more flexibility in what they can do with the header without using external software to create graphics etc. Perhaps needs a way to activate it from the themes functions.php (suggest ''add_custom_header_color''?)"	hellweaver666
18623	Allow themes to pre-register multiple custom backgrounds		Themes	3.3	normal	minor	Awaiting Review	feature request	new	dev-feedback	2011-09-08T21:53:35Z	2012-07-07T18:16:49Z	We currently have the ability to register multiple header images and to randomly cycle through them or allow users to select one and stick with it. Is there anything that would prevent a similar implementation for custom backgrounds?	zamoose
18118	Append page slug to body_class function		Themes		normal	normal	Awaiting Review	feature request	new	has-patch	2011-07-14T21:52:03Z	2011-07-26T20:26:54Z	"I actually do this already on all of my sites, and thought this would be an obvious, amazing thing to add to the body_class function. Pretty much what you'd expect; the page-slug gets appended to the body_class, allowing for page-specific styling.

'''<?php body_class($post->post_name . ' '); ?>'''"	andrewsvg
17236	Make it easier to subclass custom header and background		Themes		normal	normal	Awaiting Review	feature request	new		2011-04-25T20:50:13Z	2012-08-10T12:55:06Z	"The functions that add the custom header and background contain code like this:

{{{
require_once( ABSPATH . 'wp-admin/custom-header.php' );
$custom_image_header = new Custom_Image_Header( $admin_header_callback, $admin_image_div_callback );
add_action( 'admin_menu', array( &$custom_image_header, 'init' ) );
}}}

This makes it difficult to extend those classes, since they're referenced here directly. Replacing them with subclasses involves not only modifying the global after the fact, but removing and re-adding the action hook to the newly created sub-class item. 

The fact that this base class is only included at this point also makes it difficult to load your own subclass at the right time, since you have to add the custom image header first, then load, then remove the action hook, then replace the class, then do the action hook yourself...

It would be nice if it was possible to more easily replace these globals (both header and background) with a different class at the time of definition here. I'm not sure of the best way to do this. Perhaps with a hook allowing the user to replace the class before the add_action? Or by having the new itself use a class of the users own defining.
"	Otto42
12877	Modular themes: Apply template hierarchy to folders within a theme		Themes		normal	normal	Future Release	feature request	new	has-patch	2010-04-06T16:26:15Z	2013-04-11T03:34:53Z	"Applying template heirarchy to folders within a theme will allow themes to be broken into modules, allowing theme developers to substantially reduce repeated code. This is an automated, complete version of the use of get_template_part() in Twenty Ten.

I've written posts on the [http://wp.me/pS0xt-1f justification for modular themes] and [http://wp.me/pS0xt-30 their potential to transform theme organization].

Based on [http://wp.me/pS0xt-3O my tests], these functions should cause no noticeable difference in performance.

The patch has the added benefit of creating an accurate global $wp_template_hierarchy object (and a getter method), so any plugin/theme can access the template hierarchy for $wp_query.

The patch introduces several new functions: get_template_module($folder), get_template_hierarchy(), update_template_hierarchy(), and 2 private functions.

Finally, the patch also add a 'locate_template' filter on $template_names at the beginning of locate_template(), and turns the large conditional in template-loader.php into a function: template_loader()."	koopersmith
19238	New approach for content navigation section in themes		Themes	3.3	normal	normal	Awaiting Review	feature request	new	dev-feedback	2011-11-12T16:06:01Z	2011-11-12T16:06:01Z	"At this moment the only way to replace default content navigation in theme (previous/next posts links) is to manually edit theme files. Ticket #18585 allows to replace this section, but its scope is limited to Twentyeleven and its child themes. 

Therefore I propose to introduce generic mechanism, which could be used by theme and plugin autors - e.g. add new `content_navigation_template()` theme tag. By default it should look for `navigation.php` file in theme directory and include it. There should be also a new filter, which could be used by child theme and plugin authors to provide alternate navigation section."	sirzooro
21256	New theme feature - add_theme_support( 'content-width', $defaults )		Themes	3.4.1	normal	normal	Awaiting Review	feature request	new	dev-feedback	2012-07-13T10:08:34Z	2013-05-15T15:49:42Z	"Themes use '''$content_width''' variable to set the content area width, they use:

{{{
if ( ! isset( $content_width ) ) 
	$content_width = 500; 
}}}

This method has two flaws, it's not flexible and it does not support different sizes for different post-types.

WordPress has to make the content-width to be a builtin theme feature using '''add_theme_support()''', and make it more flexible and easy to update. I want to update this value using the Theme Customizer rather editing the function.php file.

The code needs to be easy to set and to support CPT, some thing like this:

{{{
$defaults = array(
	'post'       => '500',
	'page'       => '500',
	'attachment' => '650',
	'artist'     => '300',
	'movie'      => '400'
);
add_theme_support( 'content-width', $defaults );
}}}

Just an idea for 3.5."	ramiy
21097	Reinstall Theme feature		Themes		normal	normal	Awaiting Review	feature request	new		2012-06-28T11:21:32Z	2012-06-28T14:18:38Z	I would be interested in a feature where you can just click to reinstall a theme instead of having to deactivate it, delete it and then reinstall it. Something like with reinstalling WordPress.	grapplerulrich
20509	Theme idea - generic.php		Themes		normal	normal	Awaiting Review	feature request	new	dev-feedback	2012-04-21T23:37:30Z	2013-03-18T23:48:35Z	"Problem: How do plugins that introduce completely new functionality (I.E. BuddyPress/bbPress) interface with themes, without needing to move template files directly into a theme's folder?

Solution: generic.php

----

generic.php would be a template file that includes skeletal layout of the theme. In place of the content and the comment logic, is an action; for the sake of discussion, let's name this action 'generic_content'

A concept file is attached for twentyeleven.

This type of ability would help prevent a ton of additional processing that plugins currently need to do to hi-jack the_content output and noop the comment stream, in situations where a plugin needs to output HTML into the main content area of a theme.

Rather than guessing at template names, and hoping 'page.php' or 'index.php' will be close enough, a convention of having themes come with a dedicated template for plugin compatibility would be incredibly helpful.

BuddyPress components have a similar convention already, with a plugin.php having only the header, footer, sidebar, and generic action in them.

The use case is currently small, and there's very little (if anything) needed in WordPress core to make this work. Wanted to post the idea here to get some developer talk going, and get opinions on other possible approaches."	johnjamesjacoby
19627	Themes should be able to opt-in to a static front page	koopersmith	Themes		normal	normal	Future Release	feature request	assigned		2011-12-21T01:42:05Z	2013-03-02T21:47:58Z	"A theme should be able to register that they are designed to have a static front page by default. Core should then pick up on this as part of the activation process and allow them to pick or create a page, or ignore it and show posts on the front.

Twenty Twelve will most likely need this (http://wpdevel.wordpress.com/2011/12/20/default-theme-twenty-twelve/)."	nacin
20978	Upload a theme like an image		Themes	3.5	normal	normal	Awaiting Review	feature request	new	dev-feedback	2012-06-15T18:26:31Z	2012-12-15T16:45:15Z	add option to drag zip files like images on 'theme-install' page, enable multiupload.	alexvorn2
14752	Warn after theme activation if wp_head/footer is missing		Themes		normal	normal	Future Release	feature request	new	dev-feedback	2010-09-01T12:10:37Z	2010-10-28T10:34:33Z	"After theme activation, we can reliably test for wp_head() and wp_footer() with an HTTP call to the front page.

We should do that and check for two things:

 1. That wp_head() and wp_footer() are present in the theme.

 2. That they are in the correct location, immediately before </head> and </body>.

Then throw a warning that the theme may not function properly (with a link to a Codex page?) because it is not using the API correctly.

Is this core material?"	nacin
22961	"""Allow link notifications from other blogs (pingbacks and trackbacks.)"" description is misleading"		Text Changes		normal	normal	Awaiting Review	defect (bug)	new		2012-12-16T14:39:50Z	2012-12-17T11:34:24Z	"The description for enabling pingbacks and trackback is ""Allow link notifications from other blogs (pingbacks and trackbacks.)"". Which is not correct a more appropriate description should be ""By default new posts can recieve notification (pingbacks and trackbacks) from other blogs"".

The current description is broken in particular when the option is not set which leads to the assumption that the pingbacks and trackbacks are block while they are not as they are still enabled for posts which were create before the option was disabled."	mark-k
19168	Change 'View Comment' button on comment.php?action=editcomment		Text Changes	3.3	normal	normal	Future Release	defect (bug)	new		2011-11-05T18:06:01Z	2013-01-22T00:13:56Z	"To be consistent with other screens the object should be removed.

Or Jane's words:
> that really ought to get moved out of the box altogether, but that's too big to be doing this late in cycle"	ocean90
23569	Network Admin Email description falsely claims e-mails will be sent from it		Text Changes		normal	minor	Awaiting Review	defect (bug)	new		2013-02-21T01:27:05Z	2013-02-21T01:37:36Z	"The description for the Network Admin Email option on wp-admin/network/settings.php says, ""Registration and support emails will come from this address. An address such as support@local.nordstrom.audrey.mpangodev.com is recommended.""; but that's not true. 

If the From name/address isn't set in wp_mail()'s $header argument, it gets set to ""WordPress <wordpress@$sitename>"".

What would a better description be? Maybe some like:

  ""Where you would like to be notified about new site creation and new user registration.""

That would be consistent with the structure of the Network Name description just above it, which reads, ""What you would like to call this network.""

If that sounds good to others I'll go ahead and create a patch for it."	iandunn
23082	"replace XHTML with HTML in ""WordPress should correct invalidly nested XHTML automatically"" setting"		Text Changes		normal	normal	Awaiting Review	defect (bug)	new		2012-12-30T09:02:43Z	2012-12-30T09:02:43Z	"From inspecting the code it seems like tag balancing is done whatever flavour of HTML is being used, so maybe using the more generic term HTML will reflect better what is being done in the code.

Actually I'm not even sure that it should be more then ""Try to auto correct publishing standard errors found in the text"", just avoid totally the whole XHTML/HTML thing. I'm sure someone with better english language skills then me will find a way to make it shorter."	mark-k
18552	"""Just another WordPress site"" might be seen as dimissive to users"		Text Changes	3.2.1	low	trivial	Awaiting Review	enhancement	new	has-patch	2011-08-31T10:16:00Z	2013-01-14T12:49:39Z	"The default tagline on all new WordPress sites is ""Just another WordPress site"".

This is obviously written in good spirit, and meant to encourage users to change their tagline. But not all users appreciate the humor. Some might feel it dismisses them and their sites, and even if it does get them to change the title, it leaves a bad taste.

I suggest we change this to ""Another great WordPress site"", ""Another fine WordPress site"", etc."	RanYanivHartstein
22474	Change case in Hello world!		Text Changes	3.4.2	low	trivial	Awaiting Review	enhancement	new	has-patch	2012-11-16T14:08:21Z	2013-05-10T20:01:57Z	"Currently, the ""Hello world!"" headline on the default post is in sentence case rather than title case, which would be ""Hello World!""

Title case and sentence case are both grammatically correct, you just need to pick a standard and stick to it. But let's face it, headlines usually use title case. I propose that we change the default post title to use title case instead of sentence case."	jane
18418	"Clarifying what ""Private"" means in post visibility"	danielbachhuber	Text Changes		normal	minor	Future Release	enhancement	new	has-patch	2011-08-15T19:05:51Z	2013-01-22T00:13:00Z	"When choosing visibility for a single post, “Private” doesn’t make much sense as a label and requires extra explanation as to whom the post will be private to.

Context: At the Newbie Workshop during WCSF 2011, we had to talk brand new users through the myriad of features offered in WordPress. ""Private"" as a post visibility required extra explanation and even I realized I didn't know what it did.

""Private"" should be replaced with text like ""Private to blog editors and administrators"""	danielbachhuber
17739	Comment prompt text is misleading		Text Changes	3.2	lowest	trivial	Future Release	enhancement	new		2011-06-10T01:24:54Z	2012-11-19T16:46:04Z	"The comment form says, ""Your email address will not be published.""

It can be deceptive b/c people assume it's used for some sort of verification, not that it goes to the site owner/comment moderator, who could very well decide to publish it if he/she happens to be an unethical jerk. People complain about this in support forums and elsewhere every now and then. Quite trivial issue compared to most tickets, but would be nice to take care of it. 

Suggestions for better text welcome."	jane
22579	Confusion of  WP admin Discussion settings		Text Changes		normal	major	Awaiting Review	enhancement	new		2012-11-24T20:46:05Z	2013-05-01T16:51:55Z	"On the ""Settings>Discussion"" page:

1) ""'''Default article settings'''"" should be replaced by ""'''Default comment settings'''"" (because these important settings do not only apply to posts (''articles'')), but also to pages!

2) ""'''Allow people to post comments on new articles'''"" should be replaced by:

--> ""'''Allow people to post comments'''"" (best option in my opinion)

or

--> ""Allow people to post comments on new pages and posts""

Sorry if this is not the right place to make such suggestions."	Lorangeo
15719	Connection Information dialog does not explain root problem		Text Changes	3.0.2	normal	normal	Future Release	enhancement	new		2010-12-07T17:27:06Z	2012-11-19T16:52:51Z	"On a brand new install of WordPress on a fresh Ubuntu 10.10 LAMP server, after trying to update a plugin, I got the '''Connection Information''' page that requested FTP information. (""To perform the requested action, WordPress needs to access to your web server. Please enter your FTP credentials to proceed. If you do not remember your credentials, you should contact your web host."")

This message should have explained the root cause: my filesystem permissions did not allow WordPress to write. I think this error message is defective (a bug) because it doesn't explain the problem. Therefore, admins are forced to go on a wild goose chase to find the root cause and proposed an alternative (FTP) that I didn't even want to use."	novasource
14039	Consolidate strings with same meaning but different wording	demetris	Text Changes	3.0	normal	normal	Future Release	enhancement	assigned		2010-06-22T08:14:30Z	2012-11-19T16:52:00Z	"While translating WordPress I often come upon couples or triplets of strings that mean the same thing but are worded differently.  I would like to start consolidating such strings by selecting a preferable version and replacing the other instances with it.

Here is one example:

 *  You are not allowed to edit this page.  <- The one to keep. 
 *  Sorry, you cannot edit this page. 
 *  Sorry, you do not have the right to edit this page.

Here is another:

 *  Submit Comment
 *  Post Comment  <- $label_submit in comment_form()

Before making any patches, I will post all cases here for review and feedback.

The milestone for this would be 3.1, but it seems that I have been designated an “unknown Trac user” and I cannot set milestone and priority."	demetris
23247	Grammar Fix on setup when wp-config-sample.php does not exist		Text Changes		normal	trivial	Future Release	enhancement	new	commit	2013-01-20T22:45:50Z	2013-05-14T13:26:47Z	"Patch changes 

  Sorry, I need a wp-config-sample.php file to work from. Please re-upload this file from your WordPress installation.

to 

  Sorry, I need a wp-config-sample.php file to work from. Please re-upload this file to your WordPress installation.

Makes it a little more clear.
Perhaps in the future, we can remove the need for wp-config-sample.php all together."	bradparbs
14099	Links to Codex from within WordPress should be standardised		Text Changes	3.0	normal	minor	Future Release	enhancement	new		2010-06-26T10:02:57Z	2012-12-24T11:54:15Z	"There are various links to pages on Codex throughout the admin screens. Some of them say things like ""More information"", some say ""see bla bla on Codex"", some aren't clear where they link to.

It would be nice if:
 1. All Codex links were styled in a way that makes them different from other links, for example if they had a different foreground/background colour or if they had a Codex icon prepended/appended to the link.
 2. All Codex links followed similar terminology (string change).

Ideas/suggestions?"	johnbillion
22976	Remove reference to category to tag converter from the tools page		Text Changes		normal	normal	Awaiting Review	enhancement	new		2012-12-17T16:02:00Z	2012-12-18T16:41:02Z	It has been such a long time since version 2.3, does anybody really need a reminder for the existence of this tool on that relatively high profile page?	mark-k
22119	Rename 'QuickPress' to 'Quick Post' or something similar.		Text Changes		normal	normal	Awaiting Review	enhancement	new	has-patch	2012-10-07T04:11:02Z	2013-01-22T03:21:21Z	I think 'QuickPress' should be renamed to 'Quick Post' to be a little more user friendly. As it stands, Quick press gives no indication whether it will be a post or page, or what QuickPress even does. I think renaming it Quick Press gives more direction, and is a little easier to understand.	bradparbs
13433	"Replace ""admin"" with ""administrator"" or ""administration"""		Text Changes	3.0	normal	normal	Future Release	enhancement	new	has-patch	2010-05-18T12:54:25Z	2012-11-19T16:44:19Z	"Since ""administrator"" is right name for user who administrates site, we should replace occurences of ""admin"" because of consistency and because it adds confusion since ""admin"" is also used instead of ""administration"".

You can easily see current 17 occurences by searching on GlotPress (eg. [http://tinyurl.com/39m7xeh])"	dimadin
18400	"Suggested label change for ""Stick this post to the front page"""		Text Changes		normal	minor	Awaiting Review	enhancement	new	has-patch	2011-08-14T01:19:53Z	2012-11-19T16:46:13Z	"In the Publish meta box, it would be more clear to say ""Stick this post to the top of the front page"" compared to saying ""Stick this post to the front page""."	designsimply
18780	"The caption ""Comment author must fill out name and e-mail"" is ambiguous"	gabrielhtc	Text Changes		normal	normal	Awaiting Review	enhancement	new		2011-09-26T14:46:14Z	2013-02-15T13:38:47Z	"
== Observation ==

Users tend to think that if they uncheck that option, the name and email fields will not be displayed.


== Problem ==

The caption ""Comment author must fill out name and e-mail "" in the ""Other comment settings"" of the Discussion settings is ambiguous.


== What is expected ==

With the current caption, users expect that the name and email fields aren't shown.


== What happens instead ==

The name and email fields are still displayed, but they are now optional instead of being required. Some of the themes do not explain whether the fields are required or optional, so the users think that unchecking the option has no effect.


== Solutions ==

* Changing the caption to a less ambiguous one such as: ""Name and email is optional for guests comments""
* Make sure that the themes show clearly which field is required or not to be able to post the comment."	gabrielhtc
18885	Use 'View Comment' instead of '#'		Text Changes	3.3	normal	normal	Future Release	enhancement	new	has-patch	2011-10-08T04:21:55Z	2013-01-22T00:28:59Z	"Similar to #18846 but for Dashboard Recent Comments.

Feel free to refresh/tweak the patch if accepted.

"	zeo
15583	wp-admin/options-discussion: make text consistent		Text Changes	3.1	normal	trivial	Future Release	enhancement	new	has-patch	2010-11-25T19:41:58Z	2012-11-19T16:44:25Z	In wp-admin/options-discussion almost all lines have no period at the end of the line, except two. Remove periods.	latz
21894	<!--more--> tag does nothing in secondary loops when is_single because of $more global		Template		normal	normal	Awaiting Review	defect (bug)	new	has-patch	2012-09-14T20:11:48Z	2013-03-07T01:19:02Z	"In the sidebar of single posts I have a listing of short posts from a particular category. We recently started using the {{{<!--more-->}}} system to define teasers because in this case excerpts are overkill. The ""more"" system works for archive views but does nothing in the sidebar of single posts. The reason is the overly global nature of the {{{global $more}}} variable. It gets defined in {{{setup_postdata()}}} like this:

{{{
if ( is_single() || is_page() || is_feed() )
	$more = 1;
}}}

Then in {{{get_the_content()}}} global $more is checked to determine whether to apply the effect of the {{{<!--more-->}}} tag or not:

{{{
if ( $more ) {
	// show full content with span ID 
} else {
	// show intro text and more link
}
}}}

This means that any time {{{is_single()}}} is true all posts shown during the pageload ignore {{{<!--more-->}}}, even those who's {{{is_single}}} view we are not on. 

This seems like an understandable result of the unpopularity of the more tag (and rareness of showing ""full"" posts in secondary loops), but also something that should be fixed. Only the post who's single view we are looking at should have the more tag disabled based on the {{{is_single()}}} check. 

'''SOLUTION'''

As far as I can tell what's needed is to modify {{{get_the_content()}}} and in addition to using {{{global $more}}}, also check if the post being shown is the same as {{{get_queried_object()}}}. My first instinct was to just add the check in the {{{if}}} statement above:

{{{
if ( $more AND ( $post-ID == get_the_queried_object_id() ) ) {
	// show full content with span ID 
} else {
	// show intro text and more link
}
}}}

Unfortunately that will screw with the {{{is_feed()}}}-related checks for {{{global $more}}}. Overall my investigation of {{{$more}}} is making me think it should be removed entirely, as it's only used a few times and in all cases its meaning is vague.

Either way I think the simplest way to handle the issue in {{{get_the_content()}}} without completely stripping out {{{$more}}} is to use {{{$more}}} as the base for a {{{$show_full_content}}} variable, then set that to false if {{{$post->ID}}} doesn't match {{{get_queried_object_id()}}}:

{{{
$show_full_content = $more;
if ( is_single() OR is_page() ) {
	if ($post->ID != get_queried_object_id())
		$show_full_content = false;
}
}}}

The new variable gives a better sense of what it will do inside this function, and lets us change the value without stomping the {{{global $more}}}. The attached patch fixes {{{get_the_content()}}} as described above. 

If core devs are willing to I think the best solution would be to remove all uses of {{{$more}}} and simply replace them with the appropriate logic for the given situation like I've done above for {{{get_the_content()}}}. 


"	jeremyclarke
6978	Accessing password protected posts though bloglines sends reader directly to dashboard		Template	2.5.1	normal	normal	Future Release	defect (bug)	new		2008-05-15T19:13:48Z	2009-11-23T22:11:19Z	"Accessing password protected posts though bloglines sends non-admin reader directly to admin dashboard:

1) User selects a feed in bloglines
2) In the bloglines frame the user enters the password for the protected post
3) Wordpress dashboard is loaded in the bloglines frame instead of the protected post

This gives the non-admin user full access to the wordpress blog.
"	MidoSibira
20601	Author archives queries should return a 404 when the user isn't a member of the blog		Template		normal	normal	Future Release	defect (bug)	new	has-patch	2012-05-02T09:53:43Z	2012-11-18T02:05:51Z	"On a multi site install, querying for the author page for a user that is not a member of that blog, still returns a valid page, instead of a 404.

Example:
User crazygeorge is a member of of blog1 but not a member of blog2

The url http://example.com/blog2/author/crazygeorge/ will return the author template with a no posts found message. 

Insead, we should ignore users that are not member of a specific blog, and return a proper 404.

"	yoavf
10663	Category name handling wrong function is_category		Template	2.8.4	normal	normal	Future Release	defect (bug)	new	dev-feedback	2009-08-20T15:40:46Z	2010-07-15T13:19:54Z	"When putting numbers in front of the category names, Wordpress uses them as basis for the function is_category which leads to problems with e.g. plugins using this function.
Example:
- 3 Categories: ""News"" (id 1), ""1st Release"" (id 2), ""2nd Release"" (id 3)
- Trying to check the category with is_category(1) works for news, but also returns true for the category ""1st Release""
- Trying to check the category with is_category(2) returns true for both, ""1st Release"" and ""2nd Release""

This behaviour is not expected. It might be interesting when you explicitely give the category numbers as names (e.g. ""1"", ""2"", ""3""). Changing the in_array function to a simple equal comparison makes everything work as expected."	Azaroth
11910	Category widget displayed as dropdown doesn't use fancy urls		Template	2.9.1	low	minor	Future Release	defect (bug)	new		2010-01-15T16:14:38Z	2010-04-03T23:47:24Z	"The title should be self-explanatory. It links to:

/?cat_id=X"	Denis-de-Bernardy
18829	Cleanup of postbox_classes		Template	3.2.1	normal	normal	Awaiting Review	defect (bug)	new	has-patch	2011-09-30T19:39:50Z	2011-11-22T15:07:29Z	"When using add_meta_box, this patch fixes the extra spaces in the meta box CSS class attribute.

This patch cleans up the '''postbox_classes''' function."	logikal16
23470	Convert slash to dash and make body class for page templates look better		Template	3.4	normal	normal	Awaiting Review	defect (bug)	new	has-patch	2013-02-13T12:24:09Z	2013-04-01T03:16:13Z	"If you keep you page templates in a page-templates folder in your theme. Let's we have a template named front-page.php - the template slug written in the postmeta will be '''page-templates/front-page.php'''

When generating the classes for the body, get_body_class() will convert the dot to a dash but the slash will be stripped by sanitize_html_class().
So finally we will have a class:

'''page-template-page-templatesfront-page-php'''

Isn't it prettier to convert the slash to dash and to have it like:

'''page-template-page-templates-front-page-php'''"	Caspie
24232	Don't Use the_title Filter in get_adjacent_post_rel_link()		Template		normal	normal	Awaiting Review	defect (bug)	new	has-patch	2013-04-30T18:24:04Z	2013-05-16T13:04:10Z	"The get_adjacent_post_rel_link() function applies the `the_title` filter to the post title before setting it up in the `<link>` tags.

It's really common for the `the_title` filter to be used to modify the actual HTML markup of post titles ([https://github.com/easydigitaldownloads/Easy-Digital-Downloads/blob/master/includes/template-functions.php#L493 see this example for adding product micro data]), but this results in improperly formatting `<link>` tags. See [https://github.com/easydigitaldownloads/Easy-Digital-Downloads/issues/1142#issuecomment-17244063 this github] issue for an example of the result.

`get_adjacent_post_rel_link()` should be using an equivalent to `the_title_attribute()` instead. Since there is not a `get_the_title_attribute()` function, I propose two options:

1. Introduce a `get_the_title_attribute( $post_id )` function and then use this in `get_adjacent_post_rel_link()`

2. Simply remove `apply_filters()` and add in `esc_attr( strip_tags( $title ) )` instead.

My vote would be to introduce a `get_the_title_attribute()` function."	mordauk
23202	Enable is_page_template() within the Loop		Template		normal	normal	Awaiting Review	defect (bug)	new	dev-feedback	2013-01-15T14:21:48Z	2013-01-15T17:28:07Z	"There have been a few times where, in the loop, I need to know if I were on a page using a specific page template.

The function `in_the_loop()` provides this functionality for us to expand is_page_template()."	wpsmith
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
21078	"Image Captions are inserted without caption=""..."" inside the caption tag"		Template	3.4	normal	normal	Awaiting Review	defect (bug)	new	close	2012-06-26T08:17:49Z	2012-06-27T01:38:46Z	"Since WordPress 3.4 captions are inserted this way:

{{{
[caption id=""attachment_123"" align=""aligncenter"" width=""550""]
<img src=""..."">My Caption[/caption]
}}}

This means themes cannot display them properly. Previous versions inserted the caption like this:

{{{
[caption id=""attachment_123"" align=""aligncenter"" width=""550"" caption=""My Caption""]
<img src=""..."">[/caption]
}}}

Here's a forum thread discussing the issue: http://wordpress.org/support/topic/caption-broken-in-new-34-posts"	versluis
9324	Let wp_link_pages do pagination when static page is used for front page	sorich87*	Template	3.0	normal	major	Future Release	defect (bug)	accepted		2009-03-12T17:20:02Z	2010-10-26T13:22:00Z	"Mentioned on WP-Hackers. If a static paginated page is used for the front page and wp_link_pages is used in the theme, the pagination links will return 404 because get_permalink will return the front page URL as the root of paginated links. I marked it as a bug since it can cause 404 errors if you don't know about it.

The enclosed patch tests for is_front_page and static pages using alternate _get_page_link functions for paginated content and using get_permalink for standard paginated links. It even works when a child page is set for the front page. 

This was a quick patch from a custom function, so it could probably be written a little better."	ev3rywh3re
21207	Link-template pagination link for page 1 missing query string args		Template	3.4	normal	normal	Awaiting Review	defect (bug)	new	reporter-feedback	2012-07-09T20:28:25Z	2012-07-16T14:38:37Z	"In paginated pages, when on a page that is greater than page 1, the link for page 1 and the 'previousposts' link do not include any query arguments. This is fine if not including the first page argument, but not for other arguments in the query string.

For example pages that show results for form searches. The search criteria are stored with the GET method as query strings in the URL and need to be maintained from page to page as the user pages through their results.

This is in /wp-includes/link-template.php on line 1421.
A probable fix is the 'if' clause from if( $pagenum > 1 ) changed to if( $pagenum > 0 ).

I was wondering if you can apply this fix to future updates?

Thanks"	alexk45
18023	No way to define default page template		Template	3.2	normal	major	Awaiting Review	defect (bug)	new		2011-07-07T06:15:24Z	2011-07-08T17:59:26Z	"The twenty eleven theme is quite nice but there is no way to define the default page template. For a website that needs a sidebar on every single page it is a hasle to have to set (and not forget to doit) the page template to sidebar.

"	Gecka
16872	Old/unused arguments in wp_dropdown_categories/wp_list_categories		Template	3.1	normal	normal	Awaiting Review	defect (bug)	new	has-patch	2011-03-17T12:02:20Z	2011-03-17T12:02:20Z	"There are some arguments in wp_dropdown_categories/wp_list_categories that appear to be relics from the past:

`show_date`, `show_last_update` and `include_last_update_time` use the `last_updated_timestamp` property of a category object - which doesn't exist (I'm guessing it did long time ago). Trying to use either of these arguments doesn't work, and just triggers errors. Looks like they should have been removed when `last_updated_timestamp` was removed?"	solarissmoke
9788	Possible bug with get_the_excerpt and paged content via <!--nextpage-->		Template	2.7.1	normal	normal	Future Release	defect (bug)	new	has-patch	2009-05-11T18:17:51Z	2010-05-10T09:04:58Z	"When doing a custom WP_Query and loop, I found odd behavior with paged content on pages > 1.

For example, my custom loop worked great on page 1 of a paged post - properly showing content from the page I was querying. However, on pages 2 and 3 of the paged post, my custom loop showed the content from the currently displayed page of the post.

Example code:

Not working--

{{{

global $post;
$about_query = new WP_Query('pagename=about');
while ($about_query->have_posts()) {
	$about_query->the_post();
	$about_text = get_the_excerpt();
}

}}}

Working--

{{{

global $post, $wp_query;
$page = $wp_query->query_vars['page'];
// temporary - resetting below
$wp_query->query_vars['page'] = null;
$about_query = new WP_Query('pagename=about');
while ($about_query->have_posts()) {
	$about_query->the_post();
	$about_text = get_the_excerpt();
}
$wp_query->query_vars['page'] = $page;

}}}"	alexkingorg
6531	Recursively search for files in theme and plugin editors	chsxf	Template	2.5	normal	minor	Future Release	defect (bug)	assigned	has-patch	2008-04-01T19:44:11Z	2013-04-18T11:13:26Z	"Themes (like Subtle: http://gluedideas.com/downloads/subtle/) might contain numerous CSS files. The theme editor, however, does not recognize any other CSS files other than ''style.css''.

The files might be located some levels deeper in sub directories like '/wp-content/themes/glued-ideas-subtle-01/assets/css/print.css'."	torbens
3670	Removing CDATA close tag ( ]]> ) unbalances the CDATA block	andy	Template	2.1	normal	minor	Future Release	defect (bug)	new	has-patch	2007-01-25T05:55:47Z	2012-02-03T03:01:42Z	"I'm
not sure if this is a bug per se, but it breaks included JS in my
posts that are escaped with a CDATA section.  I've basically commented
out the following line in the_content() every time I upgrade:

//$content = str_replace(']]>', ']]&gt;', $content);

A user on the wp-testers list indicated that this was part of making sure that included CDATA blocks didn't break RSS feeds.  I don't use CDATA sections directly in my RSS feeds, so I haven't tested this.  In my particular case, the JS is used to embed Flash movies (e.g. YouTube videos) in an XHTML compliant way (without embed tags).  I have a custom plugin I've written that strips out the JS and replaces it with the embed tag in the RSS feed.

Perhaps we should use a flag to activate this when the app is going through a feed.  Ideally, though, it would simply be removed.  Odds are that the CDATA block is being used for a JS block in a post body, and since most RSS aggregators don't allow JS by default, it would be safe to simply remove CDATA blogs if is_feed() is set."	scenic
23150	Sanitize the class passed to wp_list_bookmarks() and allow passing an array		Template	3.5	normal	normal	Awaiting Review	defect (bug)	new	has-patch	2013-01-08T20:50:58Z	2013-01-08T23:10:22Z	"The class argument to wp_list_bookmarks() could use some sanitization.

While at it, let's enhance it to accept an array of classes like we do elsewhere."	ryan
16632	Template title tags shouldn't ignore the prefix,even if 'display' is false		Template	3.1	normal	minor	Awaiting Review	defect (bug)	new	has-patch	2011-02-24T11:03:31Z	2011-09-12T12:03:58Z	"Some template title tags that accept both the $prefix and $display paramater ignore the prefix if the display is set to false, i.e. single_post_title(), single_term_title().

Some don't, i.e. single_month_title().

It doesn't make sense to ignore the prefix - if the developer doesn't want it, he can leave it empty.
"	yoavf
14224	Use NCR instead of HTML entity in feed autodiscovery links		Template	3.0	normal	normal	Future Release	defect (bug)	new	dev-feedback	2010-07-07T04:23:35Z	2011-05-10T18:54:35Z	"Currently, &raquo; is used as the separator. This will break sites served with the internet media type ""application/xhtml+xml"". The equivalent numeric character reference &#187; should be used instead."	peaceablewhale
11694	WP should do sanity checks for paginated posts, pages and comments	dd32*	Template	2.9	normal	major	Future Release	defect (bug)	accepted	has-patch	2010-01-02T19:45:15Z	2012-09-14T22:30:15Z	"Create a post with two pages using the <!--nextpage--> tag. Publish, and browse the post's *third* page.

WP should return a 404 here, rather than the last page of the post.

Along the same lines, it should return the correct canonical urls for paginated posts. Currently, rel=canonical will only ever return the post's first page."	Denis-de-Bernardy
22876	Wrong robots meta output		Template	3.5	high	major	Awaiting Review	defect (bug)	new		2012-12-12T10:01:38Z	2012-12-12T15:15:11Z	"in default-filters.php, we add a new action:

{{{
if ( isset( $_GET['replytocom'] ) )
	add_action( 'wp_head', 'wp_no_robots' );
}}}

the issue is, wp_no_robots outputs noindex, nofollow. The noindex is fine, the nofollow stops any link equity from that URL, so that's actually a bad idea. Just noindex alone would be fine. Setting to priority high and severity to major as this is basically a regression."	joostdevalk
5120	_wp_unfiltered_html_comment breaks XHTML validity		Template	2.8	normal	normal	Future Release	defect (bug)	reopened	has-patch	2007-09-30T12:56:44Z	2010-04-08T01:14:24Z	"When a user is logged in, the comment_form hook causes a hidden input field containing _wp_unfiltered_html_comment to be added to the page. In many themes, including the default theme, the comment_form action is within the <form> elements, but outside of any <p> or <div>. This is not valid in XHTML.

One solution would be to move the do_action to inside the preceding paragraph, which already contains the comment_post_ID hidden field. However, this may cause problems with plugins that assume it is outside of any paragraph or div.
"	jrawle
11699	adjacent_post_link fails to strip anchor tags from post titles		Template	2.9	normal	normal	Future Release	defect (bug)	new	dev-feedback	2010-01-03T01:01:00Z	2010-11-13T07:34:49Z	"If you create a post with a title of ""Started using <a href='http://wordpress.org/'>WordPress</a>"", adjacent_post_link() emits a link that has that entire string (including the anchor tags) inside its own link.

The expected behaviour would be to strip the anchor tag to leave the link generated to the WordPress post.

This would then match being able to put links in post titles and using template code such as <h2><?php the_title(); ?></h2> which results in a heading with the appropriate title including the link that is part of the title. (If you see what I mean.)

A (but possibly the wrong) fix is to strip the anchor tags using:
{{{
1265a1266,1268
 	$allowed_html_in_titles = $allowedtags;
 	unset($allowed_html_in_titles['a']);
 	$title = wp_kses($title, $allowed_html_in_titles);
}}}
applied to wp-includes/link-template.php

"	jaylett
22406	adjacent_posts_rel_link ignores $excluded_categories argument		Template	2.8	normal	normal	Awaiting Review	defect (bug)	new	has-patch	2012-11-10T13:16:31Z	2012-11-10T14:57:34Z	"The ticket subject is pretty obvious, I think, just by looking at the source in link-template.php:

{{{ 
function adjacent_posts_rel_link($title = '%title', $in_same_cat = false, $excluded_categories = '') {
    echo get_adjacent_post_rel_link($title, $in_same_cat, $excluded_categories = '', true);
    echo get_adjacent_post_rel_link($title, $in_same_cat, $excluded_categories = '', false);
}
}}}

The $excluded_categories should be passed to get_adjacent_post_rel_link just as they come, not as an empty string. 

Possible use cases of having the bug fixed: 
- want to exclude a category from almost everywhere (because it has a single place in the blog), but it keeps appearing in the rel links.
- don't want to help robots discover posts from those categories through the rel links (robots.txt is not enforceable). "	adelval
18324	"after adding new template file, ""Template"" drop-down disappears"		Template	3.2.1	normal	normal	Awaiting Review	defect (bug)	new		2011-08-04T02:46:38Z	2011-08-04T02:46:38Z	"After adding a new page template to my theme, the ""Template"" drop-down on the add/edit page screen disappeared.  The ""Parent"" and ""Order"" form inputs still appeared, but there was no reference to the ""Template"" drop-down form element in the ""view source"" HTML of the page.

The new template file had been added to my theme directory via pull from a git repo that my collaborator had pushed the file to.  The ""Template"" drop-down worked fine on his exact copy of the theme.

I changed the theme for my site to twentyeleven and then immediately back to my custom theme, and the ""Template"" drop-down began appearing again.  I did this at the suggestion of these pages:

http://stackoverflow.com/questions/3987773/

http://wordpress.org/support/topic/template-file-drop-down-not-appearing

Evidently this intermittent bug has appeared since before Wordpress 3."	sjscitp
20413	edit_post_link() have not an equivalant without echo		Template	3.3.1	normal	minor	Awaiting Review	defect (bug)	new		2012-04-10T21:16:59Z	2012-04-10T21:16:59Z	"Hello,

The function edit_post_link() (in link-template.php) have not a get_edit_post_link() function which returns what is displayed by edit_post_link().

It exists a function get_edit_post_link() but it returns the '''url''' of the link. Not the link (with <a href...).

It is not fun for l18n. Example :
{{{
<?php printf(__('Filed under: %1$s %2$s', 'azsimple'), get_the_category_list(__(', ', 'azsimple')), get_the_tag_list(__('Tags: ', 'azsimple'), __(', ', 'azsimple'))); ?> <?php edit_post_link(__('Edit', 'azsimple'), __(' &#124; ', 'azsimple')); ?>
}}}
How translator could put the edit_post_link before ""Filed under:..."" with just *.po file ?"	leblogdudeveloppeur
15337	fix get_attachment_template() to pass templates array		Template	2.0	normal	normal	Future Release	defect (bug)	new	dev-feedback	2010-11-08T02:28:51Z	2013-05-21T19:59:33Z	"get_attachment_template() currently queries for a number of templates based on the mime-type of the attachment.  It does so by checking each one individually, and returning as soon as it finds one.  It should instead build an array of templates, and pass the entire array to get_query_template().

patch attached."	willnorris
10248	force_balance_tags breaks <!--more-->		Template	2.8	normal	normal	Future Release	defect (bug)	new	has-patch	2009-06-23T18:26:39Z	2010-05-14T08:15:44Z	"In ticket #9765 balanceTags was replaced with force_balance_tags. This is causing tag balancing for the teaser although a user might have disabled tag balancing in the blog configuration.

This breaks plugins that are relying on unmodified teasers.

If the user doesn't want tag balancing the blog should behave so - not only in some cases. If it breaks her HTML then she still can change the post to make it valid."	McShelby
22112	get_adjacent_post excluded_categories isn't excluded		Template		normal	normal	Awaiting Review	defect (bug)	new		2012-10-05T18:21:28Z	2012-10-05T18:25:53Z	"The category I expect to be excluded in $excluded_categories, is not excluded.

With get_adjacent_post, 
Assuming $in_same_cat = TRUE
and $excluded_categories = 'ID_OF_CATEGORY'

$cat_array gets built with the ID's of categories it should include.  cool. 

But, when $excluded_categories contains an ID that $cat_array contains, the ID is removed from the $excluded_categories by array_diff() (link-template.php:1155).  

So: the category I expect to be excluded in $excluded_categories, is not excluded. 


My resolution: I remove 1154-1157. 
{{{
if ( ! empty( $cat_array ) ) {
 $excluded_categories = array_diff($excluded_categories, $cat_array);
 $posts_in_ex_cats_sql = '';
}
}}}"	PatNarciso
22957	get_boundary_post Only works from a single page		Template	2.8	normal	normal	Awaiting Review	defect (bug)	new	has-patch	2012-12-16T00:36:35Z	2012-12-20T23:29:33Z	"I was trying to use `get_boundary_post` in my theme to display a link to the first and last posts, but it does not work from the homepage. Unless called from a single post, `get_boundary_post` will return NULL.

I can't see any reason for this behavior, or any good way around it."	pathawks
8107	get_next_post, get_previous_post do not work for posts posted within same second		Template	2.7	low	minor	Future Release	defect (bug)	new	has-patch	2008-11-08T12:34:22Z	2010-11-13T01:33:11Z	"if you have posts that are published shortly one after the other (e.g. through a script or plugin that posts several posts at once) several of them may end up having the same post_date in the wordpress database table. this is due to the fact that mysql datetime seems to only maintain a precision of one second (see also this discussion: http://bugs.mysql.com/bug.php?id=8523). 

the problem now is that wordpress functions like get_next_post/get_previous_post (get_adjacent_post resp.) will no longer work correctly if something like this happens as they solely rely on a comparison of the post_date field and they don't treat the case where these timestamps are the same for several posts. the result is that e.g. get_next_post will pick one of the posts having the same timestamp and ""jump"" over the others, so the user will never see them.

i see two possibilities around this 1.) treat cases with the same post_date by e.g. looking also at the post id (assuming it is always strictly increasing) or probably preferably 2.) make sure that no two posts have the same post_date timestamp by e.g. increasing post_date artificially when publishing the post and if another post already has the same timestamp.
"	whoismanu
4711	get_pages and get_posts do not work well with private posts		Template	2.9.1	normal	normal	Future Release	defect (bug)	new		2007-08-07T17:41:32Z	2011-02-24T17:15:26Z	"The get_pages function has no way to retrieve private pages.
The get_posts function uses a post_status parameter, meaning that it can retrieve (and potentially display) private posts regardless of the user.

While get_pages() simply lacks a feature, I would argue that get_posts() is defective in that it can display things that it should not be able to display.

Both of these functions need to be updated to use the get_private_posts_cap_sql() function for building the correct post_status query segment.
"	Otto42
10230	get_pages function: number and child_of parameters conflict	ryan	Template	2.8	normal	normal	Future Release	defect (bug)	new	has-patch	2009-06-21T19:26:29Z	2012-09-11T10:54:52Z	"Passing both number and child_of parameters to get_pages will produce nonsensical results. 

Within the function number is used first to limit the number of results, then child_of is used to establish results within a certain hierarchical scope. 

So with a structure of:
{{{
Parent 1 
Parent 2
Parent 3
   Child 1
   Child 2 
   Child 3
}}}
passing a number=2 and child_of=(parent 3 id) will not give the expected output. In this case, the result will first be limited to only include:
{{{
Parent 1 
Parent 2
}}}
so the child_of will be ignored. To produce a more logical result, child_of should be evaluated first, then number should be evaluated to limit the result set."	ortsaipekim
18351	get_term_feed_link doesn't work well on page two of archives		Template	3.2.1	normal	minor	Awaiting Review	defect (bug)	new	reporter-feedback	2011-08-08T07:31:39Z	2011-08-08T07:47:09Z	"If you use get_term_feed_link to display the feed for an archive, for the first archive page the feed link is displayed correctly but it breaks on subsequent pages

e.g. Page 1:

http://www.WEBS1TE.com/taxonomy/term/ --> 

http://www.WEBS1TE.com/taxonomy/term/feed/ (Good feed)

Page 2

http://www.WEBS1TE.com/taxonomy/term/ --> 

http://www.WEBS1TE.com/taxonomy/term/page/2feed/ (broken link)"	deadhippo
22992	get_the_author() not working outside the post query		Template	3.5	normal	normal	Awaiting Review	defect (bug)	new	close	2012-12-18T16:16:04Z	2012-12-18T19:55:33Z	"get_the_author() function return empty value if is used outside the :
have_posts() ( the_post() .. function...
the function should return the author name on the author page even if the function is not called inside the query... 

 "	alexvorn2
17037	get_the_title() will pass an empty title and invalid post ID to 'the_title' filter on invalid post ID		Template	3.1	normal	normal	Awaiting Review	defect (bug)	new	has-patch	2011-04-03T19:25:52Z	2011-04-04T08:16:23Z	"`get_the_title()` has a workaround for when an invalid post ID is passed, setting the title to an empty string and post ID to the requested ID, then passing this to 'the_title' filter.

'''Example:'''
{{{
function testme() {
	var_dump( get_the_title( 99999 ) );
}

function filterme( $title ) {
	return ""[$title]"";
}

add_action( 'wp_head', 'testme' );
add_filter( 'the_title', 'filterme' );
}}}

Is there a reason for this odd functionality?"	kawauso
16929	pass the $type_of_url context param on user_trailingslashit() for CPT's		Template	3.1	normal	normal	Future Release	defect (bug)	new		2011-03-22T08:42:09Z	2011-03-22T09:55:02Z	"Currently get_post_permalink() does not pass the context flag to user_trailingslashit(), this means that for custom post types, it's not possible to target them through the 'user_trailingslashit' filter.

It might be worth checking to see if taxonomies and any other uses of user_trailingslashit() pass the context as well."	dd32
18614	post_type_archive_title doesn't work when tax_query is added to wp_query		Template	3.2	normal	normal	Future Release	defect (bug)	reopened	has-patch	2011-09-07T17:52:04Z	2013-05-21T19:48:46Z	"post_type_archive_title( ) gets called by wp_title( ) on Custom Post Type archive pages

To get the data for the post type object,  post_type_archive_title( ) calls get_queried_object( ). This is problematic. If the query has been altered in any way (such as adding a tax_query in pre_get_posts filter), get_queried_object( ) will probably return a term, not a post type object.

Hence, accessing $post_type_obj->labels will fail and their will be no title returned

{{{
//old potentially broken way
$post_type_obj = get_queried_object();

// new doesn't break way
$post_type_obj = get_post_type_object( get_post_type() );
}}}"	wonderboymusic
8532	the_date() doesn't function as intended		Template		normal	normal	Future Release	defect (bug)	new		2008-12-08T23:11:44Z	2011-10-10T14:17:19Z	"If my memory serves the idea behind the_date was that it would echo out the date, but only if it was different than the previous item it echoed out in the loop, which would be handy for doing things like day headers in index templates or month headers in archives.

At some point this seems to have been lost, I think because some variable names changed.

This restores the_date to its original behaviour."	matt
14361	the_title does not escape HTML special characters properly		Template	3.0	normal	normal	Future Release	defect (bug)	new	dev-feedback	2010-07-20T13:45:52Z	2012-09-11T12:46:20Z	"The 'the_title' function does not escape HTML special characters properly, causing invalid HTML.

Test case: ""<test>This is a test</test>"""	peaceablewhale
19776	wp_dropdown_categories (using with taxonomy) defaults if no terms		Template		normal	normal	Awaiting Review	defect (bug)	new	has-patch	2012-01-08T04:02:14Z	2012-01-08T21:47:30Z	"the default args for wp_dropdown_categories produce an empty select box when using wp_dropdown_categories for a taxonomy for which there are no terms.  I produced this both w/ the filters on the edit.php screen (restrict_manage_posts) and on the front end in my theme.  I presume this case never occurs with post categories as there is always Uncategorized.  

{{{
$args = array(
    'show_option_none'   => ,
    'taxonomy'           => 'featured',
    'hide_if_empty'      => false );
}}}
 

lines 340-343 in wp-includes/category-template.php are


{{{
if ( ! $r['hide_if_empty'] || ! empty($categories) )
		$output = ""<select name='$name' id='$id' class='$class' $tab_index_attribute>\n"";
	else
		$output = '';

}}}

so in a taxonomy that has no terms, the $categories variable is indeed empty, but the default arg is false, so the ! $r['hide_if_empty'] condition is satisfied and you get the opening of the select input, but you don't get any options therein (since they don't exist.  and by default, you don't get any notice of such. "	helgatheviking
18632	wp_get_shortlink() Should Always Return a URL		Template	3.1	normal	normal	Awaiting Review	defect (bug)	new	has-patch	2011-09-10T03:27:51Z	2011-11-16T00:18:51Z	"Currently the code used in the link-template.php file causes the `wp_get_shortcode` function to return an empty result if the WordPress installation is using the default permalink structure. This causes at least issues with `the_shortcode` function and can be expected to cause issues any place that `wp_get_shortcode` is called when the default permalink structure is being used.

An alternative is to simply make the inline documentation state an empty result will be returned when the default permalink structure is used."	cais
9153	wp_list_pages cannot handle multiple exclude_tree arguments	tbrams	Template	3.0	normal	normal	Future Release	defect (bug)	reopened	has-patch	2009-02-17T15:32:48Z	2013-05-07T19:41:48Z	"When trying to set up a menu based on wp_list_pages and a long list of chapters I did not want on the front page, I learned that wp_list_pages ignored all exclude_tree arguments - except for the first one.

For example, using:

{{{
wp_list_pages('exclude_tree=132,502,715,852,109,153,149&title_li=&sort_column=menu_order' );  

}}}

to generate the menu at http://ttu.no was a no go, because it returned far to many sections in the menubar (despite my efforts to explicitly exclude a lot of these)

Although it is certainly not a show stopper, it is really annoying when you need a drop down menu on your website and know exactly how it should work in theory, so I have found a solution for this already and am just trying to figure out how I can convey my suggested fix to the official Open Source Repository."	tbrams
8298	wp_page_menu needs to override wp_list_pages include argument to be functional	technosailor	Template	3.0	normal	normal	Future Release	defect (bug)	assigned	has-patch	2008-11-20T19:43:12Z	2010-10-26T13:08:12Z	"In exploring the new wp_page_menu() function, I realized that there is a byproduct of wp_list_pages that is unintuitive and possibly problematic for people wanting to output a menu. The 'include' argument overrides the use of child_of, parent, meta_key and meta_values parameters.

Menu creation assumes that only some top level pages will need to be used, thus the need for 'include', but wp_list_pages assumes that if you're including only a subset of pages, you're not including the subpages as well. Makes sense on both accounts.

For menu authors, I think expected behavior is that a top level menu would include subpages as well (e.g. a rollover horizontal nav).

I'm submitting a patch that delivers that expected behavior to only the new wp_page_menu() template tag. It reverse engineers the include by using the 'exclude' argument to exclude all pages except the ones passed with the wp_page_menu 'include' argument."	technosailor
21821	wp_title spits warnings and returns a blank when a query is both is_post_type_archive and is_category/is_tax/etc		Template	3.4	normal	minor	Awaiting Review	defect (bug)	new		2012-09-05T23:31:38Z	2012-11-01T22:19:33Z	"When a query is made against both a post type and a category / taxonomy / et cetera, the query is both is_category and is_post_type_archive.  The queried_object is set to the first object type it comes to; category / taxonomy come before post_type, so the queried_object is a term here.

wp_title walks through each is_ option in turn and resets the title with every one it finds being true.  When there is both a category and a post type archive,  single_term_title gets called first, successfully setting the title, but then post_type_archive_title is called, which assumes the queried_object is in fact a post type object; it spits out a couple of warnings and returns a blank title. 

Probably, since its subordinate title functions depend on the queried_object being as expected, wp_title should use else if rather than just if (in the same way that get_queried_object does), but I'm not sure if that would have implications elsewhere.

(Tested against trunk r21768 as well as 3.4.1)

Attached is a unit test that demonstrates the problem.
"	devesine
11678	wpautop() fails on uppercase closing tags		Template	2.9	normal	minor	Future Release	defect (bug)	new	dev-feedback	2009-12-31T11:26:11Z	2011-10-07T00:45:23Z	"To reproduce, in a post enter:

{{{
<p>Welcome to WordPress. This is your first post. Edit or delete it, then start blogging!</P>
}}}

View the post (source) and you get: 

{{{
<p>Welcome to WordPress. This is your first post. Edit or delete it, then start blogging!</P></p>
}}}

Because I (incorrectly) entered an uppercase closing </P> tag, wpautop() thinks there is no closing tag so adds a </p>, which then often renders as a double <p> tag. Close if this is not a bug, though I thought it may be good to do some sanitizing or something on uppercase tags.


"	joehoyle
10219	"""Older Entries"" and ""Newer Entries"" links are wrong when entries displayed in ascending order"		Template		low	minor	Future Release	enhancement	new		2009-06-19T16:41:02Z	2010-04-10T10:31:31Z	"I added ""?order=ASC"" to a tag URL I was sending out to some people, because I wanted them to view a set of blog postings in ascending chronological order, and I noticed that the ""Older Entries"" and ""Newer Entries"" links at the bottom of the page were reversed.

I fixed this with the attached changes to the default theme.  I don't know if this is the ""right"" fix, but it worked for me, and if it isn't quite wrong, perhaps at least it will give a more experienced WordPress developer than I an idea for how to fix it properly.
"	jikamens
21062	Add a 'template_file' hook to load_template()		Template	3.4	normal	normal	Awaiting Review	enhancement	new	dev-feedback	2012-06-24T21:04:50Z	2012-12-28T01:34:51Z	"Please consider adding a `'template_file'` hook in `load_template()` to enable the capture of the template filename. I have built a panel for the Debug Bar to be able to show template files loaded but I need this `'template_file'` hook to capture the template file names.  This would be super useful for developers who are building sites with the complex template loading logic found in various theme frameworks et. al.

With the hook added the code for `load_template()` might look like this:

{{{
function load_template( $_template_file, $require_once = true ) {
  global $posts, $post, $wp_did_header, $wp_did_template_redirect, $wp_query, $wp_rewrite, $wpdb, $wp_version, $wp, $id, $comment, $user_ID;

  if ( is_array( $wp_query->query_vars ) )
    extract( $wp_query->query_vars, EXTR_SKIP );

  $_template_file = apply_filters( 'template_file', $_template_file, $require_once );

  if ( $require_once )
    require_once( $_template_file );
  else
    require( $_template_file );
}
}}}

Here's a screenshot showing the Theme Template Files panel I implemented so you can see the use-case. This plugin requires the hook I'm proposing in order to work and I have attached the plugin for other's review.

{{{
#!html
<img src=""http://screenshots.newclarity.net/skitched-20120624-165532.png"" />
}}}

This hook could also allow the loading of the template file from other directories such as a shared directory on a server, as appropriate, but that's not the reason I found the need today.

The source for `load_template()` is found in `/wp-includes/template.php`. "	mikeschinkel
18548	Add a better option for <title> tags	joostdevalk	Template	3.3	normal	normal	Awaiting Review	enhancement	new	dev-feedback	2011-08-30T20:32:15Z	2013-01-18T04:17:40Z	"Right now, title tags in themes are created by using wp_title and than adding on custom code, usually bloginfo('name'), sometimes other code. Because there's basically no way for a plugin to control the entire content of a title tag, all major SEO plugins resort to output buffering. 

A better way would be to output the <title> tag during the run of wp_head, based on whether the current theme has added theme_support. See attached patch for the proposed implementation. This patch also fixes the requested array filter in #17877."	joostdevalk
13979	Add a new arg for custom ID attributes with wp_page_menu()		Template	3.0	normal	normal	Future Release	enhancement	new	has-patch	2010-06-18T15:53:41Z	2010-11-24T21:05:49Z	"The attached patch adds a new arg to wp_page_menu() for setting custom ID attributes (right now you can only set a Class--incorrectly noted as the ID in the docs).

Since wp_page_menu() is the default fallback for wp_nav_menu() this would be potentially super-helpful for marrying up with wp_nav_menu()'s container_ID."	iandstewart
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
15145	Add a wp_list_users() template tag		Template	3.1	normal	normal	Future Release	enhancement	new		2010-10-18T11:03:34Z	2011-01-13T06:01:32Z	"Now that `get_users()` has been implemented (#14572), I propose we add a function called `wp_list_users()` that handles a basic list of users similar to `wp_list_authors()`.  WordPress has long needed a function for handling this.

The arguments for the function would simply be the same arguments used for `get_users()`.  The `wp_list_users()` function would basically be a function for outputting the HTML.  The function should also have the ability to link to the user's archive page and output a link to the user's RSS feed.

This would make it easy for theme developers and users to be able to create a users list without a lot of PHP work.

An alternate idea might be to push a few more arguments into the `wp_list_authors()` function, but I don't think that's the best route to go since its primary function is to list users that have written posts."	greenshady
6109	Add class attribute for next_posts_link and previous_posts_link	sorich87*	Template		normal	minor	Future Release	enhancement	accepted	has-patch	2008-03-06T04:00:55Z	2010-07-20T13:50:25Z	Usually i see myself adding divs or spans around links generated with next_posts_link and previous_posts_link to style them. They should have a parameter where one could add the class attribute for the link.	charlieman
10968	Add container_element arg to wp_page_menu()		Template		normal	normal	Future Release	enhancement	new	has-patch	2009-10-17T10:34:58Z	2009-11-20T20:50:58Z	"I have added a new argument to the wp_page_menu template tag so it replaces the container div with another HTML element.

This is useful when migrating to HTML 5 and you want to use the <nav> element."	stebbiv
18791	Add custom post type support for Author Template functions		Template	3.2.1	normal	normal	Awaiting Review	enhancement	new	dev-feedback	2011-09-27T12:32:48Z	2011-09-27T19:58:40Z	"Functions defined in `wp-includes/author-template.php` assumes that post type == post. It will be good to enhance them so they will be able to work with specified post type.

At first sight following functions will need update:
{{{
get_the_author_link()
the_author_link()
get_the_author_posts()
the_author_posts()
the_author_posts_link()
get_author_posts_url()
wp_list_authors()
}}}

I suspect there will be other updates needed, to support new `post_type` argument added to author's url."	sirzooro
18753	Add data to stylesheets		Template		normal	normal	Awaiting Review	enhancement	new	dev-feedback	2011-09-22T21:15:23Z	2013-04-26T01:49:20Z	"In my humble opinion it would be awesome to provide theme developers an easy function to add extra data to registered stylesheets.

This way they could use the 'wp_head' action to cleanly make stylesheets conditional for IE, make them alternate or add RTL support.

Like {{{wp_add_inline_style()}}}, this function could really contribute to decluttering template files."	kobenland
20810	Add disable arg or attributes arg to wp_dropdown_categories() & wp_dropdown_pages()		Template		normal	normal	Awaiting Review	enhancement	new		2012-06-01T19:27:07Z	2012-08-17T13:27:36Z	"It would be beneficial to be able to add disabled=""disabled"" attribute to the select tag or add multiple attributes to the select tag.

Related: #20156, #20167"	wpsmith
4601	Add extra formatting parameters to wp_list_categories		Template	2.2.1	low	normal	Future Release	enhancement	new	has-patch	2007-07-09T16:24:42Z	2010-08-12T20:31:42Z	"The wp_list_categories() function should have the following parameters added to it:
before, after, between, show_description. These would behave much the same as they do in the wp_list_bookmarks() function.

Request for this sort of functionality was made here: http://wordpress.org/support/topic/124374

I think it's a good idea as it further standardizes the wp_list_* functions. 

Implementing this would require changes to the wp_list_categories() function, as well as changes to the Walker_Category class to actually perform the output.
"	Otto42
4575	Add functions to return the last-modified timestamp of a category/tag		Template	2.2.1	normal	normal	Future Release	enhancement	new		2007-07-02T12:36:26Z	2009-08-07T18:46:45Z	"Hi, 

All categories Last-Modified dates are the same, and thats a one big rss file i guess.
Is there a chance to send individual Last-Modified dates to these feed ?

Thanks"	delusions
17302	Add get_previous_post_link(), get_next_post_link(), and get_adjacent_post_link()	westi	Template	3.2	normal	normal	Future Release	enhancement	reviewing	has-patch	2011-05-02T07:36:12Z	2013-02-19T12:26:13Z	"Unlike many other template tags, he functions adjacent_post_link(), next_post_link(), and previous_post_link() are missing their get_ counterparts.
Included patch adds those."	yoavf
9911	Add new filter to control content splitting into multiple pages		Template	2.7.1	normal	normal	Future Release	enhancement	new	dev-feedback	2009-05-22T22:11:02Z	2011-09-24T09:35:41Z	Currently the only way to create multi-page post is to use `<!--nextpage-->` tag. I suggest to add new filter which will allow plugins to control this functionality. In attached files you can find path which adds such filter, and example plugin (it converts each paragraph to separate page).	sirzooro
10180	"Add rel=""prev"" to previous_posts_link() and rel=""next"" to next_posts_link()"		Template		normal	normal	Future Release	enhancement	reopened	has-patch	2009-06-15T18:00:14Z	2010-10-20T15:38:01Z	"Putting proper rel values on archive next/previous links is actually not even properly possible with a plugin, so I had to use a patch

http://gist.github.com/120586

Really this should (IMHO) all go into core

http://singpolyma.net/2009/05/rel-prev-next-wordpress/"	singpolyma
22314	Add singular.php to template hierarchy		Template	3.4.2	normal	normal	Awaiting Review	enhancement	new	has-patch	2012-10-30T15:04:24Z	2012-11-10T07:33:20Z	"Currently, the template hierarchy includes a fallback template (archive.php) for all archive-index type pages (date, tag, category, taxonomy, author, blog posts index, custom post type index), but does not include an analogous fallback template for single-post type pages (blog post, page, attachment, custom post type). This patch adds `singular.php` to act as such fallback.

This change also ensures that all template context conditionals have associated template files. AFAIK, `is_singular()` is currently the only template context conditional that does not have such a corresponding template file."	chipbennett
22145	Add warning when duplicate page Template Names are present		Template		normal	trivial	Awaiting Review	enhancement	new		2012-10-09T22:17:30Z	2012-10-09T22:18:36Z	Currently, there's no way without searching through every template file whether or not you have a duplicate Template Name (from, say, copying a page template file to another one). It would be nice to have a warning in the Page Template selection area that you have duplicate Template Names in certain files, and to direct you to repair that error before you proceed with setting Page Templates.	johncoswell
20167	Add wp_pages_checklist for creating checklist of pages on site		Template		normal	normal	Awaiting Review	enhancement	new	has-patch	2012-03-04T04:57:00Z	2012-03-06T01:56:51Z	"Per conclusion of [http://core.trac.wordpress.org/ticket/20156#comment:15 ticket #20156]

""If someone does write a patch that implements wp_posts_checklist() and
uses it in nav-menus.php, please open a new ticket.""

The attached patch:
- extends Walker with Walker_Page_Checklist
- adds wp_pages_checklist() and wp_pages_checklist() functions

functionality structure was modeled after wp_category_checklist and wp_dropdown_pages to keep with WP standards. 

If this patch is accepted my intention is to finish the request and implement it into nav-menus.php."	jackreichert
14851	Add ¨searchform-{name}.php¨ support	nacin	Template	3.1	normal	normal	Future Release	enhancement	reviewing	dev-feedback	2010-09-11T23:54:10Z	2013-03-23T21:10:25Z	"some [http://codex.wordpress.org/Include_Tags include tags] like '''get_header()''', '''get_footer()''' and '''get_sidebar()''' accept ''$name'' parametter to include header-{name}.php,footer-{name}.php and sidebar-{name}.php.

but the search form include tag - '''get_search_form()''' - does not accept ''$name'' parametter. currently it includes only searchform.php.

if this function will accept ''$name'' parametter, it would be easier to include other type search forms. this thecnic is very useful to sites that have several search form formats - for example one in the header, one in sidebar and one for footer. or an advense search form with categry select and post type select boxes to specific pages.
"	ramiy
9902	"Adding an ""exclude"" parameter to ""wp_list_authors()"""	ericmann*	Template	2.7.1	normal	normal	Future Release	enhancement	accepted	has-patch	2009-05-22T00:23:12Z	2010-08-13T11:19:28Z	"'''wp_list_categories()''' has an ""exclude"" parameter.

'''wp_list_pages()''' has an ""exclude"" and ""exclude_tree"" parameters.

'''wp_list_bookmarks()''' has an ""exclude"" and ""exclude_category"" parameters.

And only '''wp_list_authors()''' has no ""exclude"" parameter. Although it allows template developers to ""exclude_admin"", but this is a Boolean parameter, so we can't use it to exclude other authors.

This enhancement is not a critical one, but adding this feature will give theme developers more tools to control over the presented content."	ramiy
5172	Adding classes to wp_generate_tag_cloud	westi*	Template		normal	normal	Future Release	enhancement	accepted	dev-feedback	2007-10-09T17:09:14Z	2011-04-30T08:50:18Z	"The attached patch changes 2 things on the [source:/trunk/wp-includes/category-template.php#L330 wp_generate_tag_cloud] function. 

1) The current code uses single quotes instead of double quotes, I believe the standard is to use double quotes. I've converted single quotes to double quotes.

2) I've rounded the tag size to a whole number (no decimal places).

3) I've added a class ""tag-cloud-item-X"" where X is the number in the list and a second class ""tag-cloud-size-X"" where X is the size of the tag. . This will allow theme designers to apply different styles to tags. For example changing the colour from cold to hot depending on order or size."	chmac
24064	Allow comment_form() to display the comment field first		Template	trunk	normal	normal	Awaiting Review	enhancement	new	has-patch	2013-04-12T17:44:36Z	2013-04-13T08:57:03Z	"Many sites and many third-party comment system providers display the comment field before the name/email/URL fields in comment forms these days.

It would be nice to have any easy option to do this with the `comment_form()` function. Currently if you want to display the comment field first you'll have to avoid using `comment_form()` or you'll have to do some crazy CSS or jQuery trickery to move things around. Neither are optimal."	johnbillion
23669	Allow front page template to fall back to home template when site displays blog posts index on front page		Template	3.5.1	normal	normal	Awaiting Review	enhancement	new	has-patch	2013-03-02T21:15:25Z	2013-03-03T06:00:01Z	"The `front-page.php` template file is intended to define custom, static front page content. However, this template file takes precedence, regardless of whether `get_option( 'show_on_front' )` is set to `'posts'` or `'page'`.

If the user sets the front page to display the blog posts index, this choice is effectively superseded by `front-page.php`, and the blog posts index is not displayed unless the Theme specifically accounts for this setting in the template file, using something like so:

{{{
 if ( 'posts' == get_option( 'show_on_front' ) ) {
     get_template_part( 'home' );
 } else {
     // front page markup goes here
 }
 }}}

But requiring all Themes to include such a conditional in `front-page.php` essentially defeats the purpose of the the `front-page.php` file in the template hierarchy.

Instead, WordPress should consider `get_option( 'show_on_front' )`, and should return ''either'' `front-page.php` (for `'page'`) ''or'' `home.php` (for `'posts'`) on the site front page.

Attached patch modifies `get_front_page_template()` accordingly.

Impact to current Themes is almost certainly minimal to none, for Themes that already properly use `front-page.php` and `home.php`."	chipbennett
18676	Allow headers, footers, and sidebars to be located inside of subfolders		Template	3.3	normal	normal	Awaiting Review	enhancement	new		2011-09-15T21:38:08Z	2013-02-07T21:50:09Z	"Now that `get_header()`, `get_sidebar()`, and `get_footer()` use `get_template_part()` (see #18331), we should add subfolder support once #15086 goes in.

This is especially useful for sidebars."	Viper007Bond
22918	Allow to include ajax url javascript argument in the template header		Template	3.5	normal	normal	Awaiting Review	enhancement	new	close	2012-12-13T15:04:36Z	2012-12-19T02:52:58Z	"in the admin-header.php we have a hardcoded javascript code for showing the ajax url in the header. I think this should be included in a function and enqueue when needed, allowing to include it in the template header too using only: wp_enqueue_script('load-ajax-url');
 "	alexvorn2
5692	Archives detailed per category		Template	2.5	normal	normal	Future Release	enhancement	new		2008-01-20T00:10:22Z	2009-06-13T15:38:50Z	"I've written a small patch which makes possible to have the archives detailed per category, which means the wp_get_archives() accept more values for the show_post_count parameter:


0 as now (the post count is not shown)


1 as now (the '''total''' post count is shown)


2 the post count '''per category''' is shown


3 both 1 & 2 are shown


If you will approve this patch, I'll update the page 
http://codex.wordpress.org/Template_Tags/wp_get_archives"	davidedelvento
15516	Candidates for new template functions based on code in Twenty Ten		Template	3.1	normal	normal	Future Release	enhancement	new		2010-11-20T06:30:13Z	2010-11-20T07:11:25Z	There are several pieces of code in Twenty Ten which are candidates for abstraction into template functions. I'll make a list shortly and put it up here to get feedback.	johnbillion
16024	Conditional Comments for JS		Template	3.1	normal	normal	Future Release	enhancement	new	has-patch	2010-12-29T16:06:22Z	2013-04-26T01:28:24Z	"Currently, we can add IE conditional comments for CSS but not JS.  That seems unnecessarily inconsistent.

Patch would allow us to do something like the following:

{{{
wp_enqueue_script( 'pngfix-handle' );
$wp_scripts->add_data( 'pngfix-handle', 'conditional', 'IE 6' );
}}}"	filosofo
13767	Custom background uploader doesn't highlight max upload size		Template	3.0	normal	normal	Future Release	enhancement	new		2010-06-07T13:43:30Z	2010-10-28T09:34:17Z	When uploading a file from the custom background handler, you cannot tell in advance if it'll succeed or not if the file is too large. WP should advertise the max size, and the available space where relevant (see also #13765).	Denis-de-Bernardy
19063	Custom post_types and get_template_part		Template		normal	minor	Awaiting Review	enhancement	new	dev-feedback	2011-10-26T18:54:12Z	2011-12-05T02:14:20Z	"Can we modify the get_template_part process to allow custom post_type and custom taxonomy from plugins? I'm pretty sure I'm not the only person who uses custom post_types and would like to see an easier way to add a default template file without encroaching upon existing theme files, adding child themes, or requiring themes which are explicitly compatible with the particular post_type.

I've included a patch which is based on my current approach in using the archive_template, single_template, etc filter."	impleri
24164	Deprecate `get_permalink()`		Template	3.5	normal	normal	Awaiting Review	enhancement	new	has-patch	2013-04-23T05:35:17Z	2013-04-25T21:56:52Z	"With the exception of `get_permalink()`, all in-loop template tags follow a simple pattern:

- the_author -> get_the_author
- the_content -> get_the_content
- the_title -> get_the_title

It's easy for developers to keep remember that `the_{something}` will echo a value while `get_the_{something}` will return it.

For the sake of consistency, `get_permalink()` should be deprecated and replaced with `get_the_permalink()`."	ericmann
7463	Display multiple tag titles on tag unions and intersections		Template	2.8	normal	normal	Future Release	enhancement	new		2008-08-04T23:27:23Z	2010-04-28T18:52:43Z	"Currently, tag unions and intersections only display the title of the first tag in the query, rather than all of them. This patch adds a new template function, multiple_tag_titles, which displays one or more tag titles for tag intersections and unions, adding a final 'and' or 'or' conjunction where appropriate.

Having written this patch, I'm starting to think it's the wrong approach: multiple taxonomy titles for taxonomy unions and intersections would be preferable."	ionfish
20226	Don't advertise pingback URL on resources that don't support pingbacks		Template	3.3	normal	minor	Awaiting Review	enhancement	new		2012-03-13T11:34:39Z	2012-06-19T04:25:20Z	"Currently, !WordPress indiscriminately adds an `X-Pingback` header to all responses. Similarly all the bundled themes add `link rel=""pingback""` to all pages.

The purpose of `X-Pingback` and `link rel=""pingback""` is to advertise that the current resource supports pingbacks and provide a pingback URL. They should only be inserted when the resource actually accepts pingbacks - i.e., only when `is_single()` is true, and maybe even only when pings are open on that post."	solarissmoke
10432	Dynamic classes for current blog post item, current term item		Template	3.0.1	low	minor	Future Release	enhancement	new		2009-07-17T14:35:33Z	2010-09-03T08:41:50Z	"wp_list_pages() produces a class .current_page_item for the page you are currently viewing. This makes it possible to style the current page item different from the other page items in the list.

But there are several other places the same functionality would come in handy: There should be equivalent ways to style the current blog post item in the Recent Posts widget, the current category in wp_list_categories(), and the current tag in wp_tag_cloud('format=list')."	dnusim
23281	Enhancement for comment_form(); allow styling the submit button		Template	3.5	normal	normal	Awaiting Review	enhancement	new	has-patch	2013-01-24T01:08:14Z	2013-01-26T23:43:17Z	"Hi there,

I'm looking at adding a feature where we can define the class for the submit button. I'm happy to create a patch for this if required. The reason for this is because right now we can change say the email field so much but we get little to no concrol over the submit button.

I'm looking at 

A: Convert the entire submit button into somehing like how the text areas are done (author and email) then we get full control over the styling and other things related or;

B Add something like class_submit so that we can set the style of the submit button.

Kind regards,

Daniel Fenn"	Danielx64
24375	"Enhancement for paginate_links(), Add rel=""next"" & rel=""prev"""		Template		normal	normal	Awaiting Review	enhancement	new		2013-05-20T22:30:44Z	2013-05-20T22:30:44Z	"
Hi all,

By cheking the code of paginate_links() to make new SEO enhancements for buddypress(check the buddypress trac
https://buddypress.trac.wordpress.org/ticket/4981).
 
There is no filter in paginate_links or param to include attributs to a href links.

I suggest to wordpress team to add a filter (or directly a rel=""next"" rel=""prev"" attribut to the href with next and prev class).


For more information about SEO and Pagination, please check this video :
​http://www.youtube.com/watch?d&v=njn8uXTWiGg


Regards,
Mounir"	megainfo
23260	Enhancement for paginate_links(); to include in wordpress core		Template	3.5	normal	normal	Awaiting Review	enhancement	new		2013-01-22T04:24:12Z	2013-01-24T00:45:02Z	"Hello all,

I asked a question over at theme-reviewers [1] and one of the answers
(and a helpful one) was that any improvement/s that I find could be
push back into the core.

The first thing that I would like to see is a ""Page x of x"" and make
it a link to that people can click on it and enter the page munber
that they want to go to then they can go stright to that page.

Now I did find some code to do it but for some reasons I don't feel
that it the right way of doing it[2].

The next thing that I'm looking at is if we can have it so that we can
set our own style class or even replace tags altogether. Right now the
only way that I can do this (as far as I know) is by editing core code
or copy and paste code from care into my function.php file and rename
things.

I see that with the sidebar callback, I can set before and after tags
for title and other things and that to the theme author gives us alot
of control over layout and how we can style things.

The reasons why the above improvements should be included in core:

A: No need to create custom functions [[BR]]
B: Don't need to install extra plugin just to get the ""Page x of x""
function or to create a hacked paginate_links function. [[BR]]
C: It gives theme developers more control over style without alot of
extra coding and if they don't want something they can disable it
(example ""Page x of x"") [[BR]]
D: It means that if wordpress devs change the paginate_links function
theme authors don't need to update their custom functions [see A]

Regards,
Daniel Fenn

[1] http://lists.wordpress.org/pipermail/theme-reviewers/2013-January/011488.html [[BR]]
[2] http://design.sparklette.net/teaches/how-to-add-wordpress-pagination-without-a-plugin/"	Danielx64
21791	Enhancement: locate_template() support for multiple file types (not just .php)		Template		normal	normal	Awaiting Review	enhancement	new		2012-09-04T14:59:29Z	2012-09-15T08:10:10Z	"I have modified locate_template() to allow location of file types other than .php. The core currently only searches for .php extensions for template file names (search.php, 404.php, etc). I have a HAML parser, and this mod allows the core to locate .haml files (search.haml, 404.haml). Then I can use the 'template_include' filter to handle that file type. 

Do you think this is the best way to accomplish it? I also made the function a little more DRY.

{{{
function locate_template($template_names, $load = false, $require_once = true ) {
  $located = '';
  $template_paths = array(
   STYLESHEETPATH,
   TEMPLATEPATH
  );
  $template_file_types = apply_filters('template_file_types', array('php'));
  foreach ( (array) $template_names as $template_name ) {
    if ( !$template_name )
      continue;
    foreach($template_file_types as $template_file_type)
    {
      $template_name_try = str_replace('.php', '.'.$template_file_type, $template_name);
      foreach($template_paths as $template_path)
      {
        $template_name_try = $template_path . '/' . $template_name_try;
        if ( file_exists($template_name_try)) {
          $located = $template_name_try;
          break 3;
        }
      }
    }
  }

  if ( $load && '' != $located )
    load_template( $located, $require_once );

  return $located;
}
}}}
 you think this modification would be a good core enhancement?"	benallfree
21712	Enhancements to wp-signup.php and wp-activate.php		Template	3.4.1	normal	minor	Awaiting Review	enhancement	new		2012-08-28T12:00:38Z	2012-08-28T12:00:38Z	"While #17948 going on, I suggest calling get_header()/get_footer() along with 'singnup'/'activate' parameter on wp-signup.php and wp-activate.php.
Something like:
{{{
get_header( 'signup' );
get_footer( 'activate' );
}}}

Also adding before_activate_form and after_activate_form action hooks into wp-activate.php just like wp-signup.php"	geminorum
14041	Ensure a 'has_children' parameter is given to start_el		Template	3.0	normal	minor	Future Release	enhancement	reopened	has-patch	2010-06-22T08:50:49Z	2010-10-28T12:27:25Z	"In the current display_element function of the Walker class, a 'has_children' argument is only added if args[0] is an array.

I'm not quite sure why this is the case. Wouldn't it be easier if a has_children argument is always added and passed on on to the callback functions like start_el?

i've currently modified a custom walker to do it like this:

{{{
		//display this element
		if ( is_array( $args[0] ) )
			$args[0]['has_children'] = ! empty( $children_elements[$element->$id_field] );
		$cb_args = array_merge( array(&$output, $element, $depth), $args);
		$cb_args['has_children'] = ! empty( $children_elements[$element->$id_field] );
}}}

But recon it can be done in a cleaner way.


"	jaapjanfrans
21713	Extend login body class to support custom background		Template		normal	normal	Awaiting Review	enhancement	new	has-patch	2012-08-28T14:46:00Z	2012-09-01T07:19:36Z	"It would be useful to have a class `custom-background` on the `body` element for `wp-login.php`. Then we could just write:

{{{
add_action( 'login_head', '_custom_background_cb' );
}}}

Currently we have to copy the whole function with a very tiny difference: replace `body.custom-background` with `body.login`. Not very elegant."	toscho
20717	Filter For Requiring Post Password		Template		normal	normal	Awaiting Review	enhancement	new	has-patch	2012-05-21T03:37:43Z	2012-07-26T17:24:39Z	"I've had the need to conditionally disable the password on a post based on criteria that I define in a plugin. In order to do this, I added a filter in the post_password_required() function in wp-includes/post-template.php. This is helpful to allow search engines to crawl password protected pages or allow certain users to view the page without typing in the password.

It would be great if this could get included in the core.

Thanks for your time."	BrandonGodwin
16497	Filter css class for wp_list_category elements		Template	3.1	normal	normal	Future Release	enhancement	new	has-patch	2011-02-08T23:13:52Z	2011-02-09T17:55:56Z	Add a filter 'category_css_class' so that we have the equivalent in the Category_Walker class for what we have for pages (page_css_class).	sivel
9571	Filter to exclude categories from adjacent post links		Template		normal	normal	Future Release	enhancement	new	has-patch	2009-04-18T03:09:41Z	2012-10-30T19:51:09Z	"I'm currently attempting to exclude a certain category from everywhere possible. While there are filters to exclude it from everywhere else (as far as I can see, anyway), there is not a filter to exclude it from next/previous post links.

The following patch adds a hook called 'get_{$adjacent}_post_excluded' to filter the excluded categories string."	rmccue
14113	Function that could improve the current edit_post_link()		Template	3.0	normal	normal	Future Release	enhancement	new		2010-06-27T15:20:42Z	2010-10-28T05:37:38Z	"Basicly this function is the same than [http://core.trac.wordpress.org/browser/trunk/wp-includes/link-template.php#L820 edit_post_link()] but some little differences which can make it more useful for developers. So far it has two advantages:

'''1)''' The edit link can be easily returned.

'''2)''' It's possible to choose a class for link tags.

{{{
// Returned
function wp_get_edit_link($args = '') {
	$defaults = array(
		'link'   => null,
		'before' => '',
		'after'  => '',
		'id'     => 0,
		'class'  => 'post-edit-link'
	);

	$r = wp_parse_args($args, $predet);
	extract($r);

	if ( !$post = &get_post($id) )
		return;

	if ( !$url = get_edit_post_link($post->ID) )
		return;

	if (null === $link)
		$link = __('Edit This');

	$post_type_obj = get_post_type_object($post->post_type);
	$link = '<a class=""'. $class .'"" href=""' . $url . '"" title=""' . esc_attr( $post_type_obj->labels->edit_item ) . '"">' . $link . '</a>';
	return $before . apply_filters('get_edit_link' , $link , $post->ID) . $after;
}

// Echoed
function wp_edit_link($args = '') {
	echo wp_get_edit_link($args);
}
}}}

'''Example using the function:'''

Returning:

{{{
<?php 
$var = get_wp_edit_link('before=<span class=""my-edit-class"">&after=</span>&class=my-link-class&link=Edit me!');
echo $var;
?>
}}}

Echoing:

{{{
<?php wp_edit_link('before=<span class=""my-edit-class"">&after=</span>&class=my-link-class&link=Edit me!'); ?>
}}}

Results on:

{{{
<span class=""my-edit-class""><a class=""my-link-class"" href=""http://url.to/post.html"">Edit me!</a></span>
}}}"	metacortex
18302	Improve child theme file inheritance by introducing `theme_url()` to locate a file URI	westi	Template		normal	normal	Future Release	enhancement	reviewing	needs-unit-tests	2011-07-31T01:19:02Z	2013-04-22T19:02:43Z	"Child theme file inheritance isn't quite as slick as it could be. A child theme should be able to selectively override any of its parent theme's files (ie. CSS & JS), not just template files.

For example, there's no easy way for a parent theme to enqueue a JavaScript file that can be easily overridden by a child theme. This is because there's no URI version of `locate_template()` for themes to use.

Example: A parent theme includes a JavaScript file like so:

{{{
wp_enqueue_script( 'foo', get_template_directory_uri() . '/foo.js' );
}}}

A child theme couldn't simply include a `foo.js` file to override its parent's as the file is always loaded from the template directory, not the stylesheet directory. If the parent theme used `get_stylesheet_directory_uri()` instead, then the child theme could override it '''but''' it would '''have''' to override it, otherwise we'd end up with a file not found.

The answer is to introduce a function that does the same as `locate_template()` but returns a URI instead of a path.

Example usage:

{{{
wp_enqueue_script( 'foo', locate_theme_file( 'foo.js' ) );
}}}

This would load `foo.js` from the child theme if it existed, and the parent theme if not.

The function could also be used for CSS files:

{{{
wp_enqueue_style( 'bar', locate_theme_file( 'bar.css' ) );
}}}

And for images too:

{{{
<img src=""<?php echo locate_theme_file( 'icon.png' ); ?>"" />
}}}

Stand by for a patch."	johnbillion
20037	Introduce 'noindex' filter for robots meta tag		Template	3.4	normal	normal	Awaiting Review	enhancement	new	has-patch	2012-02-14T05:01:38Z	2012-03-08T07:56:07Z	"As things are right now, themes and plugins add robots meta tag lines by just adding an action to wp_head, with no way of knowing who has added what. Because it is not done as a filter, there is no way to prioritize or alter things.

As far as I can see there are two functions that are hooked to wp_head to add the meta tag for robots, the noindex() and wp_no_robots() function in '/wp-includes/general-template.php'. All noindex() does is look to see if a blog is marked private, then calls wp_no_robots(). In other places, like the signup and login pages, wp_no_robots is manually added.

To help clear up the confusion, we could just call wp_no_robots whenever we need to add a robots meta tag, use wp_no_robots to do some default logic, then allow plugins to filter it depending on where we are.

Working on a quick patch now and will add."	MartyThornley
20287	Load header and footer template files using hooks		Template		normal	normal	Awaiting Review	enhancement	new	has-patch	2012-03-23T09:15:08Z	2012-03-23T09:34:48Z	"The theme header and footer files are loaded from inside the `get_header()` and `get_footer()` functions.

If these files were instead loaded from helper functions that were hooked into actions inside `get_header` and `get_footer` then we'd get two nice benefits:

 1. Theme frameworks that call a function or fire an action immediately after the header would be able to use the hooks instead of placing the calls directly in each file. For example, Thematic calls `thematic_abovecontainer()` in each template file immediately after `get_header()`. It could instead add this via a hook.
 2. Fancy schmancy themes or plugins that add partial-page AJAX loading (using a system such as PJAX) could unhook the header and footer when they're unneeded in AJAX requests.

Patch coming up."	johnbillion
19579	Make get_search_form() more filterable/extensible		Template	3.3	normal	normal	Awaiting Review	enhancement	new	has-patch	2011-12-16T15:16:17Z	2013-03-22T18:36:39Z	"I notice that a lot of the time when Themes include custom search form markup via `searchform.php`, they are making very minor changes to the default markup. (A common on is adding onfocus/onblur attributes to the input.) Unfortunately, I've also noticed that custom search form markup tends to be... forgotten, and ends up becoming more insecure over time. 

So, in the interest of encouraging/facilitating use of the core markup, I propose making `get_search_form()` more extensible, similar to the extensibility of `comment_form()`.

This patch replaces `$echo = true` with `$args = array()` as the parameter passed to `get_search_form()`, while retaining backward compatibility with `$echo = true`. Also, a (self-explanatory) `search_form_defaults` filter is added.

Also addresses #16538

Does '''not''' address #16541, which is potentially related.

Probably '''conflicts''' with #14851

Also related: #19321"	chipbennett
13691	Make get_template_part() accept multiple template names		Template		normal	normal	Future Release	enhancement	new		2010-06-02T03:19:34Z	2010-10-10T21:59:14Z	"This enhancement allows get_template_part() allows to pass several template names, to work in the same way as: locate_template()

so, you could call,

get_template_part( 'loop', array('category', 'taxonomy', 'archive') );


$names are passed by order of priority."	wjm
4969	Make wp_list_* functions all behave similarly...	ryan	Template	2.3	normal	normal	Future Release	enhancement	new	has-patch	2007-09-13T14:18:22Z	2012-08-27T21:46:32Z	"The sidebar template typically uses lists of lists to prettily display lists of pages, categories and bookmarks. Lists of pages, categories and bookmarks are forced to be items of lists themselves as the functions wp_list_pages(),wp_list_categories() and wp_list_bookmarks() wrap the output of functions in <li>..</li> tags by default.

Lists are intended to indicate something about the structure of the document where as these forced <li> tags appear to be intended to provide pretty indentation. Nested-lists can also provide confusion for non-visual readers.

wp_list_bookmarks() provides the ability to override this with category_before and category_after options. wp_list_pages() and wp_list_categories() should offer similar options. Ideally the accessible approach would be the default for these options but I don't believe this is possible without breaking existing themes."	pishmishy
19556	Make wp_term_checklist() available as a template tag		Template		normal	normal	Awaiting Review	enhancement	new		2011-12-14T22:58:07Z	2011-12-14T23:13:05Z	"Currently, wp_term_checklist() is defined in wp-admin/includes/template.php, which means it's not available as a template tag for themes.

Note that {{{wp_dropdown_categories()}}} is defined in {{{wp-includes/category-template.php}}}. We should move wp_term_checklist() there too."	scribu
21899	Missing class identifier for password protected posts		Template	3.4.2	normal	normal	Awaiting Review	enhancement	new		2012-09-15T17:00:40Z	2012-09-15T17:00:40Z	"Password protected posts are insufficiently identified for good CSS styling.

Presently, the class name ""post-password-required"" is added to protected posts if a valid password cannot be found in the cookie. On the other hand, no special class name is added to protected posts if a valid password *can* be found, even though this is just a temporary condition until the cookie expires.

I suggest that both cases are interesting from a CSS styling perspective. Note that the title of protected posts is prefixed by the string ""Protected:"" in both situations.

This behaviour occurs because get_post_class() just checks post_password_required() [which validates the cookie] but get_the_title() just checks if the $post->post_password field is not empty.

I suggest an additional class name should be added by get_post_class() for the case when the post->post_password field is not empty. Current usage of class names here is not very consistent with the admin tool, so options might be ""visibility-protected"", ""status-protected"" [similar to ""status-private"" which is added for those with visibility ""Private"" and reflecting the underlying implementation] or perhaps just simply ""protected"".

Protected posts would thus be identified as follows:

  Protected, with correct password: class=""protected""[[BR]]
  Protected, missing or invalid password: class=""protected post-password-required""

See also #13860 and #18729. I can do a patch if needed but this is literally just a couple of lines of code (three if you include a comment)."	mdgl
7993	Missing tabindex argument for wp_dropdown generated inputs		Template	2.7	normal	minor	Future Release	enhancement	new	has-patch	2008-10-28T15:44:59Z	2010-07-09T13:33:00Z	"http://codex.wordpress.org/Template_Tags/wp_dropdown_categories allows to create a select for categories.

There is no tabindex option in common arguments, which is a loss for usability.

There could be other functions affected."	Malaiac
23263	Move Media's backbone template regexes		Template	3.5	normal	normal	Future Release	enhancement	new	has-patch	2013-01-22T08:09:54Z	2013-05-16T12:13:49Z	"Media has custom Backbone templating (because PHP is stupid and sometimes parses `<% %>` as PHP code — I know, I know). That templating should be available elsewhere instead of being specific to media.

{{{
		template: _.memoize( function( id ) {
			var compiled,
				options = {
					evaluate:    /<#([\s\S]+?)#>/g,
					interpolate: /\{\{\{([\s\S]+?)\}\}\}/g,
					escape:      /\{\{([^\}]+?)\}\}(?!\})/g,
					variable:    'data'
				};

			return function( data ) {
				compiled = compiled || _.template( $( '#tmpl-' + id ).html(), null, options );
				return compiled( data );
			};
		})
}}}"	markjaquith
21891	Need ability to filter page templates		Template	3.4.2	normal	normal	Awaiting Review	enhancement	new	close	2012-09-14T17:38:50Z	2013-01-13T18:33:14Z	"The old way of removing a parent theme's templates (as documented [http://wordpress.org/support/topic/removing-page-template-from-child-theme?replies=3 here], [http://wordpress.stackexchange.com/questions/54054/how-to-remove-a-parent-theme-template-from-quick-edit here], and [http://stackoverflow.com/questions/9411612/wordpress-hiding-or-removing-parent-themes-templates here]) broke with the big theme-handling rewrite in 3.4.

The primary use case of a new filter would be to allow a child theme to remove or rename a parent theme page template in the Dashboard. It's possible that part of the `get_page_templates()` function might have to be tweaked to allow for the scenario where one or more pages is using a template that no longer ""exists,"" but I'm not sure.

Hopefully this is as simple as adding `apply_filters( 'page_templates', $page_templates );` somewhere in [http://core.trac.wordpress.org/browser/trunk/wp-includes/class-wp-theme.php#L920 class-wp-theme.php]."	mrwweb
4004	New filter for page title attribute in wp_list_pages output	ryan	Template	2.1.3	normal	normal	Future Release	enhancement	new		2007-03-20T22:45:17Z	2009-06-13T15:40:00Z	"While developing a new theme I realised that the default title attribute for wp_list_pages was to just to reuse the title of the page with no option to change it. Not exactly useful...

I therefore propose a new filter on the title attribute to allow a theme/plugin developer the option of changing the text to whatever they like.

The new filter takes the title attribute and the $page variable as well, so that any post/page related information can also be used... for example the post meta."	Dickie
14017	"New template ""tag"": get_custom_field()"	filosofo	Template	3.0	normal	normal	Future Release	enhancement	new	dev-feedback	2010-06-21T04:13:03Z	2011-12-21T19:36:23Z	"It would be helpful to have a way to retrieve a custom field value that is somewhat agnostic of current context.

'''Current way to do this'''

In the header (i.e., before the Loop), one has to access the currently-queried object to get a custom value, with something like this:

`$value = get_post_meta($GLOBALS['wp_query']->get_queried_object_id(), 'field', true);`

In the Loop:
`$value = get_post_meta(get_the_ID(), 'field', true);`

And, lots of tutorials out there tell people to do things like the following, with varying degrees of success (depending on variable scope):

`$value = get_post_meta($id, 'field', true);`

or 

`$value = get_post_meta($post->ID, 'field', true);`

'''My proposed function (or ""template tag"")'''

mixed '''get_custom_field''' ( string ''$fieldname'' [, int ''$post_id'' ] )

`$value = get_custom_field('field');`

It picks the current object like so:

{{{
Passed post object ID?
    /       \
   yes      no 
    |        |
   use it    |
             |
          within Loop?
            /       \
          yes        no
           |          |
        use current   |
         Loop ID      |
                      |
                    currently queried
                    object is singular?
                    /           \
                   yes           no
                    |             | 
                use its ID      ID = 0
}}}"	filosofo
14440	Override filter for adjacent_post_link()		Template	3.0	normal	normal	Future Release	enhancement	new	reporter-feedback	2010-07-28T04:27:05Z	2010-11-18T10:02:26Z	"I'm working on a plugin that needs to integrate with as many themes as possible. It's basically a plugin for creating portfolios of images. It uses a custom post_type ""piece"" and allows for each piece to have multiple images attached to it. I've created a widget that lists thumbnails for all attached images that link to the attachment page for each one. On the attachment page, I am querying for the parent piece to display the title, content, excerpt, edit link, etc. 

I'm also trying to replace the previous and next links with the values that would be generated for the parent. I've gotten pretty far along when I noticed that adjacent_post_link() is set to display only a previous link when an attachment has been queried. I was wondering if a filter could put put in place somewhere before this conditional is defined. Please see attached file.

Thanks for reading!"	mfields
12033	Parent  template tags		Template	3.0	normal	normal	Future Release	enhancement	new		2010-01-26T01:25:49Z	2010-02-18T10:56:04Z	"Can you add to core template tags as:

Title and link of parent page

parent-page-title
parent-page-permalink

Maybe will be good to add also an attributes of titles ""the_title()""to display title by ID
"	Angeloverona
23724	Pass $post into 'protected_title_format' and 'private_title_format' filters		Template	3.5	low	minor	Awaiting Review	enhancement	new	has-patch	2013-03-08T22:53:57Z	2013-03-09T05:22:43Z	"Currently it's only possible to change these prefixes globally.

Being able to change these prefixes based on specific $post data would be helpful for narrowing down the scope, say to specific custom post types.

I noticed also that we don't pass $post into the 'the_title' filter, which could cut down on an additional get_post() call later if we pass it here. Obviously not essential, but wouldn't hurt."	johnjamesjacoby
21676	Pass a variable to get_template_part()		Template	3.4.1	normal	normal	Awaiting Review	enhancement	new	close	2012-08-23T20:15:37Z	2013-04-03T13:05:31Z	"Having the ability to pass a variable into get_template_part would be invaluable, it would really clean up the issues with using globals and to further cement it's use rather than the alternative of a normal PHP include/require.

It would be the third variable passed into get_template_part, which I could pass it a string, array, object, or whatever I want really. Here's an example of passing all the current scope's variables:

{{{
<?php get_template_part( 'twitter', 'feed', compact( array_keys( get_defined_vars() ) ) ); ?>
}}}

and then catching them in my feed-twitter.php file:

{{{
if ( !empty( $_data ) && is_array( $_data ) )
	extract( $_data, EXTR_SKIP );
}}}

I can pass other things in, but that's a really valuable example in my uses for this new variable."	sc0ttkclark
23734	Pass more information to wp_dropdown_pages filter		Template		normal	normal	Awaiting Review	enhancement	new	has-patch	2013-03-09T23:26:08Z	2013-04-17T02:28:20Z	We need to pass more information to the 'wp_dropdown_pages' filter for others to make decisions with.  Here's a small & quick patch for passing more args to the filter.	bigdawggi
9666	Pass object id in the various formatting filters		Template	2.8	normal	normal	Future Release	enhancement	new		2009-04-28T10:31:44Z	2012-10-30T20:50:38Z	"This is a consolidated ticket, in reference to #9319 and #5746.

Both were requests to pass either of $post or $post->ID as an argument to the_title (both have patches for that).

The same idea could be applied to multitudes of other formatting hooks. They're not always called in the loop, so determining the ID of the object (post, link, category, tag, etc.) isn't always easy in the event that it is useful.

Suggested enhancement:

each filter such as the_title, the_content, etc., but also the_permalink, the_category_link, etc., possibly also the_category, etc., as well... basically any hook that is formatting related and that affects an individual object rather than a collection, should have the object's ID as an argument for easy reference."	Denis-de-Bernardy
4414	Patch to Make Calendars Optionally Category-Specific		Template	2.2	low	normal	Future Release	enhancement	assigned		2007-06-06T04:40:54Z	2012-01-11T10:32:14Z	"First submission to wordpress...the nice people on wp-hackers directed me here. Here's my post to the list, explaining what this is:

I'm new to WordPress and building a custom template for my new personal site. My design calls for a calendar that stays within a given category, and I couldn't find a way to do that; using ""get_calendar()"" on my category archive page returned a calendar with all posts in it, therefore providing navigation to pages outside the selected category (which didn't work out).

I have patches to the get_category, get_month_link, and get_day_link functions that let you have in-category calendars (see attached diffs for wp-includes/general-template.php and wp-includes/link-template.php). You can use the modified calendar on the archive page like so:

$cat = array_shift( get_the_category() );
get_calendar( true, $cat->cat_ID );

I'm not sure if that's the canonical way to find the archive page's category id (I kinda doubt it), but it works.

I don't have any other contributors to my site planned, but it wouldn't be hard to make the calendar glue itself to the author in the same way...but is there a standard WordPressian way to accomplish this without modifications like these?

Thanks for any feedback and thanks for WordPress!"	jacobrose
23749	Post Format Archive Conditional Tag		Template		normal	normal	Awaiting Review	enhancement	new		2013-03-12T20:27:04Z	2013-03-13T01:47:41Z	"As far as I know there is no conditional tag for detecting when a post format archive is shown. I bumped into this problem while creating a theme for quick-blogging and realized that I couldn't create a menu (easily) and style the 'current' post format menu item differently. 

I will try and submit a diff if I can although I've never done it before so it may take me a while :) 

 "	danielpataki
16268	Requirement for has_header_image() function?		Template		normal	normal	Future Release	enhancement	new		2011-01-17T12:05:24Z	2011-01-18T11:10:19Z	"I know is pretty easy to do, but would it be a good idea to provide a has_header_image() function for use in themes? Something along the lines of:

{{{
function has_header_image() {
   $header_image = get_header_image();
   return !empty( $header_image );
}
}}}

As the header_image() function just outputs the URL it would be handy to have a conditional function you could use to check when there was a header image to output.

I'm currently working on a plugin that gives you more granular control over using different header images on different pages using the 'theme_mod_header_image' filter. There may be instances when you do not want to show a header at all on some pages. In the current TwentyTen theme for example, no checking is done before the header_image() function is called so in this scenario the header image just appears as a broken image - ideally it should not output the image at all.

Either that or should there be a function which outputs the whole image tag so that if the header_image() function returns false/empty it does not output the tag at all?

What are people's thoughts on this?"	husobj
20253	SSL login in custom port		Template		normal	normal	Awaiting Review	enhancement	new	has-patch	2012-03-18T09:08:12Z	2012-04-19T03:21:13Z	"From my blog article, http://blog.1407.org/2012/03/18/log-into-wordpress-with-ssl-on-custom-port-if-needed/

In order to login into WordPress with SSL you just need to add the following to wp-config.php:

{{{
    define(‘FORCE_SSL_LOGIN’, true);
    define(‘FORCE_SSL_ADMIN’, true);
}}}

But that redirects you to https://www.yourDomain.org/. What if you need to redirect into https://www.yourDomain.org:8443/ ? What then?

Well, the following patch will allow you to add a property called CUSTOM_PORT which you will define as your desired port. In case of my small example, 8443 like this:

{{{
    define(‘CUSTOM_PORT’, 8443);
}}}"	rseabra
18859	Single theme template for custom post by slug		Template	3.3	normal	normal	Awaiting Review	enhancement	new	dev-feedback	2011-10-04T19:27:23Z	2013-02-05T21:00:06Z	"I was working on adding a custom template for an individual post in my custom post type and discovered that you could only make a single-{post-type}.php. This patch adds the ability to make single-{post-type}-{slug}.php

It's pretty straight forward, and only adds 1 line of code to wp-includes/theme.php"	ericjuden
23559	Sticky single post page doesn't have .sticky class		Template	2.7	normal	normal	Awaiting Review	enhancement	new	dev-feedback	2013-02-20T11:34:44Z	2013-02-20T13:52:10Z	"As explained in summary, it's impossible to style a single page for a sticky post without modifying content.php, why this? it's a behavior wanted.

wp-includes\post-template.php, line 344:

{{{
	// sticky for Sticky Posts
	if ( is_sticky($post->ID) && '''is_home()''' && !is_paged() )
		$classes[] = 'sticky';
}}}

Thanks :)"	sgr33n
3567	Synchronize options for functions that display lists		Template		normal	normal	Future Release	enhancement	new		2007-01-12T04:30:50Z	2009-06-13T02:52:05Z	"It would be nice if wp_list_cats, get_archives, wp_list_pages, etc, all had ""format"" and ""before"" and ""after"" options :)"	Randy
23049	Template hirarchy for 404		Template		normal	normal	Awaiting Review	enhancement	new		2012-12-22T17:19:05Z	2012-12-22T19:43:02Z	"load 404-{post-type}.php when url structure matches post permalink structure but there is no post at that address.

load 404-{taxonomy}.php when url structure matches taxonomy permalink structure but doesn't match any specific taxonomy tag URL.

And so on....

The idea is to have different 404 pages based on the context to which the URL refers. For example if a site has a blog and a shop it might be better to show a blog specific 404 page when the URL might be interpreted as a post and a shop specific 404 page when the URL might be interpreted as a product."	mark-k
6956	Title for Feed Links: post_comments_feed_link		Template	2.5.1	lowest	trivial	Future Release	enhancement	new	has-patch	2008-05-11T05:43:33Z	2011-02-04T07:18:13Z	"Should not all functions that create URLs not include a title?

Sure is more user friendly.

link-template.php line 319 (wp 2.5.1)

Change From:

echo ""<a href='$url'>$link_text</a>"";

Change To:

echo ""<a href='$url' title='Permanent Feed Link'>$link_text</a>"";"	war59312
15957	add two new actions to track template loading	koopersmith	Template		normal	normal	Future Release	enhancement	reviewing		2010-12-23T02:23:07Z	2012-02-14T14:29:32Z	"I would like to add two new actions ""pre_load_template"" and ""post_load_template"" inside the load_template() method.  The purpose of this is primarily for debugging and development purposes.  For example, I'd like to use these actions to add debug comments in a theme's output along the lines of:

{{{
<!-- begin ../themes/twentyten/loop.php -->
...
<!-- end ../themes/twentyten/loop.php -->
}}}

This makes it much easier to identify which theme file is responsible for which part of the final page, particularly in the case where some files are being pulled from a parent theme and some are from the child theme."	willnorris
11890	allow get_the_content to accept post ID	williamsba1	Template	2.9.1	normal	normal	Future Release	enhancement	new	close	2010-01-13T22:58:06Z	2010-01-14T00:48:23Z	"The function get_the_content currently doesn't accept a post ID as a parameter.  I'm suggesting adding this as a fourth parameter allowing this function to work like get_the_title does.

I'll supply a patch if this sounds like a good idea"	williamsba1
17763	comments_popup_link() need a get_* version		Template	3.2	normal	normal	Future Release	enhancement	new	has-patch	2011-06-11T06:20:09Z	2012-06-08T18:43:23Z	"Currently `comments_popup_link($zero = false, $one = false, $more = false, $css_class = '', $none = false)` has no get_*() version.

Usage situation: Where the link needs to be used within a larger string being concatenated."	dd32
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
7402	get_calendar() -- add class to current is_single() post		Template		normal	normal	Future Release	enhancement	new	has-patch	2008-07-25T01:07:11Z	2010-07-15T09:59:38Z	"When I look at the markup for the wp_calender widget for a 'single' page, I expect the day of the current article to have it's <td> cell to have a class on it.  Like the class ""today"" for the current day."	docwhat
15202	get_calendar() lacks filters on it's database queries		Template		normal	normal	Future Release	enhancement	new	has-patch	2010-10-24T10:16:12Z	2012-01-14T15:32:26Z	There's no way to limit the calendar to a specific taxonomy or taxonomy value. Most everything else in WordPress has filters on the WHERE and JOIN parts of the database query (`wp_get_archives()` for example). `get_calendar()` does not. It should. :)	Viper007Bond
7030	get_category_parents needs improvement		Template	2.5.1	normal	normal	Future Release	enhancement	new	has-patch	2008-05-23T15:25:32Z	2011-09-21T14:42:31Z	"get_category_parents is fine for internal use and generating URLs etc. but it also has a template tag version which could use some enhancements.

Problems 1: It displays the separator at the end of the list as well as in between categories.

Problem 2: There is no way to override the title attribute when generating links.

Problem 3: This is more of a documentation and code readability issue than anything else, the ""nicename"" parameter is named back-to-front (i.e. FALSE means you get nice names and TRUE means you get slugs).

The following replacement function fixes all three issues (issue 3 fixed in the parameter name, still needs fixing in the docs):


{{{
function get_category_parents($id, $link = FALSE, $separator = '/', $useslug = FALSE, $trailingseparator = TRUE, $usedescfortitle = FALSE)
{
	$output = """";

	// Get the category from the id
	$category = &get_category($id);
	if(is_wp_error($category))
	{
		return $category;
	}

	// Use the slug or the category name
	if($useslug)
	{
		$name = $category->slug;
	}
	else
	{
		$name = $category->cat_name;
	}

	// If this is not a top-level parent, first get the parent of this category.
	if($category->parent && ($category->parent != $category->term_id))
	{
		$output = get_category_parents($category->parent, $link, $separator, $useslug, $trailingseparator, $usedescfortitle);

		// If the parent output did NOT contain a trailing separator
		// we need to add the separator between category names/links
		if(!$trailingseparator)
		{
			$output .= $separator;
		}
	}

	// Output a link or plain text
	if($link)
	{
		$title = """";

		// Use the category description or the default text for the link title
		if($usedescfortitle)
		{
			$title = $category->description;
		}

		if($title == """")
		{
			$title = ""View all posts in "" . $name;
		}

		// Add this category link onto the end of the string which already contains all of its parent links
		$output .= '<a href=""' . get_category_link($category->term_id) . '"" title=""' . $title . '"">' . $name . '</a>';
	}
	else
	{
		// Add this category name onto the end of the string which already contains all of its parent names
		$output .= $name;
	}

	// Add the trailing separator
	if($trailingseparator)
	{
		$output .= $separator;
	}

	return $output;
}
}}}


This updated function is backwards compatible with the old one, there should not be any behavioural differences. If someone could integrate and test it in the core for the next release it'd be much appreciated. Also change the docs so that nice name is called use slugs instead.

Ta,
-Jay"	jayabb
22271	get_post_class() does not always apply filter to output		Template	3.4	normal	normal	Awaiting Review	enhancement	new	has-patch	2012-10-24T12:52:51Z	2012-11-05T21:07:31Z	"Currently the post class function/template tag simply returns an empty array for 404 requests. The reason is simple: The output gets generated based on the return values of {{{get_post()}}}.

This avoids using it to style parts of the 404 template using the {{{post_class}}} filter.

Use case: In one theme I'm currently developing, I use the {{{post_class}}} filter to override the parent themes classes with some grid classes from a CSS framework. This avoids duplicating the templates and handle the positions, etc. of the template parts with a simple callback for the {{{post_class}}} filter. The attached patch makes sure that classes get added, instead of just returning an empty array if no {{{$post->ID}}} is present. It doesn't harm any other callback (or interfere with it).

The attached patch is tested in current 3.4.2 and 3.5 Beta. It is built against the v3.5 nightly build - revision 606806.

Sidenote: The somehow wired phpDocBlock comment was also ""fixed""."	F J Kaiser
18480	get_sidebar should be able to accept an array of names as parameter.		Template	3.2.1	normal	normal	Awaiting Review	enhancement	new	dev-feedback	2011-08-18T22:29:12Z	2011-08-18T22:47:59Z	"get_sidebar uses load_template to do the work of template loading.
load_template will accept an array of template names for loading.
load_template will then load the first existing template from that array.

Seems like get_sidebar should also accept an array of names that can be searched in declining order.

This would allow a theme to specify a first choice, second choice, etc. for the sidebar."	gxxaxx
9227	in get_the_category_list(), filter categories before constructing list		Template	2.8	normal	normal	Future Release	enhancement	new	has-patch	2009-02-24T23:25:38Z	2010-03-20T19:09:35Z	"The template '''function get_the_category_list''' returns a concatenated string of category links for an individual post.  The only filtering available is on the full concatenated sting, via 'the_category' hook.

Since filtering the category array directly is greatly preferable for most uses, please consider adding the attached patch, or something like it.

Whatever hook is added should somehow indicate the data context - in this case for display.  In filtering post categories, there is the potential for non-display situations in which the actual post categories must be maintained even though the display filtering hides some from the current user.  What we '''should not do''' is apply a single filter inside get_the_category or wp_get_object_terms, since themes and plugins may already call those functions for multiple data contexts.

I had considered calling the new hook ''''get_the_category_for_list''''.  Instead I'm suggesting a more generic ''''get_the_category'''' hook, '''passing context''' as the second argument.  That would leave the API consistent for possible future use in filtering other contexts."	KevinB
9232	introduce include_tree parameter to wp_list_pages		Template	2.7.1	normal	normal	Future Release	enhancement	new		2009-02-25T16:50:22Z	2010-07-23T15:53:16Z	"to match the excellent exclude_tree parameter, it would be invaluable to have the ability to list one page and have all it's children display as well. At present, there is no way to do this.

We should add a include_tree parameter to the wp_list_pages function. 

This addition would be helpful while creating drop down menus and side bar menus for sub sections of large websites. "	dwenaus
8050	is_child()	westi*	Template		normal	normal	Future Release	enhancement	accepted	has-patch	2008-11-03T18:58:48Z	2011-10-08T00:11:04Z	"Is there any reason why there is no native is_child(direct,in_tree) function for hierarchical structures in WP (like pages, categories, custom hierarchical taxonomies)? There's a (partly) working plugin available at

http://2pt3.com/post/wordpress-plugins/

but I think this amounts to a core functionality, particularly for people using WP as a hierarchical CMS."	youngmicroserf
14900	link-template string builder cleanup		Template		normal	normal	Future Release	enhancement	new	has-patch	2010-09-19T18:40:48Z	2011-01-13T06:05:16Z	"Convert dynamic strings to static strings where quick wins are available.

Wrap output such as translated strings in an esc_attr or esc_html just in case HTML can better handle what a parent page's character encoding can't."	niallkennedy
16223	post_class for public custom taxonomies		Template	3.1	normal	normal	Future Release	enhancement	new	has-patch	2011-01-13T22:37:24Z	2012-09-14T00:52:00Z	post_class() should include styles for custom taxonomies.	sillybean
10203	posts_nav_link ignoring blank function parameters		Template	2.8	normal	normal	Future Release	enhancement	new		2009-06-18T04:53:50Z	2011-01-05T20:13:08Z	"posts_nav_link shows both next and previous links including link seperator even though the respective function parameters are blank.

{{{
<div id=""page-nav-prev""><?php posts_nav_link('', '&#171; Previous Page', '') ?></div>
<div id=""page-nav-next""><?php posts_nav_link('', '', 'Next Page &#187;') ?></div>
}}}

"	milanmk
24103	the wp_dropdown_cats filter should pass the args as a second parameter		Template	3.5	normal	normal	Awaiting Review	enhancement	new	has-patch	2013-04-16T14:45:18Z	2013-04-17T02:28:37Z	"effectively filtering the output of the wp_dropdown_categories function is only possible knowing their args



{{{
Index: wp-includes/category-template.php
===================================================================
--- wp-includes/category-template.php	(revision 24000)
+++ wp-includes/category-template.php	(working copy)
@@ -370,7 +370,7 @@
 	if ( ! $r['hide_if_empty'] || ! empty($categories) )
 		$output .= ""</select>\n"";

-	$output = apply_filters( 'wp_dropdown_cats', $output );
+	$output = apply_filters( 'wp_dropdown_cats', $output, $r );

 	if ( $echo )
 		echo $output;
}}}"	olivM
16625	wp_dropdown_categories reqs (consistent) option_none_value		Template	3.0.4	normal	minor	Awaiting Review	enhancement	reviewing	has-patch	2011-02-23T23:58:22Z	2011-03-25T13:15:40Z	"wp_dropdown_categories sets option_none value=""-1"" without any means to override, whereas other similar funcs (eg:wp_dropdown_pages) use options_none value='' and also provide method to override default (option_none_value).

please could we have a consistent set of values (and options interface) to all thee dropdown funcs and save us some unnecessary and messy extra coding. thanks."	rcain
19851	wp_dropdown_categories should add category slug as class to each option.		Template		normal	minor	Awaiting Review	enhancement	new	has-patch	2012-01-18T15:17:57Z	2012-01-18T19:48:20Z	"Portability is important for theme developers. With more and more developers using JS for enhanced functionality of their themes it's important to offer portable selectors for their use. Category ID's tend to change in the migration process, category names do not. 

While it's important to keep the class clutter low, I believe adding the slug of a category as a class to each option in wp_dropdown_categories would be very helpful for developers. 

I found this modification useful for a theme I was developing and offer this patch with hope that my solution may benefit other developers."	jackreichert
10558	wp_link_pages could allow for both page numbers and next/prev links		Template		normal	normal	Future Release	enhancement	new	has-patch	2009-08-06T16:26:59Z	2009-11-20T17:41:11Z	The attached patch does exactly that.	simonwheatley
7231	wp_link_pages: option  next_and_number	sorich87*	Template		normal	normal	Future Release	enhancement	accepted	has-patch	2008-07-03T09:25:43Z	2010-08-03T14:15:48Z	"with the next_or_number option of the wp_link_pages() function, it would be nice to have the option to use both.

it gives the user the opportunity to easily go to the next/previous page, without loosing the other option of going immediately to a certain page

example:
__next__ __1__ 2 __3__ __4__ __5__ __6__ __previous__

"	jan831
8733	wp_list_bookmarks to optionally display feed/rss_link		Template	2.7	normal	normal	Future Release	enhancement	new	has-patch	2008-12-27T16:19:53Z	2010-08-11T20:51:56Z	wp_listbookmarks has options to show optional fields such as the rating, but not the rss_link, useful when a template is listing a blogroll of blog HTML and feed links.	pdowney
9025	wp_list_categories lacks the vital options of wp_get_archives		Template	2.7	normal	normal	Future Release	enhancement	new	has-patch	2009-02-03T04:51:44Z	2010-08-15T22:44:46Z	"To achieve
{{{
Archives: 2004 (2); 2003 (1); Categories: Elections (1); Iraq (1);
}}}
One needs
{{{
<p>Archives:<?php wp_get_archives('format=custom&show_post_count=1&type=yearly&after=;'); ?>
Categories:<?php echo str_replace('<br />',';', wp_list_categories('style=&show_count=1&echo=0'));?></p>
}}}
As you see, wp_list_categories lacks the vital options of
wp_get_archives, forcing us to resort to str_replace.

Note: I am talking about HTML and do not wish to talk about CSS."	jidanni
19581	wp_list_comments_args hook		Template	3.3	normal	normal	Awaiting Review	enhancement	new	has-patch	2011-12-16T21:11:12Z	2011-12-17T06:15:12Z	"`wp_list_comments` needs a hook on its arguments.  This will make it easier to change with child themes as opposed to overwriting the entire `comments.php` template.

Attached patch adds a new hook: `wp_list_comments_args`."	greenshady
6939	wp_list_pages() should also lists private pages if the user has capability 'read_private_pages'		Template	2.5.1	normal	normal	Future Release	enhancement	new	has-patch	2008-05-08T18:19:29Z	2011-02-24T17:15:57Z	"If the user has the capability ""read_private_pages"" wp_list_pages() don't lists private pages in no way. I've noticed this problem by some comments on my ""Role Manager"" Plugin page.

Two patches are attached to this ticket.

wp_list_pages() gets a new option ""include_private_pages"". The default value is 1 for lists private pages too if the user has the capability ""read_private_pages"".
If private pages should not be listed also if the user has the cap ""read_private_pages"" the syntax is as an example:
wp_list_pages('title_li=<h2>Pages</h2>&include_private_pages=0');

The second patch is for get_pages() - with the same option and default value.

And of course: if a user don't has the cap ""read_private_pages"" private pages are listed in no case :)"	imwebgefunden
18803	Core hooks for fragment caching	sivel	Template	3.3	normal	normal	Future Release	feature request	new	dev-feedback	2011-09-28T15:47:29Z	2012-07-24T00:38:42Z	"I have been running fragment caching for some time, but have seen a few negatives with the way it needs to be implemented currently.  With fragment caching potentially becoming even more popular after talks given at WordCamps, core hooks to assist in this are going to become more necessary, for several reasons, such as creating some standardization about how it is integrated into the theme.

Since there are no hooks in something like get_sidebar() -> get_template_part() -> locate_template() -> load_template() you have to create your own function calls to use in a theme to render the sidebar.  

In my specific case I was using a child theme, and ended up having to copy over a lot of the parent theme files to make the modification.

My goal is to provide some hooks that would allow use of the standard theme functions such as get_sidebar() but give a plugin or similar access to interrupt the process, generate the cache and output the cache.

My first pass is attached as well as a sample mu-plugin that I have wrote to show how you can use the new hooks to perform fragment caching."	sivel
11095	Format wp_list_pages and wp_page_menu without <li> tags		Template		normal	normal	Future Release	feature request	new		2009-11-07T18:00:44Z	2010-03-25T11:49:07Z	"Would that be possible to have the functions wp_list_pages and wp_page_menu with an option to display pages in a ""flat"" format like the functions wp_list_bookmarks or wp_tag_cloud or wp_get_archives?"	zialingua
23142	"Make it possible to ""stem"" an arbitrary prefix with the Template Hierarchy's ""stemming"" logic."		Template	3.5	normal	normal	Awaiting Review	feature request	new		2013-01-08T13:04:03Z	2013-01-09T00:23:21Z	"Please expose the template hierarchy ""stemming"" logic for theme developers. By ""stemming"" I mean the process by which the list of candidate template filenames  (e.g. page-meaningoflife.php, page-42.php, page.php) is generated.

I '''know''' that the way template-loader.php is currently written, such list is never explicitly assembled. I consider this a deficiency. The ""stemming"" logic should be available as an API:


{{{
function wp_template_candidates($prefix="""") {

    $filenames = array();

    // Extensively refactored code from template-loader.php and template.php

    return $filenames;
}
}}}

The new template-loader.php could then probably be just reduced almost to this:

{{{
locate_template(wp_template_candidates(),true);
}}}

But the real motivation is to be able to use a single layout template that includes different versions of ""parts"" like menu or sidebars depending on the query type and queried object, exactly as the template hierarchy does. This can of course be done with ad-hoc checks:

{{{

if (is_home()) { locate_template(""home/sidebar.php"", true); }

}}}

but making this consistent with how template hierarchy works would involve basically reimplementing much of it. The proposed API would make it possible to override parts of a template for specific query types or queried objects just by creating an appropriately located and named file, and without modifying the main layout file:

{{{

/*
 *   File: MyTheme/includes/body-layout.php
 */

<div id=""main-menu"">
<?php locate_template(wp_template_candidates(""main-menu/""),true); ?>
</div>

<?php

//On a ""video"" category page, this will pick MyTheme/social_slider/category-video.php

@include_once locate_template(wp_template_candidates(""social_slider/""));

?>

}}}"	rulatir
13493	Make the_date() and is_new_day work properly	Otto	Template		normal	normal	Future Release	feature request	new	reporter-feedback	2010-05-22T09:14:46Z	2011-10-10T14:16:57Z	"Make the_date() always echo the date, in preference the the historic behavior of only echo'ing once per ""day""


----


Otto's recommendations.

a) fix is_new_day() to actually work.
b) change the_date and such to always display the date.

With that patch, somebody could do this for the ""only on new days"" logic:

if (is_new_day()) the_date();

Anybody who actually needed that new day functionality (rare) could then fix their theme up quite simply with only a minor adjustment.

"	banago
9719	Please : a filter for $category object in get_the_category_list()		Template	2.8	normal	minor	Future Release	feature request	reopened		2009-05-04T09:09:10Z	2009-06-13T02:57:15Z	"To offer for one post more flexibility in how to display the names of categories in the_category() or in get_the_category_list() -file category-template line 166 - , is it possible to add a filter as the filter existing in wp_list_categories() .  Useful to replace cat name by instance by image ''(iphone compatible theme)'' or to add translation in bilingual or multilingual theme ''(by instance with xili-language plugin)'' without re-creating specific function.

As in classes.php (line 1328), I suggest this modif with a filter named post_list_cats for the start of two loops present in get_the_category_list() (line 187 et 209)


{{{
foreach ( $categories as $category ) {
$cat_name = attr( $category->name);
$cat_name = apply_filters( 'post_list_cats', $cat_name, $category );
}}}


and inside the two loops, $category->cat_name replaced by $cat_name


with this filter it will be more coherent to treate cat list in one post or in sidebar for all posts

Many thanks

"	michelwppi
14375	Post pagination should have a show all option		Template	3.0	normal	normal	Future Release	feature request	new		2010-07-21T07:03:29Z	2010-10-28T10:08:00Z	When people use the nextpage html comment tag to paginate posts we should also have a show all link displayed to make it easier for people to read the whole content without pagination.	westi
23537	Require attributes, not classes		Template		normal	normal	Awaiting Review	feature request	reopened		2013-02-19T18:20:03Z	2013-02-28T19:40:43Z	"Currently themes[http://codex.wordpress.org/Theme_Review#Template_Tags_and_Hooks must] use [http://codex.wordpress.org/Function_Reference/language_attributes language_attributes], [http://codex.wordpress.org/Function_Reference/body_class body_class], [http://codex.wordpress.org/Function_Reference/post_class post_class] [http://codex.wordpress.org/Function_Reference/comment_class comment_class]. Rather then requiring direct usage of those, it'd be far more useful to have (and instead require) functions for the entire attributes output, with corresponding filter hooks. The current `_class` functions/hooks would still run, albeit internally via these new functions. This approach is scalable to future attribute needs.

{{{
<html <?php html_attrs(); ?>>
<body <?php body_attrs(); ?>>
<article <?php post_attrs(); ?>>
<li <?php comment_attrs(); ?>>
}}}

There also should be `get_` versions. Using the `get_` version in the theme (or manually applying the hook) should suffice to meet requirements. The hooks are the underlying reason for requiring these functions. Hooks would run in the `get_` versions. #23236 can ensure safe output and DRY code."	ryanve
12370	We need a smarter version of wp_title() and a few other template tags	hallsofmontezuma*	Template	3.0	normal	major	Future Release	feature request	accepted		2010-02-25T08:47:06Z	2011-09-06T16:22:50Z	"Look at Twenty Ten's `header.php` and the code that is needed to output the `<title>`. That's a bit silly.

I suggest we should have a helper function of some type to replace all of that. A smarter and more sophisticated version of `wp_title()`."	Viper007Bond
9818	add a wp_notification functionality to output notices and errors on the front end		Template	2.8	normal	normal	Future Release	feature request	assigned		2009-05-14T09:28:25Z	2010-07-06T22:43:20Z	"On occasion, a plugin needs to return some kind of feedback. It would be nice if a standard hook existed for this.

It could go something like this:

add_filter(wp_notification, foobar)

foobar() appends to an array of notification messages that get displayed to the user on the front end.

then, on page load:

 - in wp_head if notifications is not empty, we add a style, wp_notification, that makes elements of this class invisible, and we load jQuery

 - if do_action(wp_notification) is explicitly called on the page, we display the messages in there, without the class, and disable the notification on the wp_footer hook

 - an action gets fired on wp_footer if do_action(wp_notification) is not called, and we use ajax to place the needed messages in a absolutely positioned div element, with a close button.

we could also add some kind of do_action(wp_commentform_notification), nearby the comments form, to output comment-related errors in their ""correct"" location as well."	Denis-de-Bernardy
9860	additional query filters for postbypost archive type		Template	2.9	normal	normal	Future Release	feature request	new	has-patch	2009-05-18T15:26:31Z	2009-11-20T20:23:29Z	"Add getarchives_distinct, getarchives_fields filters for postbypost archive type in function wp_get_archives.

These are a necessary supplement to the existing getarchives_join and getarchives_where filters because joining on categories (a likely usage) causes duplicate post names if a post is in more than one joined category.

For more explanation, see #8022"	kevinb
19902	blog_url() and get_blog_url() template tags		Template	3.3.1	normal	normal	Awaiting Review	feature request	new	dev-feedback	2012-01-26T21:44:13Z	2012-02-23T22:00:03Z	"With usage of WordPress as a CMS increasing, the blog is not always the focal point. It would be great if there were template tags available to get the blog url, basically a wrapper for getting the options if it's set to a WordPress page, and defaulting to home_url( '/' ) if not.

Patched against r19759 (trunk)"	johnjamesjacoby
13100	category template matches ancestor category, single post matches category filename		Template		normal	normal	Future Release	feature request	new		2010-04-24T11:52:56Z	2010-04-24T12:19:11Z	"Dear wordpress developers,

There's two features which I think would be very useful in the wordpress template selection process. The first relates to categories - currently a category template file will be selected when the category of the selected post matches the filename of the template (category-catfoo.php). Because categories are hierarchichal (can be sub-categories) I suggest that if it can't find a template for the current category it should also also try to match ancestor template files.

The other feature which I suggest would be useful, is single post template matching using category names. For example, single-catfoo.php. This could also match on ancestor categories if none is found immediately (single-catrootfoo.php).

Best wishes,
Jim Redfern"	jredfern
20730	make function wp_list_categories rewritable for templates (File: category-template.php)		Template		normal	normal	Awaiting Review	feature request	new		2012-05-22T17:34:02Z	2012-05-22T17:36:35Z	"Inserting

{{{
$list_categories_template = locate_template(array('listcategories.php'));
        if ( '' != $list_categories_template ) {
                require($list_categories_template);
                return;
        }
}}}

under

{{{
function wp_list_categories( $args = '' ) {
}}}
"	wpuser12584
21766	modify body_class function to allow non-class items		Template		normal	normal	Awaiting Review	feature request	new	dev-feedback	2012-09-01T18:11:43Z	2013-02-19T21:26:12Z	"Currently, the `body_class` only allows for filtering with additional classes. For users that want to add other items, they have to manually edit the theme files. The best example of this is schema.org body elements (itemtype and itemprop).

The diff file shows two things:

1. the new `body_items` function that grabs any items added via filter, if they exist.

2. the modified `body_class` function, which appends the output with the items if they exist.

The patch, as I've written it, allows for this additional filter to be included without interfering with how themes / plugins interact with the current `body_class` filter, and doesn't require theme authors to include an additional tag in their themes.

Below is an example function that could be placed in a theme or plugin to add other items to the body tag element.


{{{
function schema_bodyitems($item) {

	if (is_page() ) :
		$item[] = 'item-foo=""item-bar""';
	endif;

	$item[] = 'itemtype=""http://schema.org/Blog""';
	$item[] = 'itemscope=""""';

return $item;
}

add_filter('body_items','schema_bodyitems');
}}}
"	norcross
19044	$depth in start_el  Walker_Category has null value		Taxonomy		normal	normal	Awaiting Review	defect (bug)	new	reporter-feedback	2011-10-25T10:17:55Z	2011-10-28T08:46:10Z	"{{{
File wp-includes/category-template.php
Line: 829
}}}

Issue: 
{{{
The variable $depth is not returning value.
start_el() - $depth not showing. (Always return zero)
start_lvl() - $depth works fine. 
end_lvl() - $depth works fine.
}}}


{{{

/**
	 * @see Walker::start_el()
	 * @since 2.1.0
	 *
	 * @param string $output Passed by reference. Used to append additional content.
	 * @param object $category Category data object.
	 * @param int $depth Depth of category in reference to parents.
	 * @param array $args
	 */
	function start_el(&$output, $category, $depth, $args) {
.....
}}}
"	nukecpower
8119	Attempts to edit deleted categories are not properly handled	westi	Taxonomy	2.7	normal	minor	Future Release	defect (bug)	new	has-patch	2008-11-08T21:32:21Z	2011-11-19T06:07:37Z	"Fairly obscure. 

If one user has the edit cats view open, then another user deletes one of those categories, and the first user then attempts to edit the deleted category, they get - not unreasonably - an empty view on the edit screen.  (As the data has been correctly deleted.) Ok. Not too much we can do about that.  However, after that, it falls down.

It seems that if you replace the various data and then press ""edit category"" it can go one of two ways -

1. The user recieves the message 

Your attempt to edit this category: """" has failed.

2. The user recieves the message

Fatal error: Cannot use object of type WP_Error as array in /home/www/misthaveneu/htdocs/svn/trunk/wp-includes/functions.php on line 1238

Scenerio 2 seems to be vaguely related to using the word ""Error"" in the description, but that could just be conincidence. 

In any event, the handling of this situation is broken.  The fact that a category has been deleted since in-between the user viewing the edit category screen and choosing one to edit needs to be recognised. (Even if it's the same sort of nasty wp_die message you get when a post has been deleted.)"	mrmist
13606	Comma's in taxonomy term names make them unpickable		Taxonomy		normal	major	Future Release	defect (bug)	new		2010-05-28T21:10:02Z	2010-11-13T03:19:01Z	"In the taxonomy term adder/editor, you are allowed to put comma's in their names, but the JS picker thinks they are two separate terms separated by a comma.

Two possible obvious solutions:
1.) Disallow terms from having commas in the names
2.) Fix the JS"	johnjamesjacoby
18553	Counting of categories doesn't work without refreshing?		Taxonomy	3.2.1	normal	minor	Awaiting Review	defect (bug)	new		2011-08-31T11:39:03Z	2011-09-03T09:17:55Z	"If you add a new category or delete one the number of total categories stays on the original number. For exemple, when you have 7 categories then in the corner it says '7 items'. When you delete one, you have 6 items but '7 items' is still displayed.

(Chrome 15.0.816)

1) Go to your categories
2) Add one and look to the number of items, IT WILL NOT CHANGE!

So this count for adding normal categories and child ones..."	jonezjea
14073	Custom Taxonomies - Post Count wrong		Taxonomy	3.0	normal	normal	Future Release	defect (bug)	new	reporter-feedback	2010-06-24T14:17:07Z	2010-11-13T12:52:06Z	"I've just set up some custom taxonomies on our blog.

Basically they are just some basic custom tag-clouds for a few different subjects

But i've come across what appears to be a weird bug

After creating my custom taxonomies, i went through my articles (posts) using the bulk edit function to 'tag' all the articles in the new custom tag-subjects

By using the bulk-edit feature, this saved me loads of time, but in doing so meant i could only add one tag at a time - however, cetain articles needed to be tagged with multiple tags, so they would show up in the repeated use of bulk edit many times

Here's where it got weird....

Every time i added a new tag to a post and hit the 'update' button, it would increase the post count for that article by +1

I know that sounds a bit crazy, as an article does not have a post count, so the best way to explain it is with an example

1) Go to our sites archive page [http://f1stockcars.com/about/archives/]

2) Look over to the right for our custom ""Drivers"" tag-cloud

3) Near the top is is a driver called ""Colin Goodswen""

4) Hover your mouse on this driver and it says ""12 Topics""

5) Click the name though, and you'll find he has just ONE topic

The reason for this is simply because i had to add multiple ""driver"" tags to that particular article, and each time i hit the ""Update Post"" button it (as i said before) increased the post count for that article by +1

And it's not just a one-off... virtually EVERY single driver tag has the incorrect post count assigned to their name

I decided to see if this was an issue unique to the 'Bulk Editor' by going into the standard single (full) Post Editor. Without editing a single thing within the post i simple hit the 'Update' Post button. I went back to my archive to check the post count for tags associated with that post, and they had all increased by +1

I think that's about all the information i can provide on how to recreate the bug.

This now means there is not just the fact it's giving wrong information about post counts to our readers, it also means our tag-cloud's appearance is completely wrong, and tags with only one article are being emphasized over other tags with many articles"	defade
14370	Custom Taxonomies tagging Attachments		Taxonomy	3.0	normal	normal	Awaiting Review	defect (bug)	reopened	dev-feedback	2010-07-21T02:28:52Z	2012-08-30T08:56:17Z	"There appears to be an issue where if the custom taxonomy has only attachment:image, attachment:audio, and attachment:video The attachments return nothing found. Only 'post' post types are returned.

adding to a query 'post_status' => publish, allows it to display the images but does not allow pagination.

WordPress should return all post_types that the Taxonomy is defined for. Somehow ma.tt found a way around this issue. refer to: 
http://osdir.com/ml/wp-testers/2010-06/msg00317.html
http://wordpress.org/support/topic/383096?replies=29

Does not affect pre 3.0
"	thee17
15264	Deleting a term shared across taxonomies deletes all associated nav menus.	garyc40	Taxonomy	3.0.1	normal	major	Future Release	defect (bug)	assigned	has-patch	2010-10-31T08:01:32Z	2013-05-21T19:59:57Z	"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
21842	Diffrerent Custom Taxonomy Unable to Have Same Term Name  in Version 3.4.2	oneTarek	Taxonomy	3.4.2	normal	major	Awaiting Review	defect (bug)	new	reporter-feedback	2012-09-08T09:27:28Z	2012-09-14T23:47:16Z	"Before WordPress version 3.4.2 We know that WordPress does not support same word as category and tags. Assume you have a category named ""iPhone"" and it's slug is 'iphone' and now you want to add a new tag named ""iPhone"" , in this case tag slug will be 'iphone-2'. But if you have a custom taxonomy ""Device"" then the slug will be 'iphone' same as category ""iphone"". It means WordPress did not support same category and tag but can be same with any custom taxonomy. I tested many times this case.

But today after updating <a href=""http://onetarek.com""><strong>My WordPress Blog</strong></a> to version 3.4.2 I found a mistake on it. I have 3 custom taxonomy. 'Type', 'Brand' and 'OS' . Before WP 3.4.2 I was able to use same word as Category and Type and also same slug for those. But now in version 3.4.2 when I am adding new terms It is getting slug with extra number 2. Example: I have a Category 'Apple' it's slug 'apple'. Now I am trying to add a 'Brand' taxonomy term 'Apple', the slug is being created 'apple-2'. But this problem was not in before WP 3.4.2"	onetarek
11156	Duplicate tag created if tag name contains ampersand	filosofo	Taxonomy	2.9	normal	normal	Future Release	defect (bug)	new		2009-11-16T21:51:37Z	2010-11-13T07:25:30Z	"This is undoubtedly an edge case, but here's what happened:

1. I created a tag with a long name that contained an ampersand. Gave it a shorter slug than the one WP generated.

2. Tagged some posts.

3. While the server was running slow, the autocomplete never came up, and I tagged another post by cutting and pasting the tag name from another screen.

That resulted in a new tag being created with a longer WP-generated slug, instead of the post getting tagged with my older existing tag.

This happened a few times (the server in question is REALLY slow), and I finally realized that the only tags that were incorrectly duplicated were the ones with ampersands."	sillybean
20850	Duplicate term insertion allowed after insertion with case differences		Taxonomy	3.3.2	normal	normal	Awaiting Review	defect (bug)	new	dev-feedback	2012-06-06T00:00:33Z	2012-06-08T20:20:38Z	"I've discovered a case where duplicate terms can be inserted with wp_insert_term(). Steps to reproduce:

1. Insert a term, i.e.
{{{
 wp_insert_term('USA', 'country');
}}}
2. Insert the same term, but with a different case, i.e. 
{{{
 wp_insert_term('usa', 'country'); // it's ok that this succeeds, because technically it *is* different (case-wise)
}}}
3. Insert the same term as in step 2. It should fail, but doesn't:
{{{
 wp_insert_term('usa', 'country'); // succeeds
}}}

This is because wp_insert_term() does the following:
1. Finds the first term in the db that matches the initial (non-unique) slug for the new term name
2. If the name of the found term doesn't match the new term name, then insert continues. In the example above, it's comparing all subsequent 'usa' term names to the first 'USA' term name and determining that it's ok to continue, when it's not because there are other 'usa' terms that it didn't look at."	jazbek
16797	Edit Tags admin + custom post type + custom taxonomy		Taxonomy	3.1	normal	normal	Awaiting Review	defect (bug)	new		2011-03-08T17:20:30Z	2011-03-08T19:10:16Z	"I've registered the custom post type `fp_toy`, and the custom taxonomy `fp_milestone`. Both have `show_ui` set to `true`. I have the `fp_milestone` taxonomy associated with both `fp_toy` and `post`.

If I click Toys > Milestones in the admin, the URL is `edit-tags.php?taxonomy=fp_milestone&post_type=fp_toy`; but in the navigation menu, it appears that I'm in Posts > Milestones. (This is minor, but may help with diagnosis.)

Worse, in the list of Milestones, I see an automatically populated column named ""Toy,"" which would be correct if it were indicating the number of Toys per Milestone; but it is counting `all` posts associated with a Milestone, not just those with a `post_type` of `fp_toy`.

Worst of all, clicking this (incorrect) post count should take me to `edit.php?fp_milestone=create&post_type=fp_toy`; instead it's taking me to `edit.php?fp_milestone=create&post_type=post`. The result is that I have no way (without URL manipulation) to see all Toys for a given Milestone."	kanuck54
12729	Fix [6326] - wp_unique_term_slug() when changing the parent	ryan	Taxonomy		normal	normal	Future Release	defect (bug)	new	dev-feedback	2010-03-27T08:04:40Z	2012-11-25T01:35:53Z	"[6326] uses $args (as an array) when it appears it should use $term (an object).

It's never worked, so I'm hesitant to patch it as I imagine it might break something elsewhere in the taxonomy API.

Assigning to ryan for now, who authored the commit."	nacin
23069	For plugins that create custom taxonomies, wp_delete_term does not work during plugin uninstall.		Taxonomy	3.5	normal	trivial	Awaiting Review	defect (bug)	new		2012-12-28T15:10:51Z	2013-01-02T19:37:39Z	"I ran into this problem while writing a plugin uninstall class to clean up any options, custom post types, taxonomies & terms related to the plugin.

The problem is, if a plugin creates a custom taxonomy and the plugin user creates terms for that taxonomy, the plugin cannot delete those terms during uninstall.

How to reproduce:

1. Create a plugin that creates a custom taxonomy.
2. Create some terms for that taxonomy.
3. In uninstall.php, try using wp_delete_term to remove those terms.

Because the plugin is already deactivated by the time uninstall.php fires, $wp_taxonomies no longer contains the custom taxonomy that the plugin created. Since wp_delete_term requires a valid taxonomy as its second parameter, it does not work.

The issue is also being discussed here: http://bit.ly/RUDYOv"	sscovil
14093	Malformed category hidden from edit-tags, but shows in meta box		Taxonomy		low	normal	Future Release	defect (bug)	new		2010-06-25T19:11:49Z	2011-01-13T08:07:15Z	"Came from a report in IRC by xomp.

In the following example, category 1's parent is category 2, and vice versa.
{{{
mysql> select term_taxonomy_id, term_id, taxonomy, parent from wp_term_taxonomy;
+------------------+---------+---------------+--------+
| term_taxonomy_id | term_id | taxonomy      | parent |
+------------------+---------+---------------+--------+
|                1 |       1 | category      |      2 |
|                2 |       2 | category      |      1 |
|                3 |       3 | category      |      0 |
|                4 |       4 | category      |      1 |
+------------------+---------+---------------+--------+
4 rows in set (0.00 sec)

mysql> select term_id, name from wp_terms;
+---------+-----------------+
| term_id | name            |
+---------+-----------------+
|       1 | Category 1      |
|       2 | Category 2      |
|       3 | Category 3      |
|       4 | Category 4      |
+---------+-----------------+
4 rows in set (0.00 sec)
}}}
On edit-tags, you'll see only Category 3.

In the hierarchical meta box, you'll see:
{{{
Category 3
Category 1
 - Category 2
 - Category 4
}}}
If we decide to show corrupted data, we should be consistent. At the very least, edit-tags should reveal more than the meta box, not the other way around."	nacin
19112	Minor fix in category-template.php		Taxonomy	3.2.1	normal	normal	Awaiting Review	defect (bug)	new	has-patch	2011-11-02T09:26:15Z	2011-11-16T09:36:43Z	"In ''wp-includes/category-template.php'' file, WordPress uses the ""'''View all posts in %s'''"" text to show posts under some category (we can see this text in line 59, 174 177, 184, 197, 200 and in line 207).

But in line 837 WordPress uses a different text - '''View all posts filed under %s'''.

This patch is changing that.

"	ramiy
16101	Numeric term fields are strings		Taxonomy		normal	normal	Future Release	defect (bug)	new	dev-feedback	2011-01-04T23:25:00Z	2013-02-13T01:37:57Z	"The numeric fields (term_id, parent, etc.) on term objects are strings. I only noticed this because term_exists() uses is_int() to determine if the $term value is an ID or slug.

Only ticket I could find about this is #5381. 

sanitize_term() should fix this, but it bails early in the ""raw"" context. sanitize_term_field() sanitizes the numeric fields in every context. I don't see a reason for sanitize_term() to bail early so I made a patch that takes that out. The patch also adds some missing fields to the list of those to be sanitized and changes term_exists() to use is_numeric() (which will correctly identify strings containing only numbers) instead of is_int(). 

"	foofy
19205	Orphaned categories can be created by accident		Taxonomy		normal	minor	Awaiting Review	defect (bug)	new		2011-11-08T14:12:39Z	2011-11-19T06:07:17Z	"There are two ways to do that.

1. You can work on category tree from two browser windows. 
- In window one, delete a category
- In window two, add a child to the category that has been deleted.

wp_insert_term needs to check if the parent exists.

2. If you delete a couple of categories with bulk-delete, a third level child node can become orphan.

wp_delete_term uses get_term to find the parent node and can retrieve cached data."	dzver
9875	Postcount not set for parent in category dropdown.		Taxonomy	3.0	normal	normal	Future Release	defect (bug)	assigned	has-patch	2009-05-19T13:15:17Z	2010-07-01T17:26:03Z	"When showing categories in a dropdown with show_count and hierarchical , the parent of the categories won't show the total amount of posts of its children.
When selecting a list this teh total amount is shown."	petervanderdoes
19492	Problems with using wp_insert_term together with switch_to_blog		Taxonomy	3.2	normal	normal	Awaiting Review	defect (bug)	new		2011-12-09T23:38:33Z	2011-12-09T23:38:33Z	"I'm running a network of about 80 sites using WP multisite 3.2. I'm experiencing irregularities using switch_to_blog whith wp_insert_term.

To test this I have disabled all plugins, and am testing on a blank page so nothing else interferes. This is the sample code:

switch_to_blog(75);
wp_insert_term( 'New Term','category');
restore_current_blog();

When run from most blogs it adds the new term to the desired blog and the permalink to the new term page works.

But for a few of the blogs, when it runs it adds the term, but the link to the new term page throws a 404 error. Opening wp-admin and adding any new term through wp-admin fixes it.

Is this related to the other term_cache bugs?
"	ErikStromme
5358	Queried object on multiple tag query holds only first tag	ryan	Taxonomy	2.3.1	normal	normal	Future Release	defect (bug)	new		2007-11-15T05:17:21Z	2013-01-28T14:01:36Z	"On tag page results when two or more tags are queried ('''/tags/foo,bar''' -or- '''/tags/foo+bar'''), only the first tag is in the queried object. So a simple:

{{{ print_r($wp_query->get_queried_object());  }}}

outputs a single associative array of the first tag referenced in the query. One would expect to find an array of all tags in the queried object."	Kafkaesqui
24376	Sharing Custom Taxonomies with built-in Post Types		Taxonomy	3.5.1	normal	normal	Awaiting Review	defect (bug)	new		2013-05-20T22:57:58Z	2013-05-21T12:36:51Z	"If you register a custom taxonomy for built-in post types the admin pages containing the table and count for the custom taxonomy have the wrong count for each term.

Use case, I've register a custom taxonomy and assigned to the Post and Page post types like the following:

{{{
register_taxonomy(
    'cat',
    array('post','page'),
    array(
        'labels' => array(
            'name'                => _x( 'Cat', 'taxonomy general name' ),
            'singular_name'       => _x( 'Cat', 'taxonomy singular name' ),
            'search_items'        => __( 'Search Cats', 'some_plugin' ),
            'all_items'           => __( 'All Cats', 'some_plugin' ),
            'parent_item'         => __( 'Parent Cat', 'some_plugin' ),
            'parent_item_colon'   => __( 'Parent Cat:', 'some_plugin' ),
            'edit_item'           => __( 'Edit Cat', 'some_plugin' ),
            'update_item'         => __( 'Update Cat', 'some_plugin' ),
            'add_new_item'        => __( 'Add New Cat', 'some_plugin' ),
            'new_item_name'       => __( 'New Cat Name', 'some_plugin' ),
            'menu_name'           => __( 'Cat', 'some_plugin' )
        ),
        'hierarchical' => true,
        'show_admin_column' => true,
        'show_ui' => true  
    )
);
}}}

If you add a post and create different cats, you'll see the same count shows in both admin taxonomy UIs

/wp-admin/edit-tags.php?taxonomy=cat
/wp-admin/edit-tags.php?taxonomy=cat&post_type=page
"	ZaneMatthew
22511	Taxonomy manage screen checks for manage_terms and edit_terms, instead of just manage_terms.		Taxonomy	3.0	normal	normal	Awaiting Review	defect (bug)	new	dev-feedback	2012-11-19T23:13:56Z	2012-11-20T03:14:40Z	"I'm trying to set up permissions so the Contributor role can add terms but not edit or delete terms. I setup my taxonomy so it looks like this:
{{{
register_taxonomy( 'custom_taxonomy', array( 'post' ), array(
	...
	'capabilities' => array (
		'manage_terms' => 'edit_posts',
		'edit_terms' => 'manage_options',
		'delete_terms' => 'manage_options',
		'assign_terms' => 'edit_posts'
	)
) );
}}}

However, when logged in as a contributor I get the error ""You are not allowed to edit this item."" In edit-tags.php there are two checks for caps, one is for manage_terms and one is for edit_terms. I don't believe the second one should be there, because looking at the other code it should be like this:

* User with manage_terms can access the main taxonomy page
* They can also add terms
* There are checks in WP_Terms_List_Table to restrict showing the Edit/Quick Edit/Delete links for users without those capabilities (edit_terms/delete_terms).
* There is even plenty of other checks on edit_terms in edit-tags.php to include/change the content shown to the user.. if the entire page is restricted for users without edit_terms, why are any of those necessary?

Even if I'm wrong on the fact that roles with edit_terms can't add new terms (it's not completely clear anywhere, it seems like manage_terms should be enough), I still think that this page should be viewable at the very least considering the other code in that page and the list table.

Recommended solution: move the edit_terms check back into case 'edit' (line 121 of edit-tags.php in trunk, currently) as it was before [15491].

This was introduced in: [15441] and [15491]. Related: #14343."	andrewryno
15741	Taxonomy: Duplicate term slug error message refers to the name		Taxonomy	3.0.2	normal	normal	Awaiting Review	defect (bug)	new	dev-feedback	2010-12-09T01:03:10Z	2011-02-25T15:52:39Z	"You can't create a term if there is another existing term with the same slug. The error message indicates this warning incorrectly, referring to the term ""name"" instead of ""slug"":

 A term with the name provided already exists with this parent.

Problem in action:

 1. Create a category name ""Example"" with slug ""example"" without any parent category.
 2. Once that is saved, try creating the exact same category again.
 3. ""A term with the name provided already exists with this parent."" error shows up.
 4. Create a category name ""Example"" with slug ""example-2"".
 5. No error. Category with the same '''name''' can be created, contrary to the error  message in step 3.

The error message should refer to the slug not name if this is an intended behavior.  If the same term name should not exist under one level, step 4 should not be allowed either (especially with Tags)."	Nao
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
19590	Warnings when unregistering core taxonomies and post types		Taxonomy	3.3	normal	normal	Future Release	defect (bug)	new	has-patch	2011-12-17T18:40:49Z	2012-12-20T21:32:13Z	"'''number_format_i18n''' (/wp-includes/functions.php, line 155) will raise a warning when the first parameter ''$number'' is not a double/float, which happens when it receives the value 0.

The error only shows up in the dashboard with a locale active (es_ES) in this case, screenshot attached.

The fix would be to cast the received value to float. 
 
Current function,


{{{
function number_format_i18n( $number, $decimals = 0 ) {
	global $wp_locale;
	$formatted = number_format( $number, absint( $decimals ), $wp_locale->number_format['decimal_point'], $wp_locale->number_format['thousands_sep'] );
	return apply_filters( 'number_format_i18n', $formatted );
}
}}}

Fix,

{{{
function number_format_i18n( $number, $decimals = 0 ) {
	global $wp_locale;
	$formatted = number_format( (float) $number, absint( $decimals ), $wp_locale->number_format['decimal_point'], $wp_locale->number_format['thousands_sep'] );
	return apply_filters( 'number_format_i18n', $formatted );
}
}}}

It's the first bug i report here, so correct me if I'm doing it wrong.
"	xmarcos
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
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
17807	get_adjacent_post() doesn't work with custom taxonomies	nacin	Taxonomy	3.1.3	normal	normal	Future Release	defect (bug)	reviewing	has-patch	2011-06-15T09:51:46Z	2013-05-15T13:20:01Z	"If you use `next_post_link('%link', '%title', true)` or `previous_post_link('%link', '%title', true)` to get the adjacent post for a custom post type which has a taxonomy assigned to it, it doesn't work as intended.

The bug traces back to `get_adjacent_post()`. If the $in_same_cat parameter is true, then the SQL query built to get the posts are hardcoded using the default 'category' taxonomy. Instead it should allow a custom taxonomy as a parameter and use it in the queries.

Example:

Custom Post Type: `product`

Custom Taxonomy: `color`

SQL produced by `get_adjacent_post()` when calling `next_post_link('%link', '%title', true)`:

`SELECT p.* FROM wp_posts AS p INNER JOIN wp_term_relationships AS tr ON p.ID = tr.object_id INNER JOIN wp_term_taxonomy tt ON tr.term_taxonomy_id = tt.term_taxonomy_id AND tt.taxonomy = 'category' AND tt.term_id IN () WHERE p.post_date > '2011-06-14 19:37:08' AND p.post_type = 'product' AND p.post_status = 'publish' AND tt.taxonomy = 'category' ORDER BY p.post_date ASC LIMIT 1`
"	avaly
21200	get_all_category_ids() only used by a deprecated function		Taxonomy	3.4.1	normal	minor	Awaiting Review	defect (bug)	new		2012-07-09T11:35:01Z	2012-09-08T21:02:55Z	"The function ""get_all_category_ids()"" (category.php) is only used by the deprecated function ""get_category_children"". I got two ideas for the future of the function:

a) also deprecate it

b) create a function ""get_all_taxonomy_ids($taxonomy)"". Since it seems to be a common problem for programmers to get e.g. all tag ids I would prefer this.

 

"	Latz
24354	get_cat_id() fails with category names containing ampersand		Taxonomy	3.5.1	normal	normal	Awaiting Review	defect (bug)	new	dev-feedback	2013-05-17T08:25:08Z	2013-05-17T10:07:10Z	"{{{
echo get_cat_id('News');
results in 3 (as expected);
echo get_cat_id('Test OtherName');
results in 8 (as expected);
echo get_cat_id('Test&OtherName');
Results in 0
echo get_cat_id('News & Media');
Results in 0
}}}

All the category names were created in the Category Edit page, category names were copied from the text box directly into the code to allow no formatting issues.

I tracked the code to get_term_by and I think the ampersand in category name screws up possibly after being added into the prepared SQL statement.
"	Kenshino
8722	get_categories allows custom taxos, get_category doesn't	ryan	Taxonomy	2.7	normal	normal	Future Release	defect (bug)	new	has-patch	2008-12-25T07:27:14Z	2010-08-15T22:50:43Z	"get_categories('type=link') works with custom taxonomies (since http://trac.wordpress.org/ticket/7427 ).
get_category('... ?') doesn't. 
get_category > get_term($category,'category');

Because of that, all category dependent functions, like wp_list_categories and such, are broken when working with non post categories. get_category doesn't even work with link categories."	Malaiac
16310	get_taxonomy_labels() and _get_custom_object_labels() fail if $object->taxonomy is not array		Taxonomy		normal	normal	Future Release	defect (bug)	new	has-patch	2011-01-19T20:01:19Z	2012-05-13T22:27:20Z	"$object->labels is always stdObject on the taxonomy objects created by WordPress, but the get_taxonomy_labels() and _get_custom_object_labels() functions expect it to be an array and will fail otherwise.

Casting to array works fine as the functions already convert back to stdObject when they're finished. "	foofy
14399	get_term_children doesn't call clean_term_cache() if necessary		Taxonomy	3.0	normal	normal	Future Release	defect (bug)	reopened		2010-07-23T13:32:11Z	2011-01-15T02:01:34Z	"1. Create a taxonomy on something 'non standard'[[BR]]

2. Create a (parent) term.[[BR]]

3. Create a child term. [[BR]]

4. Retrieve child terms of the parent term using, amongst others, get_term_children().

Roughly:

{{{
register_taxonomy( 'where-you-live', 'user', array('hierarchical' => true,  'show_ui' => true, 'query_var' => true, 'label' => __('Where they live')) );

$country = 'USA';
$state   = 'New York';

$tax_country = wp_insert_term($country,  'where-you-live');
$country_term_id = $tax_country['term_id'];
wp_insert_term($state, 'where-you-live', array('parent'=>$country_term_id));

$state_terms = get_child_terms($country_term_id, 'where-you-live');
error_log(print_r($state_terms,1));
}}}

I am expecting an array containing the 'New York' child term, but I get nothing.[[BR]]
Have also tried get_terms() with child_of or parent args, which also fail (presumably for the same reason?)."	miradev
17652	get_term_link doesn't accept $term->term_id without explicit casting as numeric		Taxonomy	3.1.3	normal	minor	Awaiting Review	defect (bug)	new		2011-06-02T00:42:09Z	2013-05-01T18:20:53Z	"global $wp_query;

$term = $wp_query->get_queried_object();

get_term_link($term, $term->taxonomy); // ok

get_term_link($term->slug, $term->taxonomy); // ok

get_term_link($term->term_id, $term->taxonomy); // WP_Error ('Empty Term')

echo ($term->term_id); // ok (echoes correct ID)"	tomauger
17365	get_terms doesn't return terms with no posts if you specify a parent		Taxonomy	3.1.2	normal	normal	Awaiting Review	defect (bug)	new		2011-05-10T11:52:19Z	2011-05-10T11:52:19Z	"get_terms doesn't return terms with no posts if you specify a parent (see also #15626 for a related bug). Let's imagine the following term structure:

{{{
---parent_term (0 count)
    |---child_term (10 count)
}}}

Calling `get_terms('category', array('parent' => 0))` should return both terms according to the documentation, but it doesn't. The documentation says that `hierarchical` defaults to true, which should '''""include terms that have non-empty descendants""'''. It's broken because the following code runs if a parent argument is present (lines 1139-3 of taxonomies.php).

{{{
if ( !$single_taxonomy || !is_taxonomy_hierarchical($taxonomies[0]) ||
	'' !== $args['parent'] ) {
$args['child_of'] = 0;
$args['hierarchical'] = false;
$args['pad_counts'] = false;
}}}

But nothing in the parent section of the documentation suggests that adding a parent will change the other defaults. The consequence of the above code comes in lines 1266-7:

{{{
if ( $hide_empty && !$hierarchical )
	$where .= ' AND tt.count > 0';
}}}

which means the parent_term is not being returned because it has a count of zero, and I can't walk down the tree to get the other terms.

At the very least, set this paramenter as default in $defaults, before `$args = wp_parse_args( $args, $defaults )` (rather than in `$args` afterwards) which would at least allow us to override this behaviour through explicit `$atts`. But it would be more logical simply to remove the test for `'' !== args['parent']` altogther, inline with the existing documentation."	mark8barnes
23506	get_terms() assumes its taxonomies argument is a numeric array with a 0 key		Taxonomy	trunk	normal	normal	Awaiting Review	defect (bug)	new	has-patch	2013-02-18T23:41:42Z	2013-02-19T00:36:21Z	"In a few places in `get_terms()` we are using `$taxonomies[0]` after we've established that we have more than one taxonomy. The array isn't always 0-based, though.

For example, `get_taxonomies()` returns arrays with the taxonomy name as a key, which breaks this pattern.

In the attached patch, the taxonomies are run through `array_values()`, which gives us a 0-based array of the taxonomies."	nbachiyski
16240	hide_empty doesn't work in get_terms() when hierarchical isn't set to false	markjaquith	Taxonomy		high	major	Future Release	defect (bug)	assigned	close	2011-01-15T06:06:05Z	2012-09-13T06:34:17Z	"I end up with some 0-count categories when calling {{{get_terms( 'category', array( 'hide_empty' => true ) )}}}

I think it has to do with the child count logic."	markjaquith
12981	odd behavior of exclude_tree parameter in wp_list_categories()	tott	Taxonomy	3.0	normal	normal	Future Release	defect (bug)	assigned	dev-feedback	2010-04-12T20:10:50Z	2010-11-13T01:26:38Z	"When running a query such as 

{{{
<?php wp_list_categories('title_li=&exclude_tree=1234&orderby=name&order=ASC'); ?>
}}}

the exclude_tree parameter is not obeyed as [10276] introduced a change that would overwrite it with the exclude parameter.

"	tott
7559	strip_tags() breaks category names with left angle brackets	ryan	Taxonomy	2.6	normal	minor	Future Release	defect (bug)	reopened		2008-08-20T22:17:19Z	2010-07-01T17:44:25Z	"If you create a category named ""<something"", the category name doesn't show up on any of the category listings.  If you create a category named ""some<thing"" the category name shows up as ""some""."	squirreling
21606	term_exists returns 0 and null	barrykooij	Taxonomy	3.4.1	normal	normal	Future Release	defect (bug)	new	has-patch	2012-08-16T09:27:33Z	2012-11-06T23:26:58Z	"The function ''term_exists'' in ''wp-includes/taxonomy.php'' has two different return values, ''0'' and ''null''. The function does a few checks and returns ''0'' if the condition of the check is not met. If the checks are met, the return value will be the result of a ''$wpdb->get_row'' or ''$wpdb->get_var''. If the term is not found in the database the methods ''get_row'' and ''get_var'' will return ''null''.

Because of the different type of return values it's not possible to do a strict check on the return value to see if a term was found. I've changed the return ''0'' in ''term_exists'' to return ''null'', so that if there is no term found the result of ''term_exists'' will always be ''null''."	barrykooij
18625	term_exists() doesn't make a difference between z and ẓ		Taxonomy	3.2.1	normal	normal	Awaiting Review	defect (bug)	new		2011-09-09T12:23:25Z	2011-09-09T15:31:21Z	"I spent hours before discouvering why wp_insert_term doesn't want to create some of my categories list;

{{{
$alphabet = array ( 
	array( 's', 'sth' ),
	array( 'ṣ', 'sth' ),
	array( 'h', 'sth' ),
	array( 'ḥ', 'sth' ),
	array( 'd', 'sth' ),
	array( 'ḍ', 'sth' )
);

foreach ($categories as $category ) 
{
	if( term_exists(  mb_strtolower($category[0]), 'category' )) 
		continue;
	else
		wp_insert_term( $category[0], 'category',  array( 'slug' => $category[0] ) );
}
}}}

term_exists() doesn't make a difference between ""normal characters"" and diacritic characters.
"	abdessamad idrissi
18609	term_id collisions possible with InnoDB tables and global_terms_enabled		Taxonomy	3.2.1	normal	major	Awaiting Review	defect (bug)	new		2011-09-07T02:41:41Z	2011-10-19T01:05:47Z	"This bug relates to the ""global terms"" feature that uses the wp_sitecategories table to store all terms used across the multi-site install. This feature is enabled by setting global_terms_enabled to ""1"" in the wp_sitemeta table.

I have found that when global_terms_enabled is on, and you are using InnoDB tables, it is possible for a new term insertion in the local terms table (wp_x_terms) to fail due to an ID collision. This happens because InnoDB does not handle auto_increment in the same way as MyISAM, and the code for the global terms feature does not account for this difference.

In MyISAM, any change to a value in an auto-incremented column causes the table's AUTO_INCREMENT value (next value to be used, as seen via ""show table status"") to change. For example, if I have a MyISAM table, and I use an update statement to change the value of an auto incremented column to a value larger than the current AUTO_INCREMENT, the AUTO_INCREMENT is automatically increased as needed, so the next insertion cannot collide.

However, InnoDB does not do this. It only changes AUTO_INCREMENT on an insert. It does not change it when a column value is increased via an update statement. You can see this in the MySQL docs, or you can see it by creating a test case, like this:

- Create an InnoDB table with 2 columns: ID (auto_increment, primary key) and data.
- Insert a row using an insert statement, without specifying an ID.
- Observe that ID = 1 for that row, as expected.
- Use an update statement to set ID = 2 on that row.
- Insert another row without specifying an ID.
- Observe that the insertion fails. MySQL has attempted to insert a row with ID = 2, but there is already such a row.

If you do the same steps with a MyISAM table, the insertion does not fail, because AUTO_INCREMENT was automatically changed from 2 to 3 when your update statement was executed.

Going back into the context of the global terms feature: This problem happens when a new term is created in a site. The new term is initially inserted into the local terms table for the current site (wp_x_terms). After this, the function global_terms (in ms-functions.php) is called. This function finds or creates a matching entry in the wp_sitecategories global terms table, and uses an update statement to change the term_id of the row we just inserted in wp_x_terms. When wp_x_terms is an InnoDB table, the AUTO_INCREMENT value for the table does not change.

Suppose the AUTO_INCREMENT value was 58 after the original insertion, and further suppose that 58 was (coincidentally) the ID found in wp_sitecategories and written into our new row by the update statement described above. Now suppose we are ready to insert another new term into wp_x_terms. AUTO_INCREMENT is still 58, so we attempt to insert a term with term_id = 58, but it fails because there is already a row in the table with that ID.

Fix for this would be to reorder the operations so that no row is inserted into wp_x_terms until after wp_sitecategories has been queried and updated. That way, we know the ID we need to use when inserting into wp_x_terms before that insertion takes place, so we can specify it in the insert statement rather than depending on AUTO_INCREMENT.

I have marked this as severity major, because these unpredictable term_id collisions can cause weird errors, and the only workaround I have at this time is to disable global terms and restart MySQL (to regenerate AUTO_INCREMENT values on all tables)."	andrew_l
14343	user_can_access_admin_page not recognising taxonomies		Taxonomy	3.0	normal	normal	Future Release	defect (bug)	new	dev-feedback	2010-07-18T08:37:30Z	2010-12-07T23:29:51Z	"Hello,

I have a custom taxonomy with custom capabilities.
The ""edit_customtaxonomy"" cap is removed from all roles.

The problem is that the user is still able to click on each term (in the taxonomy page). 
When each term is clicked, the user goes to the ""Update term"" page and  he is able to click the ""Update"" submit button.

After all, he can't update and get a ""cheatin huh?"" message.

The problem is they should't have access to the update page from the first place.

 "	ClementN
24073	wp_ajax_ajax_tag_search		Taxonomy	3.5.1	normal	normal	Awaiting Review	defect (bug)	new	reporter-feedback	2013-04-13T09:59:25Z	2013-04-14T04:39:03Z	"For some of custom taxonomies the tag autocomplete doesn't work I tried to solve this issue and changing t.name to name in 

  $results = $wpdb->get_col( $wpdb->prepare( ""SELECT name FROM  ..... "");

in wp-admin/includes/ajax-actions.php -> wp_ajax_ajax_tag_search() helped me to solve this problem.

now everything looks ok for me .

"	samnajian
11003	wp_get_object_terms Returns Duplicate Terms	ryan	Taxonomy	2.9	normal	normal	Future Release	defect (bug)	new	dev-feedback	2009-10-22T11:14:20Z	2010-12-04T04:21:10Z	"wp_get_object_terms() accepts multiple objects in its first parameter.  If the multiple objects have terms in common, then wp_get_object_terms() returns those terms more than once in the returned array of term data.

Patch makes the array of terms unique."	filosofo
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
18448	wp_insert_category() is Not Properly Abstracted		Taxonomy	3.0	normal	normal	Awaiting Review	defect (bug)	new	has-patch	2011-08-16T17:43:09Z	2011-10-08T16:47:53Z	"If you look in http://core.trac.wordpress.org/browser/trunk/wp-admin/includes/taxonomy.php there is still a note that says ""The 'taxonomy' key was added in 3.0.0.""

However, this function calls category_exists() and cat_is_ancestor_of(), which never recognized the taxonomy argument."	miqrogroove
22542	wp_insert_term and wp_update_term should include taxonomy as the second parameter when invoking actions edit_terms and edited_terms		Taxonomy	2.9	normal	normal	Awaiting Review	defect (bug)	new	has-patch	2012-11-22T19:04:06Z	2012-11-22T20:03:46Z	"wp_insert_term and wp_update_term only send term id when invoking edit_terms and edited_terms. This makes it hard for plugins hooking into those to retrieve the actual term, since get_term and get_term_by require taxonomy in addition to the id.

Other actions on these functions do add the taxonomy to the parameters. For example edit_term and edited_term. So it is hard to understand why the hooks in question do not."	akibjorklund
21881	wp_list_categories show_option_all does not work for custom taxonomy		Taxonomy		normal	normal	Awaiting Review	defect (bug)	new		2012-09-13T12:46:59Z	2012-09-13T13:41:09Z	I am using wp_list_categories on a custom post type page to list the taxonomy values (categories). However if I include an All link it links by default to /blog/ and not /taxonomy/.	arkinex
11847	wp_tag_cloud counts terms attached to future posts when used with custom taxonomies	filosofo	Taxonomy	2.9.1	normal	normal	Future Release	defect (bug)	reopened		2010-01-09T20:47:18Z	2010-10-29T00:27:24Z	"If you create a custom taxonomy, then attach some terms from that taxonomy to a future scheduled post, attachments attached to a future post, or unattached attachments, they will get counted toward the totals used to draw the tag cloud produced by wp_tag_cloud.

As a result, the sizes of the items in the tag cloud will be wrong, and the tooltips will show the wrong count. In some cases, if a particular term is only attached to future posts, clicking on the link in the tag cloud will result in a 404 because the main $wp_query correctly filters out future posts and unattached attachments when looking at the term's archive.

Correct behavior would be for get_terms to provide an option to filter out future posts and unattached attachments from its results the same as is done when looking at the term's archive."	fwiffo
14501	Add $taxonomy as 2nd parameter to 'edit_tag_form_fields' hook		Taxonomy	3.0	normal	normal	Future Release	enhancement	new	has-patch	2010-08-01T19:56:58Z	2011-01-06T20:00:22Z	"Suggestion: Add $taxonomy as a 2nd parameter for the 'edit_tag_form_fields' hook in /wp-admin/edit-tag-form.php, line 67 in v3.0.1: 

Currently:
{{{
do_action('edit_tag_form_fields', $tag);
}}}

Change to:
{{{
do_action('edit_tag_form_fields', $tag, $taxonomy);
}}}

Ironically the taxonomy specific call (line 68) has the $taxonomy as a parameter:

{{{
do_action($taxonomy . '_edit_form_fields', $tag, $taxonomy);
}}}

And the ""add"" equivalents on lines 423+424 for /wp-admin/edit-tags.php have it too:

{{{
	do_action('add_tag_form_fields', $taxonomy);
do_action($taxonomy . '_add_form_fields', $taxonomy);
}}}
"	mikeschinkel
15675	"Add a ""parent"" criteria to wp_get_object_terms()"		Taxonomy	3.1	normal	normal	Future Release	enhancement	new	has-patch	2010-12-04T04:18:02Z	2011-01-15T02:08:32Z	"Currently the core function `wp_get_object_terms()` does not allow the developer to filter by the `parent` field in the `wp_term_taxonomy` table. 

I found this limitation while doing a code review on a client's code. I wanted to recommend elimination of direct SQL queries to minimize kittens crying but found that currently it's not possible to limit the results returned by the SQL query to only those taxonomy items with a given parent. 

This patch adds a `parent` option for the `$args` parameter to `wp_get_object_terms()`.  While I was in there I noticed several other things which I added to the patch:

1.) It updates the header documentation to be easier to scan and to fix some of the errors which appear have resulted in code updates without documentation updates.

2.) It adds DISTINCT for all but `'all_with_object_id'==$fields` as per @scribu's suggestion on ticket #11003.

3.) It changes the code so that only one (1) SQL query is run when `'tt_ids'==$fields` instead of running the standard query and then throwing away its results to run the query a second time. '''However, please check my logic to make sure I didn't introduce an unintentional error here.'''

4.) I added an options for `'fields'` of both `'id=>name' and `'id=>term' because I've needed both of those use-cases several times in the past.

FYI, this patch should be considered a superset of #11003."	mikeschinkel
21543	Add a show_metabox parameter to register_taxonomy		Taxonomy		normal	normal	Awaiting Review	enhancement	new	dev-feedback	2012-08-10T18:45:17Z	2012-10-09T18:44:16Z	"Currently when registering a taxonomy we have the `$show_ui` param, this effects both the admin menu and the actual taxonomy meta box on the post edit screens.

There are cases when you want it to show in one but not the other, to do that now you have to use either `remove_meta_box` or `remove_menu_page`.

It would be nice to add another parameter like `show_metabox => array(posts)` to `register_taxonomy` which would effect the meta boxes only. And one for the admin menu as well.


related: #12718
"	wycks
13949	Add a sprintf style argument to wp_list_categories() for title tag.		Taxonomy		normal	normal	Future Release	enhancement	new		2010-06-17T18:01:20Z	2010-10-28T02:10:59Z	"By default, wp_list_categories() will use the value of $term->description for the title tag of every link that it generates. If the argument ""use_desc_for_title"" is set to false, it will produce a string like: ""View all posts filed under $term->name"". With the inclusion of custom post_types into core, it would be wonderful to have more control over this title. The best solution that I can think of is to add a sprintf style argument which will allow themes and plugins to provide a custom format. Something like:

'title_format' => 'View all tacos posted under %s.'

"	mfields
20783	Add filter to wp_unique_term_slug()		Taxonomy	3.3.2	normal	normal	Awaiting Review	enhancement	new	dev-feedback	2012-05-30T02:24:04Z	2012-10-26T21:36:39Z	"I can't modify the result of wp_unique_term_slug(), but if using the following code:

{{{
function wp_unique_term_slug($slug, $term) {
	global $wpdb;

	if ( ! term_exists( $slug ) )
		return $slug;

	// If the taxonomy supports hierarchy and the term has a parent, make the slug unique
	// by incorporating parent slugs.
	if ( is_taxonomy_hierarchical($term->taxonomy) && !empty($term->parent) ) {
		$the_parent = $term->parent;
		while ( ! empty($the_parent) ) {
			$parent_term = get_term($the_parent, $term->taxonomy);
			if ( is_wp_error($parent_term) || empty($parent_term) )
				break;
			$slug .= '-' . $parent_term->slug;
			if ( ! term_exists( $slug ) )
				return $slug;

			if ( empty($parent_term->parent) )
				break;
			$the_parent = $parent_term->parent;
		}
	}

	// If we didn't get a unique slug, try appending a number to make it unique.
	if ( !empty($args['term_id']) )
		$query = $wpdb->prepare( ""SELECT slug FROM $wpdb->terms WHERE slug = %s AND term_id != %d"", $slug, $args['term_id'] );
	else
		$query = $wpdb->prepare( ""SELECT slug FROM $wpdb->terms WHERE slug = %s"", $slug );

	if ( $wpdb->get_var( $query ) ) {
		$num = 2;
		do {
			$alt_slug = $slug . ""-$num"";
			$num++;
			$slug_check = $wpdb->get_var( $wpdb->prepare( ""SELECT slug FROM $wpdb->terms WHERE slug = %s"", $alt_slug ) );
		} while ( $slug_check );
		$slug = $alt_slug;
	}

	return apply_filters('unique_term_slug', $slug);
}

}}}
"	bolo1988
18778	Add filters to transform_query() to allow caching of queries created by this function.		Taxonomy		normal	normal	Awaiting Review	enhancement	new	dev-feedback	2011-09-26T12:02:08Z	2011-10-05T09:20:40Z	[https://core.trac.wordpress.org/browser/trunk/wp-includes/taxonomy.php#L749 transform_query()] works great on regular datasets, but if you run this on a large set of data it can get very expensive. adding some filters in here that could allow these queries to be cached would be benefitial.	tott
23261	Add include to orderby options for get_terms()		Taxonomy		normal	normal	Awaiting Review	enhancement	new	has-patch	2013-01-22T05:10:43Z	2013-01-22T05:10:43Z	"In light of WordPress 3.5 allowing WP_Query to orderby `post__in` (#21776, #13729), it would be awesome to have the same functionality for `get_terms()` and the `include` argument. 

Likewise (#13729), term queries can specify the posts to retrieve by passing an array of term IDs to the `include` parameter. There is no built in method for sorting those posts by the order specified. "	wpsmith
23422	Add query filter argument to register_taxonomy		Taxonomy		normal	normal	Awaiting Review	enhancement	new		2013-02-08T12:38:35Z	2013-02-08T12:50:58Z	"Following on from the #21240 ticket which introduced the show_admin_column functionality I would like to suggest an additional argument to easily add the select list query filter for a taxonomy to the post-type list.

Currently a taxonomy query can be added via the 'restrict_manage_posts' action and 'parse_query' filter. 

It would be useful to add an additional register_taxonomy argument of 'show_column_filter' to define a standard select option list of the taxonomy terms. Things like default option and hierarchy could be optional settings is an array is passed instead of boolean.
	"	tifosi
23421	Add sortable to taxonomy column		Taxonomy		normal	normal	Awaiting Review	enhancement	new		2013-02-08T12:34:20Z	2013-02-09T10:57:33Z	"Following on from the #21240 ticket which introduced the show_admin_column functionality one limitation is the 'as easy' way to make that column sortable.

It's possible to do it through the 'manage_edit-{$post_type}_sortable_columns' filter but the column_key is different for 3.5+. A standardisation as for adding the column may be advantageous: a register_taxonomy argument and / or new filter.

argument: show_column_sortable, boolean default false, requires show_admin_column to be set and true.	

In the same way that the get_columns function uses the new ""manage_taxonomies_for_{$post_type}_columns"", filter to add a taxonomy column there could be a ""manage_taxonomies_for_{$post_type}_sortable_columns"" filter in the get_sortable_columns function of the post-list class:

i.e.
{{{
function get_sortable_columns() {
	$default = array(
		'title'    => 'title',
		'parent'   => 'parent',
		'comments' => 'comment_count',
		'date'     => array( 'date', true )
	);

	return apply_filters( ""manage_taxonomies_for_{$post_type}_sortable_columns"", $default );
}
}}}
The developer could then set the filter as normal
{{{
add_filter( ""manage_taxonomies_for_{$post_type}_columns"", 'add_sortable_column' );

function add_sortable_column ( $columns ) {
	$columns[ taxonomy-tax_name ] = 'Taxonomy Label';
	return $columns;
}
}}}"	tifosi
18754	Add taxonomy argument to get_terms_orderby filter		Taxonomy	3.3	normal	normal	Awaiting Review	enhancement	new	has-patch	2011-09-23T12:04:05Z	2011-09-23T12:04:46Z	"The `get_terms_orderby` filter in `get_terms()` doesn't get passed the taxonomies parameter.

If a plugin wants to use the taxonomies parameter when filtering the terms order, it must also filter `get_terms_args` and add the taxonomies argument to the $args array, so it can subsequently use it in the `get_terms_orderby` filter."	johnbillion
6122	Add taxonomy_id_filter like term_id_filter	ryan	Taxonomy		normal	normal	Future Release	enhancement	new	needs-review	2008-03-07T10:57:11Z	2009-11-23T18:53:28Z	"Currently the $term_id is filtered in [source:trunk/wp-includes/taxonomy.php taxonomy.php] but not the taxonomy_id (tt_id). These filters are used in WordPress Multi-User.

Currently WPMU globalises the wp_terms table. I am extending this to the wp_taxonomy table also, for which I need these two new filters."	chmac
21651	Add term_taxonomy_id to available fields in get_term_by		Taxonomy	3.4.1	normal	minor	Awaiting Review	enhancement	new	dev-feedback	2012-08-21T14:07:33Z	2012-08-21T14:11:01Z	In my experience {{{term_taxonomy_id}}} has proven to be exponentially useful in a number of ways, specifically in prevention of same-id collisions of terms used in multiple taxonomies. I'd love to be able to grab a term object by passing along its {{{term_taxonomy_id}}} to {{{get_term_by()}}}. A recent change was made to {{{WP_Query}}} that provides this functionality, so I'm hoping this makes the cut as well.	jchristopher
11058	Add unregister_taxonomy()		Taxonomy		normal	normal	Future Release	enhancement	assigned	has-patch	2009-11-01T10:39:26Z	2013-01-11T04:11:16Z	There should be a function that unregisters a certain taxonomy after it has been registered.	scribu
19094	Add wp_get_object_terms filters.		Taxonomy	3.2.1	normal	normal	Future Release	enhancement	new	dev-feedback	2011-10-31T00:57:35Z	2012-06-04T12:12:20Z	"I wasted whole day looking for some filter I could use for changing the select query of wp_get_object_terms.

Please add filter like terms_clauses but for wp_get_object_terms (or use the same filter), because terms_clauses is NOT called when there are terms selected for the object. For example. When you select categories for post."	Zatsugami
22875	Additional custom taxonomy object types		Taxonomy	3.5	normal	major	Awaiting Review	enhancement	new		2012-12-12T09:59:37Z	2012-12-12T19:53:43Z	"At the moment, a taxonomy can be registered for one of the following objects (ref http://codex.wordpress.org/Function_Reference/register_taxonomy ):
- post
- page
- attachment
- revision
- nav_menu_item
- a particular cpt

Taxonomies would become much more powerful and flexible, if:
- They accept additional objects, e.g. users, taxonomies
- They accept multiple objects, e.g. a single custom taxonomy could group together posts, pages and attachments"	sooskriszta
14691	Allow commas in tag names		Taxonomy	3.0.1	normal	normal	Future Release	enhancement	new	needs-unit-tests	2010-08-25T09:51:09Z	2012-06-07T03:56:55Z	"Adding tags to posts via the web interface involves a lot of what boils down to
{{{
explode( ',', join( ',', array( $tag_name, ... ) ) );
}}}
both in PHP and JS.

We settled on commas so we could have tags with spaces in them (see #10320, for example).

It'd be nice if tags (and other taxonomies) could have commas in them, though.  Example use case: normalized locations (""Portland, OR"").  Admittedly, commas in tag names is an edge case.

The attached treats tag inputs as ""real"" CSV strings instead of just exploding by commas.

That way, you can enter:
{{{
hello, ""hello, world""
}}}
in the tags input field and the following tags would be added to the post.
 * hello
 * hello, world

This addresses commas in tag names but makes entering double quotes in tag names more annoying.  If you wanted a tag named {{{double""quote}}}, you'd have to enter the following.
{{{
""double""""quote""
}}}

This may also help with #7897."	mdawaffe
23636	Allow multiple slugs in get_terms		Taxonomy	3.5	normal	normal	Awaiting Review	enhancement	new	has-patch	2013-02-27T00:22:26Z	2013-04-01T09:37:17Z	Just as the title says, sometimes I need to retrieve multiple term IDs from slugs. Rather than calling get_term_by over and over, it'd be better to be able to specify an array of slugs for get_terms.	jfarthing84
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
23966	Allow to use order_by in addition to orderby		Taxonomy	3.5	normal	minor	Awaiting Review	enhancement	new	close	2013-04-06T19:36:45Z	2013-04-09T18:44:56Z	"http://codex.wordpress.org/Function_Reference/get_categories

The above link and the same for wp_list_categories suggests that you can order categories by count. In practice it seems to ignore the parameter. It doesn't seem to work with a few other parameters either -- the only things that seem to work are ID, name, and slug, but these might merely be incidental to the fact that I created my test categories in alphabetical order."	Denis-de-Bernardy
18166	Be able to amend the parent dropdown on the edit taxonomy term page		Taxonomy	3.2.1	normal	normal	Awaiting Review	enhancement	new	has-patch	2011-07-18T22:15:56Z	2012-01-02T22:23:23Z	"It would be useful to filter the parent dropdown on the edit taxonomy term page (/wp-admin/edit-tags.php?taxonomy=foo&post_type=bar).

See attached patch (The filter probably needs a better name, but you get the point)."	leewillis77
22296	Better internationalization support for tags		Taxonomy	3.4.2	normal	minor	Awaiting Review	enhancement	new		2012-10-27T11:25:41Z	2012-10-28T13:52:01Z	"When playing around with tags I've found a couple of things that doesn't work as expected when dealing with names that have non-english characters. 

The two problems I've found are that single non a-z chars doesn't seem to work at all, and when two tags are the same except for one character which is non a-z, they seem to collide. One example of this is that you're unable to use the tags ""for"" and ""för"" together. 

I'm not sure if this is something that WordPress is supposed to support but I've got a use case for it and would like to raise the question. 

Here's some tests which shows the problem: https://gist.github.com/3964335

Oddly enough you seem to be able to add the single non a-z tags from the dedicated tags page, but you're still unable to use them in any post. "	exz
16621	Check term cache in _transform_terms()		Taxonomy	3.1	normal	normal	Awaiting Review	enhancement	new		2011-02-23T19:21:49Z	2011-02-24T00:17:06Z	"WP3.1's awesome new taxonomy query stuff rocks, but WP_Tax_Query->_transform_terms() seems to be executing multiple identical queries on each page load. The front page of one of my sites gives me five of the following query:

{{{
SELECT wp_1_term_taxonomy.term_taxonomy_id
FROM wp_1_term_taxonomy
INNER JOIN wp_1_terms USING (term_id)
WHERE taxonomy = 'channel'
AND wp_1_terms.slug IN ('tech')
}}}

I understand the function can do a lot more than map a single term+taxonomy to a term_taxonomy_id, but it also looks like there'd be some performance benefit from checking the term cache rather than the DB in those situations.

Or, perhaps it'd be enough to simply cache the result for the duration of the page load.

Or, maybe I'm focusing on the wrong problem, as the query takes just 1-2ms to execute."	misterbisson
21734	Completely remove global terms		Taxonomy		normal	normal	Future Release	enhancement	new	has-patch	2012-08-29T21:38:55Z	2013-01-03T01:21:56Z	"It's an obscure WPMU feature that 1) hasn't been maintained 2) hardly anyone uses and 3) slows down development on the regular taxonomy code:

#5809 #18609 #18617

There isn't much code to remove, but the idea is to not have to worry about ""global terms"" anymore at all."	scribu
14449	Create add_permastruct() filters for register_taxonomy() and register_post_type()		Taxonomy	3.0	normal	normal	Future Release	enhancement	new		2010-07-28T23:31:18Z	2010-11-18T10:03:50Z	"When registering taxonomies { using register_taxonomy() }, it would be good to have a filter that controls the $struct argument for add_permastruct().

That way you can modify the rewrite rules without having to hack $wp_filters->rules

This patch creates the filter ""register_taxonomy_permastruct""

Note: the same could be applied to register_post_type()


"	wjm
14020	Custom Taxonomy Form does not Show in Add/Edit Link page for Links		Taxonomy	3.0	normal	normal	Future Release	enhancement	new		2010-06-21T05:32:06Z	2010-07-01T17:42:37Z	"When a custom taxonomy is registered for Links, the Taxonomy form is not displayed in the Add or Edit Link page.  When changing the 'object' type to 'post' in the register_taxonomy code, it does display properly in the add/edit post page.

Here is the code that was used to register the taxonomy:


{{{
register_taxonomy( 'linkonomy', 'link', array('hierarchical' => false, 'label' => __('Link Tags'), 'query_var' => false, 'rewrite' => false) ) ;
}}}
"	bennebw
14206	Custom taxonomy meta box callback	garyc40	Taxonomy	3.0	normal	trivial	Future Release	enhancement	reviewing	has-patch	2010-07-06T02:39:02Z	2013-01-30T12:38:10Z	"I'd like to be able to specify my own meta box function for my custom taxonomies.

Currently if I want to specify my own meta box for my custom taxonomy, I must set the `public` parameter to false and then add my own meta box using `add_meta_box()`. It would be nice to just do this with a callback function parameter in `register_taxonomy()`.

Example:

{{{
register_taxonomy( 'foo', 'bar', array(
    'meta_box_callback' => 'my_meta_box'
) );
}}}

I'll write up a patch if there's a chance of it going in."	johnbillion
9378	Deprecate manage_category cap in favor of its object type's cap		Taxonomy	2.7.1	normal	normal	Future Release	enhancement	new		2009-03-23T10:51:17Z	2010-07-01T17:37:35Z	"I encountered a problem in WordPress 2.7.1 {{{ $wp_roles->remove_cap('editor', 'manage_links'); }}} doesn't remove that capability for the Editor role entirely, but it still displays the page ""link categories"", and you can perform actions on that page. This is because that page needs ""manage_categories"" instead of ""manage_links"".

I would propose to either require the manage_links capability for this page, or introduce a new capability (something as manage_link_categories for example)."	mastermind
21950	Don't create shared terms		Taxonomy		normal	normal	Awaiting Review	enhancement	new		2012-09-20T22:52:48Z	2013-01-15T17:04:02Z	"Step 1: Split shared terms: #5809

Step 2: Don't create new shared terms: this ticket.

Step 3: Profit."	scribu
21862	Don't display show_option_none in wp_dropdown_categories when categories exist		Taxonomy		normal	normal	Awaiting Review	enhancement	new		2012-09-10T15:14:04Z	2012-09-10T15:16:48Z	"I can't find an application of having an extra entry for '''show_option_none''' select option if we have category listing. Is there any reason to keep it there, like for external filters? If so, that still conflicts with the second example below.

First off, it is invalid since there are some categories available. Second, having both '''show_option_none''' and '''show_option_all''' displays both entries.

Related to #21856 trying to list only visible terms."	nofearinc
11823	Improve SQL query used by get_terms()	filosofo	Taxonomy	3.0	normal	normal	Future Release	enhancement	new	has-patch	2010-01-08T13:07:19Z	2010-07-03T12:37:46Z	"#11076 / [12658] changes `get_terms()` so it uses SQL query with multiple conditions in WHERE clause - one for each included / excluded term. It will be better to change generated SQL from:
{{{
AND (t.term_id = 1 OR t.term_id = 2 OR ...)
AND (t.term_id <> 1 AND t.term_id <> 2 AND ...)
}}}
to:
{{{
AND t.term_id IN (1, 2, ...)
AND t.term_id NOT IN (1, 2, ...)
}}}"	sirzooro
18081	Improve performance of taxonomy queries, avoid temporary tables		Taxonomy	3.2	normal	normal	Future Release	enhancement	new		2011-07-12T10:36:22Z	2011-09-15T08:48:27Z	"In various taxonomy queries ""IN ( value )"" is used even if there is only one value to check against. This is in some cases causing there creation of temporary db tables and bad performing queries. 

The attached patch will ensure that only when there are more than one values to be added a ""IN"" statement is used. Otherwise a "" = value"" statement is performed.
"	tott
14162	Introduce WP_Term class		Taxonomy		normal	normal	Future Release	enhancement	new		2010-06-30T23:58:57Z	2013-04-09T17:54:42Z	"In the current taxonomy API, you end up having to pass the taxonomy name over and over again.

I propose we have a WP_Term class to avoid that.

=== Example ===

Current:

{{{get_term_link( get_term_by( 'name', 'Term Name', 'taxname' ), 'taxname' )}}}

Proposed:

{{{get_term_by( 'name', 'Term Name', 'taxname' )->get_link()}}}

get_term_by() would return a WP_Term instance instead of a stdClass instance.

Besides get_link(), the WP_Term class could also have an update() method that would replace (or complement) wp_update_term().

Inspired by #14156."	scribu
18050	Label Most used taxonomies is impossible to customize on a new taxonomy		Taxonomy	3.2	normal	normal	Awaiting Review	enhancement	new		2011-07-09T13:37:01Z	2011-09-13T03:01:09Z	"The label in wp-admin/includes/meta-boxes.php doesn't allow to translate it in different languages when you create a new taxonomy. The attached patch resolve it adding the new label 'most_used'

"	SGr33n
19780	Named category functions/docs need cleaning up		Taxonomy		normal	normal	Awaiting Review	enhancement	new	has-patch	2012-01-08T22:22:20Z	2012-12-12T16:54:09Z	"Spawning from a small discussion in #19776, I think it's about time something is done to deal with the older named category functions such as `wp_category_dropdown` and `wp_list_categories` in category-template.php

These functions aren't technically category-only as they accept a set $taxonomy. And because they are actually taxonomy-agnostic, I think we have a few different routes we can take to clean up after ourselves a bit:

A) Lock down these functions to 'categories'-only in favor of new, taxonomy-agnostic ones.

B) Leave the functions alone but let the inline-docs and hard-coded strings such as 'No Categories' reflect their versatility. e.g. 'No Terms' vs 'No Categories'.

C) Deprecate these older functions in deference to newer, taxonomy-agnostic ones."	DrewAPicture
17848	"Not possible to add a file field to the ""add term"" form"		Taxonomy		normal	normal	Awaiting Review	enhancement	new	dev-feedback	2011-06-19T23:35:22Z	2011-09-19T13:51:45Z	"The ""add term"" form now uses ajax. The downside is that it is not anymore possible to add an additional file field using a plug-in as it won't be sent over ajax.

The easy way to fix this is to use the already included jquery.form script for that form. That plugin will make the form submit into a hidden iframe if a file field is found inside the form."	DreadLox
14156	Option to use name, in additon to slug and id in get_term_link() function		Taxonomy	3.0	low	normal	Future Release	enhancement	new	has-patch	2010-06-30T14:35:54Z	2010-11-24T20:16:15Z	"Right now the get_term_link() function (in wp-includes/taxonomy.php) can be used only with either term id or term slug.

It would be useful to provide an option to add name in addition to term id and slug. 

This function inturn uses get_term_by() function and it has the option to provide term name, but the get_term_link() function doesn't have a way to do this."	sudar
15846	Posts list associated to a term_taxonomy_id		Taxonomy	3.1	normal	normal	Future Release	enhancement	reopened	needs-docs	2010-12-16T15:38:55Z	2011-01-10T15:32:32Z	"It could be very useful to have in the core a function that retrieve the list of all the posts associated to a term id. I have written the follow one:

function posts_of_a_term_id($term_id, $limit){
	global $wpdb;
	
	$query = ""SELECT object_id FROM $wpdb->term_relationships WHERE term_taxonomy_id = $term_id ORDER BY object_id DESC LIMIT $limit"";
	$results = $wpdb->get_results($query);
						
	foreach($results as $result):
						
		$id = $result->object_id;
		query_posts('p='.$id.'');
		if ( have_posts() ) : 
			while ( have_posts() ) : the_post(); ?>
				<li><a href=""<?php the_permalink(); ?>""><?php the_title(); ?></a></li>
			<?php endwhile;
		endif;
		wp_reset_query();
							
	endforeach;
}"	_DorsVenabili
22023	Remove UNIQUE for slug in wp_terms		Taxonomy	2.3	normal	normal	Future Release	enhancement	new		2012-09-27T20:23:10Z	2013-05-14T13:38:13Z	"To set us up for future changes to the taxonomy API, we should remove the UNIQUE key for 'slug' for wp_terms. Said future changes include:

 * Splitting shared terms on update (#5809)
 * Stop creating shared terms (#21950)
 * Forcibly split remaining shared terms
 * Merge wp_terms and wp_term_taxonomy (I can dream, right?)

The term_exists() check should prevent duplicate terms from ever being inserted (before, of course, we fix #5809 and #21950). But, this needs unit tests, particularly because there is a case where term_exists() breaks. See #17689, which blocks this ticket."	nacin
12929	Reserved names for taxonomies		Taxonomy		normal	normal	Future Release	enhancement	assigned		2010-04-08T20:30:17Z	2013-01-16T17:42:20Z	To prevent issues like #12917, register_taxonomy() should check a list of reserved names, before registering the taxonomy.	scribu
16022	Search does not look for tags		Taxonomy	3.0	normal	normal	Future Release	enhancement	reopened	has-patch	2010-12-29T15:28:51Z	2011-03-23T17:07:08Z	"While 3.1 Beta Testing I ran over this:

Ajax search is to search the (paginated) table. The table has tags in it's display. Search is not looking for those.

----


'''How to reproduce?'''

 1. Edit a Post.
 2. Add a new Tag that doesn't exist so far. 
 3. Update the Post.
 4. Go to Posts.
 5. Search for the just created Tag.
 6. You get an empty search result.

----

See #14579 and #15580
"	hakre
13661	Support id=>name in fields arg of get_terms()		Taxonomy	3.0	normal	normal	Future Release	enhancement	new	has-patch	2010-05-31T18:46:52Z	2010-10-27T12:30:23Z	"In trying to use `get_terms()` I found it didn't support what seemed a common use case; an array where keys were `$term->term_id` and the values where `$term->name`. 

This patch adds functionailty for a ""`id=>name`"" in `fields` arg of `get_terms()`. It returns array of term names keyed by the term id.

This path is similar to changeset:12729 by ryan on 2010-Jan-15.

I searched for a similar ticket but didn't find anything recently related.
"	mikeschinkel
11576	The future of the 'uncategorized' category		Taxonomy	2.9	normal	normal	Future Release	enhancement	assigned		2009-12-23T14:32:42Z	2011-04-15T08:44:01Z	"Is there any plan for removing the 'Uncategorized' category, or at least removing its requirement?  Some users want the ability to only show the_category() when the post is part of a real category. Also, with the introduction of custom taxonomies in 2.9, not all hierarchical taxonomies will have a default term, so this flexibility needs to be introduced anyway.  

I'm curious why the default category was introduced in the first place?  Was it solely for permalink handling?

If attachment:ticket:10122:hierarchical_metaboxes-2.patch is accepted (specifically handling hierarchical taxonomies as int) the following just needs to be added above the checkbox list to allow deselecting of all terms from the taxonomy:

{{{
<input type=""hidden"" name=""tax_input[<?php echo $taxonomy?>]"" value="""" /> 
}}}
"	prettyboymp
23635	get_objects_in_term - identify matching terms		Taxonomy	3.5.1	normal	minor	Awaiting Review	enhancement	new		2013-02-26T21:29:54Z	2013-02-26T21:29:54Z	"`get_objects_in_term` is great for viewing taxonomy relationships for non-posts. However the return value is too limited for certain use cases. For When fetching object_ids for multiple terms the return value doesn't inform as to the matching term.

For instance this query:

{{{
#!php
$object_ids = get_objects_in_term(array(55, 66, 77, 88, 99), ""my_custom_taxonomy""); 
}}}

Might return an array of object_ids as follows:

{{{
#!php
array(101, 202, 303, 404); 
}}}

However there's no way to tell '''which''' term a particular object_id matched. Did object 101 match term 77? Or maybe it was term 99? Or both?

I've created a modified version of `get_objects_in_term` which will addresses this issue. I'll submit a patch, but am wondering if there's another way to achieve this functionality.  "	leepowers
21760	get_term_by() calls are not cached		Taxonomy	2.3	normal	normal	Future Release	enhancement	new	needs-unit-tests	2012-08-31T21:26:22Z	2013-05-03T16:00:39Z	{{{get_term()}}} is the simplest way to retrieve one term, but it requires {{{term_id}}} and {{{taxonomy}}}. Because of this, terms are cached with {{{term_id}}} as key and {{{$taxonomy}}} as bucket. As a result, you can't easily grab a term by slug, unless you use {{{get_term_by( 'slug' )}}}. {{{get_term_by( 'slug' )}}} and {{{get_term_by( 'name' )}}} don't even have a query cache, so they go to the database every time. Because you can't get a term by {{{slug}}} without hitting the db, every place you want to get a term by {{{slug}}}: you first have to transform it into a {{{term_id}}} where it will then be cached. This is inefficient because the user may query by {{{slug}}} constantly and never by {{{term_id}}}.	wonderboymusic
15626	get_terms bug: pad_counts doesn't work if you specify parent		Taxonomy	2.8	normal	normal	Future Release	enhancement	new	dev-feedback	2010-12-01T13:40:42Z	2012-12-21T21:21:56Z	"I'm not sure if this is related to #13176 or not.

Anyway, to explain the bug with an example: 

Let's say you want to retrieve, via get_terms, a list of the top level categories only (by setting parent=0), but that you want the counts to include any posts assigned to subcategories too (pad_counts=1).

$categories=get_terms('category', 'pad_counts=1&parent=0');

This doesn't work: as soon as you specify parent=, it stops including the subcategory count within the parent categories. A bug, surely?

I've traced the cause to line 842 of taxonomy.php, where it checks 
if ('' !== $args['parent'])
and if so, sets pad_counts back to 0.

Why is that check needed at all?"	yeswework
8214	get_terms should support term descriptions		Taxonomy		normal	normal	Future Release	enhancement	new	dev-feedback	2008-11-14T18:57:40Z	2011-05-14T22:32:11Z	"Right now you can't use `get_terms` to get terms based on description.  I think it should treat description just like name, so I added a `description__like` argument that works just like the `name__like` argument.  In my case, I wanted only terms that had a description, so I called it like this:
{{{
$args = array('description__like' => '_');
get_terms('post_tag', $args);
}}}"	AaronCampbell
13992	get_terms() has 'search' and 'name__like'		Taxonomy	3.0	normal	normal	Future Release	enhancement	new	has-patch	2010-06-19T08:45:55Z	2010-11-13T10:06:04Z	"Both do similar things:

{{{
	if ( !empty($name__like) )
		$where .= "" AND t.name LIKE '{$name__like}%'"";
...

	if ( !empty($search) ) {
		$search = like_escape($search);
		$where .= "" AND (t.name LIKE '%$search%')"";
	}
}}}

name__like should be removed in favour of search IMO, unless that functionality is intended, and in that case, name__like should get like_escape() applied"	dd32
14448	"get_terms(): Add ""slugs"" option for $fields"		Taxonomy	3.0	normal	normal	Future Release	enhancement	new	has-patch	2010-07-28T23:21:47Z	2011-11-29T19:59:58Z	"This patch allows get_terms to return an array of term slugs (same as for ""names"" but with slugs).

Usage:

{{{
print_r( get_terms( 'event', array( 'fields'=>'slugs', 'hide_empty'=>0, ) ) );
}}}

will return

{{{
Array
(
    [0] => concerts
    [1] => talks
    [2] => training
    [3] => workshops
)
}}}

"	wjm
17320	has_post_format() should accept an array		Taxonomy	3.2	normal	normal	Awaiting Review	enhancement	new	dev-feedback	2011-05-04T13:06:32Z	2012-12-16T18:13:14Z	"{{{has_category()}}}, {{{has_tag()}}}, and {{{has_term()}}} accept an array as the first argument and return {{{true}}} if the post has any of the given terms. {{{has_post_format()}}} also uses {{{has_term()}}} in the background, but it calls {{{sanitize_key()}}} and adds {{{'post-format-'}}} to the passed format, which will fail when you pass an array.

For consistency, it would be better if {{{has_post_format()}}} would also accept an array."	janfabry
17069	missing get_term_parents() function		Taxonomy	3.1	normal	normal	Future Release	enhancement	reopened	has-patch	2011-04-06T23:58:19Z	2011-09-21T14:42:39Z	"we got get_category_parents (http://core.trac.wordpress.org/browser/tags/3.1/wp-includes/category-template.php#L30)
which use $parent = &get_category( $id ); limited to 'category' taxonomy, but there is nothing similar to other taxonomies. IMO we should rewrite this function to be generic and use it as get_term_parents function, the existing get_category_parents would use that get_term_parents, so something like (sorry, i do not know how to use diff) this:


{{{
42	function get_term_parents( $id, $taxonomy, $link = false, $separator = '/', $nicename = false, $visited = array() ) {
43	        $chain = '';
44	        $parent = &get_term( $id, $taxonomy );
45	        if ( is_wp_error( $parent ) )
46	                return $parent;
47	
48	        if ( $nicename )
49	                $name = $parent->slug;
50	        else
51	                $name = $parent->name;
52	
53	        if ( $parent->parent && ( $parent->parent != $parent->term_id ) && !in_array( $parent->parent, $visited ) ) {
54	                $visited[] = $parent->parent;
55	                $chain .= get_term_parents( $parent->parent, $link, $separator, $nicename, $visited );
56	        }
57	
58	        if ( $link )
59	                $chain .= '<a href=""' . get_term_link( $parent->term_id ) . '"" title=""' . esc_attr( sprintf( __( ""View all posts in %s"" ), $parent->name ) ) . '"">'.$name.'</a>' . $separator;
60	        else
61	                $chain .= $name.$separator;
62	        return $chain;
63	}
}}}
and
{{{
function get_category_parents( $id, $link = false, $separator = '/', $nicename = false, $visited = array() ) {
   return get_term_parents ($id,'category',$separator,$nicename,$visited);
}
}}}














"	thomask
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
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
7859	weighted category cloud and tag cloud instead of lists to choose categories and tags in the backend		Taxonomy		normal	minor	Future Release	enhancement	new		2008-10-09T19:06:12Z	2009-06-13T02:29:49Z	"Hi,

choosing categories is still annoying if you have a couple of them. Scrolling and checking is needed. Tags are simpler to work with, but I think it would be extremely handy to use a category cloud / tag cloud to choose the categories/tags for a post/page. The category/tag cloud could be displayed in the metabox or, preferably, for space reasons, in a thickbox.

I used milestone 2.7 as there is so much admin work going on anyway and I'm not sure if the feature list is already definitive for the release."	youngmicroserf
23378	wp_(insert|update)_term() should accept term slug as 'parent' argument		Taxonomy		normal	normal	Awaiting Review	enhancement	new	has-patch	2013-02-04T02:54:38Z	2013-02-10T06:56:17Z	For those programmatically using `wp_insert_term()` and `wp_update_term()`, it would be great if the 'parent' argument could be a term_id or term slug.	danielbachhuber
16677	wp_dropdown_categories() shows the wrong name/id when $taxonomy argument is set		Taxonomy	3.1	normal	normal	Future Release	enhancement	reopened	has-patch	2011-02-26T12:52:29Z	2011-02-26T15:05:04Z	"when using '''wp_dropdown_categories()''' the code result is:

{{{
<select name='cat' id='cat' class='postform' >
<option class=""level-0"" value=""1"">item 1</option>
<option class=""level-0"" value=""2"">item 2</option>
<option class=""level-0"" value=""3"">item 3</option>
</select>
}}}

The '''name='cat' id='cat''''.

----

When using '''wp_dropdown_categories( array( 'taxonomy' => 'channel'  )  )''' the code result is:

{{{
<select name='cat' id='cat' class='postform' >
<option class=""level-0"" value=""1"">term item 1</option>
<option class=""level-0"" value=""2"">term item 2</option>
<option class=""level-0"" value=""3"">term item 3</option>
</select>
}}}

The '''name''' and the '''id''' did not changed to '''channel'''.
"	ramiy
13258	wp_dropdown_categories() uses $term->id instead of $term->name for taxonomies that are not categories		Taxonomy	3.0	normal	normal	Future Release	enhancement	new	dev-feedback	2010-05-05T05:41:43Z	2013-05-09T11:18:57Z	"I was excited to discover that wp_dropdown_categories() had been extended to support custom taxonomies but when I tried to implement it, the navigation failed because it always uses the $term->ID in the value attribute of the option tag for each term.

{{{
<option class=""level-0"" value=""13"">A Category</option>
}}}

This makes sense because WordPress category requests uses the term id: /?cat=13

But in the case of tags, we get this code:

{{{
<option class=""level-0"" value=""3"">My Tag</option>
}}}

which pulls a 404 when you request: /?tag=3"	mfields
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
16550	wp_set_post_categories should take an integer		Taxonomy	3.0	normal	normal	Future Release	enhancement	new	has-patch	2011-02-13T11:47:44Z	2011-02-20T17:14:58Z	"{{{wp_set_post_categories();}}} can only be passed an array of cat ids. If you pass it an integer, it resets the value to the default category even though the category exists.

This happens as the if statement runs an OR check to see if the second parameter is not an array or empty. If one is true, it just goes on ahead and resets the parameter to be the default category regardless if the value was empty or a string.

Patch fixes this by strict typing the second parameter to an array. It also strict types the default category id as it was being returned as a string."	ptahdunbar
14877	Ability to create exclusive custom taxonomies	nacin	Taxonomy		normal	minor	Future Release	feature request	reviewing	dev-feedback	2010-09-15T14:08:25Z	2013-05-21T14:20:30Z	"Custom taxonomies should have the option of toggling exclusivity, meaning the user should only be able to select one term at a time.

Currently, developers wishing to implement an exclusive custom taxonomy (and thus would prefer radio buttons rather than check boxes on the add/edit post pages) must remove the existing taxonomy meta box completely and build their own, simply to change the input type. This not only duplicates code and development effort, but has the potential to create security vulnerabilities when plugin developers stray from best practices, for example, when recreating the AJAX add term functionality.

Exclusive taxonomies are not uncommon in every day life and are even more common when one thinks about typical custom post type implementations (e.g., students->school year, employee->department, car->color, ice cream->flavor).

While the best implementation is uncertain, I propose the function register_taxonomy accept an optional 'exclusive' argument (similar to 'hierarchical') that would change the check boxes within the taxonomy meta box to radio buttons and would handle the POST accordingly."	benbalter
14717	Add option to wp_list_categories (and underlying get_terms or whatever) to restrict by post_type.		Taxonomy	3.0.1	normal	normal	Future Release	feature request	new		2010-08-27T22:16:56Z	2010-10-28T10:27:53Z	This is so that when someone uses wp_list_categories they can stop categories from showing up that only have elements from custom post types, and thereby creates links to a category archive that contains no posts because everything in the category has a post_type other than post.	Finster
20735	Adding tags to form element of categories.		Taxonomy	3.3.2	normal	normal	Awaiting Review	feature request	new		2012-05-23T13:15:59Z	2012-05-23T13:15:59Z	"Just like the post form in posts you can use the hook of ""post_edit_form_tag"" to add new tags to the form element of creating or editing new post.

but there is no hook for categories form to do that I think adding new element will be helpful feature.

Note: after some debugging I found that the hook can be add in:

#File: your wordpress directory/wp-admin/edit-tag-form.php

#Line: 33

# Find : <form name=""edittag"" id=""edittag"" method=""post"" action=""edit-tags.php"" class=""validate"">

# Relpace: <form name=""edittag"" id=""edittag"" method=""post"" action=""edit-tags.php"" class=""validate""<?php do_action('categoery_edit_form_tag'); ?>>

Thanks"	m.ibrahim
16718	Deprecate in_category in favor of has_category		Taxonomy		normal	normal	Awaiting Review	feature request	new	dev-feedback	2011-03-01T17:22:14Z	2011-04-14T02:32:57Z	"#12526 introduced has_category. There was some patches there which did and did not deprecate in_category.

End result is that they're now both in category-template.php, doing the exact same thing (serving as a wrapper to has_term).

I think we need some naming consistency here. Deprecate one or the other of them in 3.2, perhaps.
"	Otto42
5034	Impossible to have duplicate category slugs with different parents	ryan	Taxonomy	2.3	high	normal	Future Release	feature request	new	dev-feedback	2007-09-21T19:29:20Z	2013-02-05T04:23:01Z	"I'm using Wordpress as a CMS tool where categories are used as macro level grouping.

Windows XP -> Utilities
Windows Vista -> Utilities

This is no longer possible with WP 2.3, which ignores parent category when testing whether a slug is unique."	snakefoot
24305	Link of  Posts count column in Term List Table (single taxonomy for more custom post types)		Taxonomy	3.5.1	normal	normal	Awaiting Review	feature request	new		2013-05-10T15:58:09Z	2013-05-10T17:10:31Z	"Recently the link of the Posts column in the Term List Table is a number which contains the number of the posts of a certain category, and links to the Posts List Table (edit page).

When the taxonomy is attached to more than one custom post types, the Posts List Table cannot work. I would like to ask for a (core) list table based on taxonomy instead of post type."	namarpi
14901	"Make ""Uncategorized"" transparent"		Taxonomy		normal	trivial	Future Release	feature request	new		2010-09-19T23:22:39Z	2011-09-28T21:16:33Z	"When posts are created, they are placed into the Uncategorized category by default if no other category is specified.  This causes problems when re-categorizing later on because you have to both add the new category and remove the ""uncategorized"" category at the same time.

""Uncategorized"" should be automatically removed when marking categories on a post.  

""Uncategorized"" should not appear in the list of categories on the ""Categories"" page but in a separate section below reading ""You currently have XX uncategorized posts.""

Listing Uncategorized in the categories table presents the illusion that it is a separate category by itself that can be modified and removed - it can't, so it shouldn't be listed there."	ericmann
7740	Merge Tags		Taxonomy	2.7	normal	normal	Future Release	feature request	new	dev-feedback	2008-09-14T16:56:07Z	2011-10-18T23:46:10Z	"As mentioned in [http://wordpress.org/support/topic/163558 a support thread], tags can get cluttered over time with many different tags meaning basically the same thing. To clean up tagging the ability to merge tags would be a life saver.

The functionality I had in mind was being able to select two or more tags in edit-tags.php and select 'Merge' from the 'Actions' dropdown. When you click 'Apply' a lightbox would open with the following:

  '''What should become the primary tag?'''[[BR]]
  [Textfield][[BR]]
  ''The name is how the tag appears on your site.''
  
  '''What should become the primary tag slug?'''[[BR]]
  [Textfield][[BR]]
  ''The “slug” is the URL-friendly version of the name. It is usually all lowercase and contains only letters, numbers, and hyphens.''
  
  '''Which slugs should continue to point to the new primary tag?'''[[BR]]
  [Textarea automatically filled with the old slugs][[BR]]
  ''One slug per line.''
  
  '''Save''' | '''Cancel'''

The last textarea allows old slugs to still point to the new primary tag - meaning any old URL's will still work.

=== -~- Example -~-~-~-~-~-~-~-~ ===

I've got the following tags which all mean the same thing:

  TV, the box, telly

I select them all in edit-tags.php, select 'Merge' and 'Apply'. In the popup box I choose 'television' as the primary tag, 'television' as the slug, and list the old tags in the textarea.

I now have a tag called 'television' which has ""television, TV, the box, telly"" all pointing to it, so my old URL's still work. All of my posts which use the old tags have now magically swapped to using 'television'."	hempsworth
23747	Ordering Categories		Taxonomy		normal	normal	Awaiting Review	feature request	new	dev-feedback	2013-03-12T10:14:05Z	2013-03-12T11:17:06Z	There should be provision to order categories. This will open up many possibilities to use with CustomPost types.	valllabh
9547	Taxonomy - interesting 'unused' term_order column in table term_relationships.	ryan	Taxonomy	2.8	high	normal	Future Release	feature request	reopened	needs-unit-tests	2009-04-16T15:19:42Z	2013-05-14T14:06:03Z	"During development of plugin [http://wordpress.org/extend/plugins/xili-language/ xili-language], and to sort term by term list of languages in a taxonomy, I discover unused column '''term_order''' in ''term_relationships'' table and lack of functions in core about this column. Like medias in post, here the user can define languages list with first, second, third,... languages for his website (and xml header). Taxonomy tools are here very powerful without adding tables or annoying coding.

([http://plugins.trac.wordpress.org/browser/xili-language/tags/0.9.8.2/xili-language.php  see code here line 1309-1370]). 

Before to complete these very basic functions,…

Is it forecast to have more basic / generic functions using '''term_order''' in taxonomy.php ?

[http://core.trac.wordpress.org/ticket/9546 Related ticket]"	michelwppi
13816	There should be built-in index pages for taxonomies		Taxonomy		normal	normal	Future Release	feature request	new		2010-06-10T12:20:29Z	2013-01-11T07:45:26Z	"By default, if you enable 'pretty' permalinks, you get URLs like this for categories and tags: /category/slug,   /tag/slug.  The same pattern is used when adding custom taxonomy types.

These URLs often suggest to people that it should be possible to go 'up' one level, and access index pages at /category and /tag which list all of the available categories or tags (or maybe just the top x most popular ones for tags).

I'd suggest that we add a new template type of is_archive_index() which uses, in order of preference, taxononmyname-index.php (eg category-index.php), archive-index.php.

Within these templates, the 'loop' should return taxonomy items rather than posts.

This is all possible already using custom templates and get_terms(), but it'd be handy if it was built-in.
"	frankieroberto
12629	function to remove custom taxonomies and all their terms		Taxonomy		normal	normal	Future Release	feature request	assigned		2010-03-17T22:02:58Z	2012-09-11T10:52:31Z	"I think there should be an easy way for plugins that create custom taxonomies to clean up after themselves on deactivation. I went over taxonomy.php pretty thoroughly and didn't find anything that does this directly.

The function below removes the custom taxonomies and terms from the various tables while leaving the built-in taxonomies alone.

{{{
<php
/*
assuming taxonomies for actor, director, and genre have been created on plugin activation...
*/

function remove_taxonomy($taxonomy) {
	if (!$taxonomy->_builtin) {
		global $wp_taxonomies;
		$terms = get_terms($taxonomy); 
		foreach ($terms as $term) {
			wp_delete_term( $term->term_id, $taxonomy );
		}
		unset($wp_taxonomies[$taxonomy]);
	}
}

function deactivate_custom_taxes() {
	remove_taxonomy('genre');
	remove_taxonomy('actor');
	remove_taxonomy('director');
	remove_taxonomy('post_tag');  // this will fail silently
	// do we need to flush the rewrite rules? 
	$GLOBALS['wp_rewrite']->flush_rules();
}

register_deactivation_hook( __FILE__, 'deactivate_custom_taxes' );
?>
}}}

If you like the idea, the remove_taxonomy() function could go into taxonomy.php, and then we'd document the deactivation procedure."	sillybean
18106	get_terms of posts in a specific post_type		Taxonomy		normal	normal	Awaiting Review	feature request	new		2011-07-14T05:25:49Z	2012-07-04T18:39:45Z	"I have searched most everywhere to find how to use get_terms for a specific post type, and have only found this article: http://wordpress.stackexchange.com/questions/14331/get-terms-by-taxonomy-and-post-type However this is doing a query for posts and getting the terms for those posts rather than doing a straight SQL statement, so it's not as efficient or ideal.

Adding an additional argument for additional where statements or a argument to specific a post_type, are two solutions I can imagine.

"	braydonf
15694	"Caption Shortcode I/O Intolerant of ""]"" Char"		Shortcodes	3.0.1	normal	normal	Future Release	defect (bug)	new		2010-12-05T20:54:31Z	2012-02-27T01:08:01Z	"I've discovered that the ""]"" character can only be used in the media library itself.  If I try to insert an image into a post using a caption like ""[Test Caption]"" then the post editor inserts three double quotes into the HTML attribute, invalidating the page markup.  D:

{{{
[caption id=""attachment_3"" align=""alignnone"" width=""300"" caption=""[Test Caption""]""]
}}}

In testing the output end of things, if I remove the extra double quote directly in MySQL, then the caption is not rendered at all on the post.  This suggests there is more than one error in the code that is causing this problem.  I was able to reproduce these symptoms on both versions I tested, 2.9.2 and 3.0.1."	miqrogroove
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
19639	"Enhancement: request: filter support before shortcodes are parsed or convert &quot; into """		Shortcodes	3.3	normal	normal	Awaiting Review	defect (bug)	new		2011-12-21T17:01:41Z	2011-12-22T00:39:34Z	"My team uses Windows Live Writer to do all posting, but we constantly have trouble using shortcodes because WLW, being as awesome as it is in other aspects, keeps converting the double quotes in shortcodes to
{{{
&quot;
}}}
This breaks shortcode attributes, and while we're working around it using single quotes, we can't use shortcode attribute data that contains single quotes then.

So, is there a good fix for this?

One workaround would be to have a filter that runs before shortcodes are parsed that converts &quot; back to "". However, in the shortcode API, I found no filters in use at all, so that's out without modifying WP source.

Alternatively, the API could just pre-process the data and take care of this case, which should be solved in WP core yet again.

Is there some way to resolve this without the above modifications to core?

Thanks."	archon810
19927	Improve support escaping a shortcode tag		Shortcodes	3.3.1	normal	normal	Awaiting Review	defect (bug)	new	has-patch	2012-01-30T14:12:35Z	2012-01-30T14:12:35Z	"In do_shortcode_tag there is some code that allows a shortcode to be escaped. It is commented with 
// allow [[foo]] syntax for escaping a tag
This code is fine if do_shortcode() is only invoked once on a particular chunk of data. 

But if the code is run more than once then the 'escaped' shortcode once again gets selected for processing and the shortcode is expanded.
e.g. [ [ caption ] ] will be 'escaped' to [ caption ] which then gets processed. 
 
Although this multiple invocation does not normally happen in vanilla WordPress, it is very easy to cause it to occur. 

In my case I noticed the problem since I had added the filter for 'the_content' with a different priority from the WordPress default.
e.g. add_filter( 'the_content', 'do_shortcode'); I'd missed the '11'.

Having removed that offending line of code I then discovered that Artisteer generated themes call get_the_excerpt() as well as the_excerpt() AND I'd added do_shortcode for both these filters.

The fix is simple. Instead of simply removing the outer square brackets, ensure that the first left square bracket is the escaped character &#91;



"	bobbingwide
7045	No name shortcode atts		Shortcodes	2.6	normal	normal	Future Release	defect (bug)	new	has-patch	2008-05-27T12:55:30Z	2012-11-01T06:01:27Z	"If you have a shortcode with an attribute with no name, it isn't parsed quite correctly:

{{{
[shortcode=""foo""]bar[/shortcode]
}}}

The attributes array ends up with this:

{{{
$atts = array( 0 => '=""foo""' );
}}}

rather than just `foo`."	Viper007Bond
23694	Shortcode attributes mess up html strings		Shortcodes	3.5.1	normal	normal	Awaiting Review	defect (bug)	new	dev-feedback	2013-03-05T15:15:48Z	2013-03-07T03:42:37Z	"{{{
[shortcode attribute=""<b>some HTML</b>""/]
}}}

produces:

{{{
<b>some HTML</b> <p>
}}}"	prometh
23517	Shortcode: if last parameter ends with '/', it is mistaken for self-closing shortcode closure		Shortcodes	3.5.1	normal	normal	Awaiting Review	defect (bug)	new	has-patch	2013-02-19T05:45:16Z	2013-02-19T13:39:12Z	"In example:
{{{
[shortcode urlparam=http://somesite/path/]content text[/shortcode]
}}}
{{{
""[shortcode urlparam=http://somesite/path/]"" 
}}}
is interpreted as self closing:
{{{
[shortcode/] with urlparam=""http://somesite/path""
}}}
All examples in http://codex.wordpress.org/Shortcode_API include whitespace before `'/]'`

This prevents implementation of bbcode parser for people to paste flickr photo snippets."	sergem
12061	Treatment of shortcodes by wpautop is incomplete		Shortcodes		normal	normal	Future Release	defect (bug)	new		2010-01-28T02:27:18Z	2013-01-19T08:36:17Z	"There are a number of issues that arise when shortcodes are embedded in a block of content that is filtered by wpautop.  After studying the issue, I have come to the conclusion that the underlying issue is that a shortcode can result in a block-level HTML element or an inline snippet of HTML.  Neither wpautop nor shortcode_unautop have the information necessary to know what the intended to be block-level or text-level, which results in <br /> tags to appear in places where they were not intended and causes invalid markup when paragraphs are not closed properly.

1) shorcodes when registered need to state the display type of the html that they return (inline or block).  In addition, the javascript version of filters need to be provided with the same data.

2) An alternate mechanism for handling shortcodes prior to wpautop needs to be implemented.   To maintain a separation between wpautop and shortcodes, temporarily replacing block-level shortcodes with unique tokens, running wpautop, running wpautop on the content of the shortcode (since this is a separate filter, plugins can disable it on a per shortcode basis), and then replacing the token with shortcodes post-wpautop.

As WP and plugin authors use shortcodes more and more, I think this is an issue that should not be left to the wayside.  Shortcodes especially tied to tinymce buttons make working with WordPress easier for the average content producer.  

"	gcorne
18776	balanceTags should ignore shortcodes & their content		Shortcodes	3.2.1	normal	normal	Future Release	defect (bug)	new		2011-09-26T11:26:10Z	2012-04-27T19:44:20Z	"Take following input:

{{{
something [myshortcode]<b>[/myshortcode]
}}}

after `balanceTags()` it becomes:

{{{
something [myshortcode]<b>[/myshortcode]</b>
}}}

Well, this is not what the shortcode creator probably wanted.

'''Proposed fixes:'''

If you are feeling lazy: Convert `[.*]` to `<$1>` and since balanceTags handles XML it should work, afterwards convert appropriate `<>` back to `[]`. Though this does not give a shortcode creator chance to disallow balancing tags inside it's content which is bad.

Better fix is to allow shortcode creators to decide wether their contents should be balanced:

1. `balanceTags()` should ignore all shortcodes and their contents.
2. Parse all shortcodes in content and on each shortcode call apply filter on so that shortcode creator can hook (if sees it appropriate) on to that. Shortcode creator then can call `balanceTags()` in his filter of that shortcode in order to run `balanceTags()` ''contents of shortcode'' separately if wanted."	ciantic
21158	different result when shortcode atribute without value		Shortcodes	3.4	normal	normal	Awaiting Review	defect (bug)	new		2012-07-04T19:11:44Z	2012-07-04T19:11:44Z	"imagine those two shortcodes

{{{
[shortcode attribute]
[shortcode attribute=value]
}}}

IMO they should have the same result, just the second should have some value to the attribute and the first should have NULL or false

But if you do

{{{
add_shortcode( 'shortcode', 'my_shortcode' );
function my_shortcode( $atts ) { print_r ($atts); }
}}}

the first shortcode results in

{{{
array (
  0 => 'attribute',
)
}}}

while the second in 

{{{
array (
  'attribute' => 'value',
)
}}}

I'm not sure, maybe it is intentional, i have not found any description, what should shortcode attribute without value do. But imo it should work as i have described as it is the only way how it could clear some predefined value (the only other way is to set it to empty string, which may not always be the same as NULL or FALSE)."	thomask
23307	shortcode_parse_atts may return empty string		Shortcodes		normal	minor	Awaiting Review	defect (bug)	new	has-patch	2013-01-28T11:08:50Z	2013-01-28T11:15:33Z	"See http://core.trac.wordpress.org/browser/tags/3.5.1/wp-includes/shortcodes.php#L243 .

If there are no attributes in a shortcode e.g. `[foobar]`, then shortcode_parse_atts returns an empty string. This is not reflected in the long description or `@return` tag.

Ideally though, it should return an empty array, so that it's not only consistent, but writing a shortcode function can type hint the `$atts` argument to be an array e.g.

{{{
add_shortcode( 'foo', 'my_shortcode' );
function my_shortcode( array $atts ) {
   ...
}
}}}

This might also be combined with checking if the incoming `$text` is empty, and returning an empty array immediately."	GaryJ
22272	shortcode_unautop() Doesn't Account for Opening/Closing Shortcode tags each Being on Their Own Line		Shortcodes	3.4.2	normal	normal	Awaiting Review	defect (bug)	new		2012-10-24T17:54:22Z	2012-10-24T17:54:22Z	"The shortcode_unautop function does not appear to account for when the opening and closing shortcode tags are put on separate lines from the paragraph they are surrounding. 


For example: the following is after wpautop() adds the paragraph tags.

{{{
<p>[cool_shortcode]</p>
<p>A paragraph about something you should know.</p><p>[/cool_shortcode]</p>
}}}

I would expect that shortcode_unautop would remove the paragraph tags from around both the opening and the closing shortcode tags. Instead it treats it all as if the entire thing were in one paragraph. Resulting in the following code being output. 

{{{
[cool_shortcode]</p>
<p>A paragraph about something you should know.</p><p>[/cool_shortcode]
}}}
"	bonnerl
22127	strange behaviour with shortcode with the_content filter		Shortcodes	3.4.2	normal	normal	Awaiting Review	defect (bug)	new		2012-10-08T11:04:01Z	2012-10-08T12:03:34Z	"let's say i have installed any lightbox/thickbox/... plugin (same behaviour with 'auto thickbox plus', 'lightview plus', 'jquery lightbox', 'fancybox plus', 'wp jquery lightbox' ...) and i have a shortcode, which uses the_content filter, e.g.

{{{
function test_shortcode( $atts, $content = null ) {
   return apply_filters('the_content', $content);
}
add_shortcode( 'test', 'test_shortcode' );
}}}

then if i use [test] shortcode anywhere in the post, the lightbox does not work. e.g. 

{{{
[test]test[/test]

[caption ... /] // this is standard image
}}}

if the shortcode do not have the_content filter, or the shortcode is not use anywhere in the post, or i put the 'lightbox' etc. class to [a] directly than it works as a charm.

There may be a bug in the lightbox plugins, but it is strange, that it is in ALL lightbox plugins.

But even in that case for me it is very strange, that something what is INSIDE the shortcode affects OUTSIDE of the shortcode. That's why i think it is a bug of core."	thomask
24085	wpautop filter and shortcodes		Shortcodes	trunk	normal	normal	Awaiting Review	defect (bug)	new		2013-04-15T06:41:15Z	2013-05-17T05:12:47Z	"I've been told here that this has been fixed in WP3.6 but it wasn't. I just installed WP3.6 Beta 1 and still doing this:

{{{
[shortcode]
<img src="""">
<img src="""">
<img src="""">
[/shortcode]
}}}

produces this:

{{{
<div class=""carousel"">
<p></p>
<img src="""">
<img src="""">
<img src="""">
<p></p>
</div>
}}}

which is highly unwanted because I have to strip <p> tags manually in order to make carousel of images work."	Looimaster
15434	Allow escaped quotes in shortcode atts		Shortcodes		normal	normal	Future Release	enhancement	new	has-patch	2010-11-15T14:56:56Z	2011-04-06T16:56:41Z	"It would be really helpful for plugin that I'm developing now, if you allowed shortcodes similar to this one:

[my_shortcode param=""param with \""escaped\"" quotes""]"	mtymek
12368	Allow setting limit in do_shortcode()		Shortcodes		normal	normal	Future Release	enhancement	new	reporter-feedback	2010-02-24T21:39:13Z	2010-03-08T09:39:10Z	Sometimes it is useful to limit the number of shortcode conversion occuring in do_shortcode(), such as preventing overuse of shortcode in untrusted content, or whatever reason. This patch adds a new int parameter to do_shortcode(), which is used as the $limit parameter in preg_replace_callback().	abelcheung
18558	Handling of dormant shortcodes is inelegant		Shortcodes		normal	normal	Awaiting Review	enhancement	new	has-patch	2011-08-31T20:25:06Z	2011-09-10T02:43:21Z	"Our handling of dormant shortcodes is inelegant. They spit out the raw shortcode. Better, would be for use to keep track of a historical record of which shortcodes have been registered, and if it's one of those ""dormant"" shortcodes (used to be registered, but no longer is), have it gracefully degrade, not show the shortcode, and return its contents if it's a wrapper shortcode.

This would require an option to track the shortcodes that have been used. Whenever a new one comes around, we add it to the array.

Eventually, we could deprecate the use of non-registered shortcodes, get rid of this solution, and simplify our regex to be generic (which would scale better)."	markjaquith
23855	Leave Shortcode functions early, if there's no Shortcode delimiter		Shortcodes		normal	normal	Awaiting Review	enhancement	new	has-patch	2013-03-24T15:15:03Z	2013-04-04T11:59:36Z	"The main Shortcode processing functions (like {{{do_shortcode()}}}) all make several function calls to build the Shortcode RegEx, with a lot of array handling and string concatenation, before finally using a comparably expensive {{{preg_replace()}}} - and that's for every post that is shown on a page, even if there's no Shortcode in the post.

With a quick check for the opening bracket {{{[}}}, that is required for every Shortcode, we can skip that extra work and leave those functions early to save some processing time.

The attached patch adds that to {{{do_shortcode()}}}, {{{strip_shortcodes()}}}, and {{{has_shortcode()}}}.

(Hat tip to bobbingwhite, who suggested this in [http://core.trac.wordpress.org/ticket/17657#comment:18 this comment] before, but it didn't gain traction as the ticket dealt with a different aspect of Shortcodes.)"	TobiasBg
14481	Shortcode Enhancements		Shortcodes	3.0	normal	normal	Future Release	enhancement	new	needs-unit-tests	2010-07-30T22:37:23Z	2010-10-31T13:34:44Z	"Somewhat of a copy of a post to wp-hackers: I wrote my own implementation of shortcodes. It does things a bit differently, has nested evaluation, and allows self-nesting. Since there are some significant differences to the existing implementation,

A lot of the changes are borrowed from definitions in the HTML specification (particularly name and attribute matching). The following are the comments at the top of my shortcode file. I tried to keep track of all the differences (and questions) there.

== From Test Cases ==

(http://svn.automattic.com/wordpress-tests/wp-testcase/test_shortcode.php)
{{{
Shortcode Statuses (to implement, or not to implement?)
        enabled = the shortcode works as normal (default)
        strip = the shortcode will be parsed and removed.  e.g.
'[shortcode foo=""bar""]' produces ''.  '[shortcode]foo[/shortcode]'
produces 'foo'.
        faux = the shortcode will be abbreviated.  e.g. '[shortcode
foo=""bar""]' products '[shortcode]'.  '[shortocde]foo[/shortcode]'
produces '[shortcode]'
        disabled = the shortcode is not parsed at all.  e.g.
'[shortcode foo=""bar""]' products '[shortcode foo=""bar""]'
}}}

== Major Differences/Improvements ==

I. Addressing http://codex.wordpress.org/Shortcode_API#Limitations

 1. You can nest any tag at any depth regardless of ancestors (#10702)

 2. Tag and attribute names may match: `/[A-Za-z][-A-Za-z0-9_:.]*//*` (trialing /* because that comment ends), with case-insensitive interpretation

 3. Interpretation doesn't get tripped up by things like hyphens

== II. Addressing Ticket #12760, ==

 1. Changed from fix in #6518. Reasoning: balancing double-square-brackets can have misleading results with nesting

 2. Shortcodes escapable by using `[[`, `]]`

 3. `]]` is escaped ""right to left"", so `[shortcode]]]` would evaluate to `result]`

 4. '[[' is escaped left to right `[[[shortcode]]]` => `[result]`

== III. Enhancements ==

 1. Only matches valid shortcode for registered hooks, everything else will appear as text

 2. Can register multiple hooks to single shortcode, uses priority (default: 10)

== IV. Conflicting Design Changes ==

 1. Quoted literals are escaped by entities rather than cslashes

 2. Inline (self-closing) shortcodes get passed content to accomodate multiple callbacks

 3. No equivalent to shortcode_parse_atts function (Not marked private in function reference, but not documented in shortcode API page)

 4. Boolean attributes take the place of positional attributes `[foo bar]` gets attributes `array('bar' => 'bar')` instead of `array('0' => 'bar')`

 5. Disallows attribute and tag names that don't match `/[A-Za-z][-A-Za-z0-9_:.]*/`

 6. Disallows unquoted attribute values (also boolean attributes), unless they match `/[-A-Za-z0-9_:.]+/`

== Basic Interpretation Method ==

 1. If an open tag is encountered, it is added to the stack

 2. If a close tag is encountered and there is no matching open tag on the stack the close tag is ignored

 3. If a close tag is encountered and there is a matching open tag on the stack all opened tags on the stack before the matched tag will be implicitly self-closed

 4. If text or an inline tag is encountered, it will be evaluated to its parent's content immediately

 5. If tags are not closed by the end of the interpretation, they will be implicitly self-closed

== Issues ==

 1. Haven't written new unit tests to reflect new functionality added, functionality differences

 2. Documentation is not as good (though I hope most of the code is self-explanatory)

 3. Not 100% backwards compatible"	deadowl
23786	Shortcodes working inside HTML and PHP comments		Shortcodes		normal	minor	Awaiting Review	enhancement	new		2013-03-15T11:59:25Z	2013-03-15T14:06:02Z	"I think that shortcodes should not work inside html or php comments. The following comment inserted in the Wordpress editor shows the images gallery, breaks the layout of the theme and shows after the gallery these characters -->

<!--[gallery ids=""4585,4515,4587""] -->

If I use do_shortcode() in a plugin with a shortcode inside a php comments, it's the same as it is with html comments."	javitxu123
10702	Support for complex nested shorttags		Shortcodes	2.9	normal	normal	Future Release	enhancement	new	has-patch	2009-08-30T11:47:41Z	2012-11-06T05:59:48Z	"The documentations is misleading on this point.
It is said that you can have nested shorttags by calling do_shorttag on the content.

However the shorttag parser isn't really a parser, it's just a non-greedy regex of some sort. It does work for simple tags without content, but when we define a [div] tag, look at the following code:

{{{
[div]
    [div]
        test1
    [/div]
    [div]
        test2
    [/div]
[/div]
}}}

Results is:

{{{
<div>
    <div>(tag without content)
    test1
</div>
<div>
    test2
    [/div](not parsed at all)
</div>
}}}

I think that if you want to stop people from writing their own parsers you should include some decent parser with Wordpress, not a regex I could do myself.

Workaround: Assign div2 and probably div3 and 4 to the same function, and use these for the nested tags. <--- very ugly!"	pepijndevos
19968	Use named regular expression groups to simplify shortcodes code		Shortcodes	3.3.1	normal	minor	Awaiting Review	enhancement	new		2012-02-04T18:03:28Z	2012-02-06T08:21:33Z	"Currently in {{{get_shortcode_regex()}}} in [source:trunk/wp-includes/shortcodes.php] you are welcomed by:
{{{
// WARNING! Do not change this regex without changing do_shortcode_tag() and strip_shortcode_tag()
}}}

because these functions use the regular expression match from the shortcode parser.

Instead, we could use named regex groups: {{{(?P<year>\d\d\d\d)}}} or {{{(?'year')\d\d\d\d}}} which appear indexed by name in the matches array: {{{$matches['year']}}} instead of {{{matches[1]}}}.

Benefits:

0. Future-proof code. Won't rely on indices, but on names, which we can control. Now, if we want to add a group we will have to offset all the indices, scattered all over the place.

1. Less ugly and unreadable code like:

{{{
if (!empty($m[1]))
    $atts[strtolower($m[1])] = stripcslashes($m[2]);
elseif (!empty($m[3]))
    $atts[strtolower($m[3])] = stripcslashes($m[4]);
}}}"	nbachiyski
20659	Document available shortcodes in eg. new post page		Shortcodes		normal	normal	Awaiting Review	feature request	new		2012-05-11T14:40:28Z	2012-05-22T12:40:35Z	"It would be useful if a plugin defining shortcodes also could describe the usecase for the shortcode and the available attributes and the usecases for those attributes in a way that could be exposed in the interface on eg. the new post page.

One could take inspiration from eg. the Drupal Token module which has a token_list() hook that a Drupal module uses to describe every token it describes so that they can be presented to the user in the interface.

Something like:

{{{
add_shortcode_description('shortcodename')
}}}

That returns something like this would be nice:

{{{
array(
  'description' => 'This is used to do foo',
  'attr' => array(
    'bar' => 'A text that will be presented as bar'
  ),
);
}}}"	voxpelli
12982	Shortcodes don't allow shortcodes in attributes		Shortcodes	3.0	normal	normal	Future Release	feature request	new	needs-unit-tests	2010-04-12T22:31:17Z	2010-04-15T22:16:02Z	"I think that shortcodes should work when used inside attributes of other shortcodes, just like they can work inside the ""$content"" of a shortcode.

Some people says that that isn't supposed to work, but theoretically it is supposed to work when using the ""do_shortcode"" function. It don't work because:

1) ""do_shortcode"" is context free, which it's actually fine by its fastness, although it don't allow stuff like inserting a shortcode inside the content of itself

2) The shortcode regex stops with the first occurrence of a ] in a shortcode, so in this:

{{{[foo bar=""[baz /]""]content[/foo]}}}


it ""outputs"":


{{{[foo bar=""[baz /]}}}


and {{{""]content[/foo]}}} is ignored.

I'm not programmer but I tried to fix it by changing the shortcode regex so it allow anything between quotes or brackets inside the first group of brackets. It sort of works, but also mess the handling of quotes in the rest of the shortcode, so I think something more advanced have to be done to make it work. 

This is somewhat related to another shortcode tickets, but none of them addresses nor solves this specifically."	Atoon
13377	Add more sanitization in _cleanup_header_comment	ryan	Security	3.0	normal	normal	Future Release	defect (bug)	new	has-patch	2010-05-13T18:51:15Z	2011-01-30T23:47:08Z	"The _cleanup_header_comment function is used in multiple places, but one in particular can cause some problems on the Page edit screen (or any screen that uses page templates).  The get_page_templates function (which gets the list of page templates to display in a <select> box on the page edit screen) uses to cleanup the page templates retrieved from a file.  

Unfortunately the function does not sanitize enough, and if (for instance) JavaScript existed in the page template name it would be run on the Page Edit screen.

To test, add some JavaScript (with <script> tags) to the ""Template Name:"" line of a page template, and load the Page edit screen."	seanklein
10980	DoS in wp-trackbacks	ryan	Security		normal	normal	Future Release	defect (bug)	reopened		2009-10-19T19:25:17Z	2009-10-21T15:42:30Z	"The exploit: http://codes.zerial.org/php/wp-trackbacks_dos.phps

Execution:

$ while /bin/true; do php test.php http://target.bom/wordpress; done
hit!
hit!
hit!
hit!
hit!
hit!
hit!
hit!
hit!
hit!

Notice: fputs(): send of 8192 bytes failed with errno=11 Resource
temporarily unavailable

down!!

Load average: 22.07, 15.18, 8.58 (on target server)

"	gomex
16822	FORCE_SSL_LOGIN causes wp-login.php to have an incorrect https link	jakub.tyrcha*	Security	3.1	normal	normal	Awaiting Review	defect (bug)	accepted		2011-03-10T16:21:25Z	2011-09-10T01:20:12Z	"In this bug, the WordPress logo on the login screen incorrectly links to an https URL. It is easy to reproduce.

First, define('FORCE_SSL_LOGIN', true) in wp-config.php. Then make sure you are logged out of WordPress. (Note: I am running multisite - I don't know if this matters or not.)

1. Visit /wp-login.php. Fill in WRONG credentials (misspell your password) and click the Submit button.
2. wp-login.php redisplays as expected, this time with an https URL.
3. The WordPress logo on the form now links to https://your.site.com. If you click it, you are visiting your site over SSL.

This should not happen. The WordPress logo (and any other links on the login page) should render http URLs."	dbvista
10267	Login form SSL is confusing	ryan	Security		normal	normal	Future Release	defect (bug)	new		2009-06-25T10:12:48Z	2009-11-24T15:56:01Z	"With ssl_admin off, and ssl_login on, the login form sends a secure POST request. But end-users can be confused into thinking that they're about to send a non-secure post unless they view the page's source code.

The attached patch enforces SSL on the form as well, to avoid this confusion.

Brought this up in IRC, and it gets +1 from Viper007Bond and DD32 as well."	Denis-de-Bernardy
4137	Pingback Denial of Service possibility		Security	1.5	low	normal	Awaiting Review	defect (bug)	reviewing		2007-04-11T19:41:51Z	2013-02-01T02:37:17Z	"The pingback feature of Wordpress (2.1.3) allows DDOS attacks either against the server hosting wordpress or against a third one.

When a client sends a pingback, wordpress calls ""wp_remote_fopen"" to download the referring URL. On servers having ""allow_url_fopen"" activated, this function will try to download the /whole/ URL without any timeout or size limit. (except those set in php.ini, which will usually lead to a ~8MB download)

So if you post ~100 xmlrpc requests referring to a /huge/ file, every server meeting those prerequisites should effectively be down (for a while). You should at least be able to generate lots of traffic.

On the other hand, if you google for blogs and post the same URL to each of 'em, the target server should be DDOSed.

I suggest allowing pingbacks only if the connection was opened from the host mentioned in the source URL.

I'll attach a demo exploit (I didn't test it for the entered URL; it worked for a local installation.)"	foobarwp12
11813	Post password stored as plaintext	ryan	Security	2.9.1	normal	normal	Future Release	defect (bug)	new		2010-01-07T17:33:10Z	2012-09-17T15:21:04Z	"When a user specifies a password for a protected post it's stored as plaintext in the database.  Considering the rate at which people recycle personal passwords, does this open a user's site to potential security risks?  

While not necessarily our responsibility, this would raise issues if they use the same password for a login and for their protected posts."	ericmann
10268	Profile and Edit user pages should be secure too	ryan	Security		normal	normal	Future Release	defect (bug)	new	has-patch	2009-06-25T10:15:37Z	2010-11-13T01:37:18Z	"With admin_ssl off, and login_ssl on, the profile page ends up insecure. It should at least send its POST request over SSL, since a new password might be set.

And possibly use a secure form as well (see #10267)."	Denis-de-Bernardy
16483	Visibility: password-protected exposes multiple pages		Security	3.0.4	normal	minor	Future Release	defect (bug)	new	dev-feedback	2011-02-07T19:02:15Z	2013-03-18T19:47:52Z	"1. password protect a page ('protected') with a password
2. password protect another page ('thistoo') with the SAME password
3. visit 'protected' and enter the password. Page is visible
4. visit 'thistoo'; expected: prompt for password. What happens: Page is visible

Regardless of whether someone with a password has the right to try it in as many pages as they want (and would therefore successfully see the page if the passwords were the same), the user should still be prompted on a page-by-page basis. Global authentication to multiple pages is possible with user accounts and roles. It should not be possible with visibility: password-protected pages."	monkeyhouse
13051	admin_url() and site_url() shouldn't need esc_url()	ryan	Security	3.0	normal	normal	Future Release	defect (bug)	new	dev-feedback	2010-04-19T16:57:13Z	2010-11-13T03:09:47Z	"I noticed that the 3.0 codeline includes the addition of esc_url() around admin_url() like:

esc_url(admin_url());

I believe that admin_url() and site_url() should be ""safe"" functions to use and should not need escaping. Perhaps they should call esc_url() internally?

I cannot think of a viable reason to allow unsafe results from admin_url() and site_url(), though perhaps there are some internationalization edge cases that I'm not aware of.

If you really need raw access to an unsafe value in wp_options, you can use get_option() to get to it.

Another issue to consider here is input validation and stripping before saving to these fields.

If this is approved in principle, I'd be happy to produce a diff against the current code base.

I think this is very important to address before 3.0 is released as it has a significant impact on theme and plugin developers."	alexkingorg
12402	make addslashes_gpc() use addslashes() fix to use real_escape, rather than addslashes	ryan	Security	3.0	normal	normal	Future Release	defect (bug)	new	has-patch	2010-02-27T02:44:19Z	2010-11-13T07:47:24Z	"If memory serves, the main problems with making wpdb->escape() point to mysql_real_escape_string() were two:

 1. mysql_real_escape_string() doesn't work on all platforms
 2. mysql_real_escape_string() doesn't play well with unslashing

Point 1 is covered in wpdb->_real_escape().

The legacy fix to point 2, for some strange reason, led to disabling mysql_real_escape_string() on platforms that could actually use it, instead of using add_magic_quotes() where calls to addslashes()/stripslashes() could occur.

r12961 partially fixes point 2. But only partially.

At the risk of re-opening the can of worms, the attached patch finishes fixing point 2...:

 - It changes addslashes_gpc() and esc_sql() so that they use add_magic_quotes() instead.
 - This frees wpdb->escape(), which can then be a true alias for wpdb->_real_escape().

I've scanned trunk for occurrences of wpdb->escape() used on arrays -- there were none."	Denis-de-Bernardy
9207	redirect_to wp-admin Should Force SSL If FORCE_SSL_ADMIN is enabled	hakre*	Security	2.9	normal	normal	Future Release	defect (bug)	accepted	reporter-feedback	2009-02-21T22:36:07Z	2013-04-06T20:36:05Z	"Around Lines 406 to 426 on wp-login.php:

{{{
	$secure_cookie = '';

	// If the user wants ssl but the session is not ssl, force a secure cookie.
	if ( !empty($_POST['log']) && !force_ssl_admin() ) {
		$user_name = sanitize_user($_POST['log']);
		if ( $user = get_userdatabylogin($user_name) ) {
			if ( get_user_option('use_ssl', $user->ID) ) {
				$secure_cookie = true;
				force_ssl_admin(true);
			}
		}
	}

	if ( isset( $_REQUEST['redirect_to'] ) ) {
		$redirect_to = $_REQUEST['redirect_to'];
		// Redirect to https if user wants ssl
		if ( $secure_cookie && false !== strpos($redirect_to, 'wp-admin') )
			$redirect_to = preg_replace('|^http://|', 'https://', $redirect_to);
	} else {
		$redirect_to = admin_url();
	}
}}}

As we can see on the present code, if a redirection is set while login and this redirection goes to the plain version of the dashboard then client will go to the non-SSL version of the dashboard which therefore will move the client to the secure version (generating and extra request).[[BR]]
I know this is kinda a tongue twister sentence so i think is better to put a request example of the problem...

Client: POST http://foo.bar/wp-login.php?redirect_to=http%3A%2F%2Ffoo.bar%2Fwp-admin%2Findex.php [[BR]]
Server: HTTP 302 ... Location: http://foo.bar/wp-admin/index.php [[BR]]
Client: GET http://foo.bar/wp-admin/index.php [[BR]]
Server: HTTP 302 ... Location: https://foo.bar/wp-admin/index.php

I know that wordpress is actually working as suppose to work (cause we told to move to non-SSL version of the dashboard) but and a extra http request is issued.[[BR]]
IMHO if we (admins) have enabled FORCE_SSL_ADMIN, then all redirections to wp-admin should go SSL/HTTPs even if we fill redirect_to with the plain version of the dashboard.[[BR]]
There is part of the code that detect this and replace it but it has issues or well it isn't prepared to do this.[[BR]]
At the moment we can filter login_redirect to fix this but (again) IMHO this should move to the core..."	g30rg3x
11623	review options list and update sanitize_option()	dd32*	Security	2.9	normal	normal	Future Release	defect (bug)	accepted	early	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
10551	wp_die() triggers block when using ModSecurity Core Rules	westi*	Security	2.8.3	low	normal	Future Release	defect (bug)	accepted	dev-feedback	2009-08-05T19:47:28Z	2011-03-22T09:51:47Z	"wp_die() causes ModSecurity (using Core Rules), a commonly used Apache plugin, to throw a 406 error, blocking the message from displaying.

This seems to be triggered by the fact that a 500 error is thrown.  I went and changed the default status code to 401 (Unauthorized) and it worked like a charm.  I just wonder if there is a better fix for this issue... or simply a better status code to use.

Perhaps making a group of functions to make the error codes more focused.

Example:
{{{
wp_die_auth( __('You do not have sufficient permissions to access this page.') );

/**
 * Exits WordPress with Unauthorized status code.
 *
 * @see wp_die()
 */
function wp_die_auth($message, $title = '') {
	wp_die( $message, $title, 401 );
}
}}}"	cstrosser
14148	wp_get_attachment_url() is not url encoding		Security	3.0	normal	major	Future Release	defect (bug)	new	has-patch	2010-06-30T00:02:25Z	2010-12-20T15:14:24Z	"A fairly fundamental flaw, the function [http://codex.wordpress.org/Function_Reference/wp_get_attachment_url wp_get_attachment_url()] doesn't return a valid URL if the filename contains unescaped URL characters.

I'm not sure, but this might be a security issue, as the current version can generate URLs that don't match the filename, but instead passes query parameters back to the server.

The attached patch for Version 3.0 file fixes this in wp-includes/post.php
"	danorton
19415	wp_nav_menu showing private/conctepts posts without rights		Security	3.0	normal	major	Awaiting Review	defect (bug)	new		2011-12-02T18:11:06Z	2012-11-01T16:52:23Z	"when you are using wordpress menus and you got your post/page in a menu (e.g. using Automatically add new top-level pages) and then change the post/page to concept or set it private, the link to post/page stays in the menu for all users, what may have some negative security concerns

this error in all versions, including todays nightly 

IMO it should show only visible posts (if someone disagrees and need it for some backward compatibility, there may be some parameter, but imo hidding private/concept should be default)"	thomask
14803	Admins should be warned if authentication keys and salts have the default phrase		Security	3.0.1	normal	normal	Future Release	enhancement	new	has-patch	2010-09-07T15:20:17Z	2012-08-06T00:50:33Z	"WordPress already warns admin users if any of the eight authentication keys/salts are not present in the wp-config.php.  (See `secret_salt_warning()` in wp-admin/includes/ms.php)  While performing that check, WP should also see if any of the keys/salts are using the default string of ""put your unique phrase here"".

The default string is pre-set for all eight keys/salts that ship in wp-config-sample.php.  While the inline documentation indicates that those values should be changed, there is no notice or prompting to alert/remind the admin if the default string is left intact.

Bear in mind that `wp_salt()` (in wp-includes/pluggable.php) ignores the keys/salts that use the default phrase or are blank strings, so security isn't compromised.  However, if we want the admins to define secure phrases in wp-config.php, we should make them aware when that's not the case.

The attached patch modifies `secret_salt_warning()` to also check that the keys/salts aren't using the default phrase and aren't blank strings (same check as done in `wp_salt()`).  If any are, the warning message provides a link to the wordpress.org secret key service.

See the attached image to see an example where I've removed LOGGED_IN_SALT from wp-config.php (the error message for that is already what WP generates) and where I've left the default phrase in place for AUTH_KEY and AUTH_SALT and set NONCE_SALT to '' (triggering the error message added by the attached patch).
"	coffee2code
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
15277	FORCE_SSL_LOGIN or _ADMIN go to death loops when using an load-balancer		Security	3.0.1	normal	normal	Future Release	enhancement	new		2010-11-01T15:07:32Z	2010-12-29T19:38:09Z	"Dear community,

first of all, I had to apologize for my english pronunciation. I am not a native speaker.

Now, here is my problem or rather my feature request and patch.

'''Problem'''

I use WordPress in an infrastructure with a load-balancer (hardware) before two webserver in a dmz and behind the dmz the database server. And (that is important) the connections between the load balancer and the webserver are always http - not https. The ssl certificate is installed on the load balancer. So the https connection is only between the client (browser) and the load balancer.

Now a want to use ssl for login and admin section.

IF I use FORCE_SSL_ADMIN or _LOGIN I got into a death loop, because:

1) connection client -> load balancer: https
2) connection load balancer -> webserver: http
3) webserver WordPress -> client: reload to https because of FORCE_SSL_*

4) connection client -> load balancer: https
5) connection load balancer -> webserver: http
6) webserver WordPress -> client: reload to https because of FORCE_SSL_*

7) goto 4 or 1

'''Feature Request'''

I want a FORCE_SSL_* light. Something like USE_SSL_* but do not make a redirect.

'''Patch (see attached)'''

I defined two constants USE_SSL_LOGIN and USE_SSL_ADMIN like the FORCE_SSL_* and the functions use_ssl_admin, use_ssl_login like the force_ssl_*. And I integrate these functions in the function get_site_url in wp-includes/link-template.php

At my installation, it works.

It would be great, if you can take over these two config constants.

I hope I could descriped my problem and solution clearly.

Great tool ... Iver Jackewitz"	jackewit
10151	HTML5 <video> elements stripped in kses.php	ryan	Security	2.8	normal	normal	Future Release	enhancement	new	has-patch	2009-06-14T01:04:30Z	2012-01-05T20:03:08Z	"WordPress currently strips the [http://www.whatwg.org/specs/web-apps/current-work/#video new HTML5 <video> element] as it is unrecognized.  The attached patch allows <video> passthrough in postings and comments.

Hopefully this patch (or a derivative) could be incorporated into WordPress proper."	GChriss
10741	Include user's IP address in the lost password message	ryan	Security	2.9	normal	minor	Future Release	enhancement	new	has-patch	2009-09-07T08:46:17Z	2009-11-20T20:49:58Z	"Add the line ""User's IP: "" in the password recovery message.

In my opinion, this can be useful for administrative tasks."	mr.slay
24063	Introduce some more _doing_it_wrong() calls in nonce functions		Security	3.2	normal	normal	Awaiting Review	enhancement	new	has-patch	2013-04-12T17:15:25Z	2013-04-12T17:17:09Z	"`check_admin_referer()` will tell you that you're `_doing_it_wrong()` if you don't specify the `$action` parameter. The corresponding `wp_nonce_field()` and `wp_nonce_url()` functions should behave the same way.

`check_ajax_referer()` should also behave the same as `check_admin_referer()` but I'm not sure if potentially raising notices in AJAX calls is a good idea. I've included it in the patch anyway.
"	johnbillion
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
20276	Tie nonces to the current session		Security		normal	normal	Future Release	enhancement	new		2012-03-21T20:20:57Z	2013-01-28T22:01:06Z	"Owasp specifies that ""the synchronizer token pattern requires the generating of random challenge tokens that are associated with the user's current session."" Our nonces have a timeout, but that timeout can span cookie sessions. Instead, nonces should be somehow tied to the current auth cookie and invalidate whenever the cookie invalidates.

https://www.owasp.org/index.php/Cross-Site_Request_Forgery_(CSRF)_Prevention_Cheat_Sheet"	ryan
20060	wp_redirect() doesn't exit		Security		normal	normal	Awaiting Review	enhancement	new	dev-feedback	2012-02-17T15:35:11Z	2012-02-27T05:46:35Z	"As discussed in #15518, not exit()'ing after a redirect can be a security vulnerability and also lead to unexpected behavior. I think that most developers assume that the API would take care of that for them, since that would be the best practice, so they don't do it in their own code.

There are some cases where features need to redirect without exiting, though, so the API needs to support both cases. Ideally wp_redirect() should exit() by default, but that would cause too many backwards-compatibility issues. So, I'd propose making these changes:

* Add a new boolean parameter to wp_redirect() that determines if it should exit() or not. It's false by default. If it's passed in as true, then exit() is called at the end of the function. Having it set to false by default avoids the backwards-compatibility issues.
* Add the new boolean parameter to wp_safe_redirect() also.
* Create new wp_redirect_exit() function that is a wrapper for a wp_redirect() and passes in a true value for the new parameter. Then, promote this new function on the Codex and other places to inform developers that they should be using it unless they actually need to execute code after the redirect.
* Also create wp_safe_redirect_exit() in the same way."	iandunn
20140	Ask old password to change user password	tman4506*	Security		normal	normal	Awaiting Review	feature request	accepted	dev-feedback	2012-02-29T12:55:38Z	2012-08-26T16:14:53Z	"I have experienced this in various sites and i think
it adds extra security.
We must ask for the old password when the user tries to change the password"	nprasath002
10237	Implement Content Security Policy to prevent XSS	ryan	Security	2.8	normal	normal	Future Release	feature request	new		2009-06-22T20:50:37Z	2012-06-20T16:12:36Z	"http://blogs.zdnet.com/security/?p=3654

 1. Here’s how Content Security Policy can provide a way for server administrators to reduce or eliminate their XSS attack surface. Website administrators specify which domains the browser should treat as valid sources of script.

 2. The browser will only execute script in source files from the white-listed domains and will disregard everything else, including inline scripts and event-handling HTML attributes. 
   - Note: event-handling is still enabled in CSP without using HTML attributes.

 3. Sites that never want to have JavaScript included in their pages can choose to globally disallow script."	Denis-de-Bernardy
10850	Make register_setting available on the front-end	ryan	Security	2.8.4	normal	normal	Future Release	feature request	new		2009-09-25T09:47:09Z	2009-09-25T09:47:09Z	"hi,

since 2.7.0 we have the function {{{ register_setting($option_group, $option_name, $sanitize_callback = '') }}} in ''/wp-admin/plugin.php'' to securely handle handed over $_POST variables in the admin menu.

afaik, besides of the usage of query_vars (which only work for $_GET variables) we have no counterpart to ''register_setting'' on the front-end. imho, we could increase the security and usability of forms and their variables if we would provide a similar functionality in ''wp-includes''.

what do you think?

greetz,
berny"	neoxx
21737	Users should have to jump through hoops to set passwords of their choosing, and we should guard better against weak passwords	westi*	Security		normal	normal	Awaiting Review	feature request	accepted		2012-08-30T04:07:17Z	2013-04-18T02:44:43Z	"People are terrible at choosing secure, unique, complex, unguessable passwords. Unless someone is using a password storage system, the chances are good that the passwords they're choosing are really weak.

We can mitigate this problem.

1. Let's make the default to always be that WordPress picks a password for you. When installing WordPress, or when creating a new user account, or when changing your password on your profile. The default should be that we generate a secure password for the user. They can remember it, write it down (not ideal, but generally more secure than choosing a weak password), or copy and use it once, check the ""remember me"" box, and not worry about it until their cookie expires on that computer.

2. If they do opt to manually create a password, we need to do better than our current password strength meter. And the lowest level should actually nag them with an AYS before they proceed. I suggest the following, to start, which would trigger the lowest level, and cause them to have to dismiss a warning (or check a checkbox... UI TBD) before continuing:

* compare the strtolower'd version of their password to strtolower'd versions of all their info (username, first/last name, part of e-mail address before the @, etc).
* any password that is shorter than 8 characters
* a blacklist of popular passwords (these lists are available... even grabbing the top 100 would give use good coverage)
* 3 or more consecutive digits (""123456"" and company are very popular)
* anything that looks like a date"	markjaquith
21924	add action / filter to wp-login.php so we can replace WordPress login and force using 3rd party login		Security		normal	normal	Awaiting Review	feature request	new		2012-09-19T11:59:58Z	2012-09-19T11:59:58Z	"I want to turn off WordPress login because I don't have an SSL certificate. I want to replace (not just hide with CSS or something) the WordPress wp-login.php login form so that a plugin can hook into that and be called within themes that use the hook to display the WordPress login form. Then, if the plugin is disabled, the generic WordPress login will display by default/fallback.

Worst concern about this is the plugin failing, especially upon an update or theme change or something and this can be fixed by logging in and disabling the plugin via FTP or via database or something.

(Of course, applies to both ""login"" and ""register"", not just ""login"".)

What I tried before posting here:
http://premium.wpmudev.org/forums/topic/is-there-a-plugin-to-disable-wordpress-default-login?replies=9#post-276574
and
http://www.wpquestions.com/question/show/id/7065


Might be related to:
http://core.trac.wordpress.org/ticket/19097


Thank you very much."	cliffpaulick
17227	wp should work around bug in move_uploaded_file for tighter security		Security	3.2.1	normal	normal	Awaiting Review	feature request	new		2011-04-24T00:28:50Z	2011-11-17T18:52:45Z	"Andrew Nacin said I should put this in a new ticket so others can weigh in.  Here's the email with the description:

Hey guys, so I'm trying to harden up (!) my wordpress installation, and the whole world-writable wp-content/uploads thing is avoidable by creating a group that includes me and apache (call it ""checkersites""), and making wp-content/uploads et al group writable, group checkersites, and the directories group sticky.  So, any new directories and files created are group checkersites so I can toast them, even though apache is the owner.

However, there's a bug in php's move_uploaded_file that it doesn't obey the directory group sticky bit, so any files uploaded and run through move_uploaded_file are apache:apache, which then breaks everything with this scheme (meaning, the files still work, but now I can't modify the them without su'ing, etc.).  This has been recorded on the php docs for move_uploaded_files since 2008  ([http://www.php.net/manual/en/function.move-uploaded-file.php#85149 note here]), so it looks like they just don't care. I was thinking about patching wordpress to work around this by checking if the destination directory's group sticky bit is set and changing the group to that if so.  Would you guys be interested in the patch?

As far as I can tell, this is the only thing that forces non-root users to make directories world writable (or even readable, assuming the admin will set up the shared group for them).  Seems like it's worth fixing."	chrishecker
23016	Allow plugins to manipulate WP_Roles ($wp_roles global) on construct		Role/Capability	3.5	normal	normal	Future Release	defect (bug)	new	early	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
12107	Author role overrides edit image title set by editor		Role/Capability	2.8.6	normal	normal	Future Release	defect (bug)	new		2010-02-01T01:56:49Z	2010-11-13T07:42:50Z	"If assigned as 'Author' as Role in Wordpress User Setting, Author cannot add or edit the 'Edit Image Title' field for any images (even though they upload themselves)

Furthermore, if there is an existing text in 'Edit Image Title' field, and if Author 'Save Draft' or 'Update Post' (without doing any editing at all), the Image Title will be removed.

In other words, only the Roles of 'Admin' and 'Editor' are able to add Image Titles to images. The Role of 'Author' cannot add image titles and not only that, by accessing and saving a post, any existing Image Titles added by Admin or Editor becomes removed.

I tested on Wordpress version 2.8.6 and 2.9.1

I have previously posted a thread on the support forum here http://wordpress.org/support/topic/356199?replies=1#post-1365412"	noyu
14530	Cheating huh?		Role/Capability		normal	normal	Awaiting Review	defect (bug)	reopened	has-patch	2010-08-04T13:20:56Z	2013-05-06T15:25:02Z	"I've sen this infamous error msg more times than I wanted, in my own site where I'm admin.

That happens with more frequency when adding a new comment, but some times also inside admin pages.

I understand it's generally capability and permission tests that fail, and that happens in pages that ppl without permission to access them shouldn't see links to them, therefore they probably tried direct access to somewhere they shouldn't be going.

But also it happens when session expires or due to some bug. In this cases, the user is effectively not doing anything wrong, it may even be WP fault, and when that's the case the message is rude, even offensive to more emotional ppl.

Even worse, it gives no hint on what went wrong, so that user can try to fix it.

Then I suggest these messages to be changed, to more meaningful and also polite messages. Real cheaters and hackers will already have any info a message may provide, so a better explanation of what went wrong won't help them succeed in their attempt to hack a site, and will help a lot the victims of these errors."	shidouhikari
14578	Default User Role isn't checked against defined roles, causing unexpected resets to Administrator	garyc40	Role/Capability	3.0.1	normal	major	Future Release	defect (bug)	assigned	has-patch	2010-08-10T10:00:29Z	2013-05-21T20:00:15Z	"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
20745	Hard-code less capability types		Role/Capability	3.0	normal	normal	Awaiting Review	defect (bug)	new	has-patch	2012-05-25T08:48:40Z	2012-05-25T21:33:00Z	"We still hard-code some capability types thoughout the admin area.

For example `edit_post` is hard-coded as the edit attachment capability in the edit attachment pages. It should be pulled from the post type object instead so that it can be modified.

I've patched the ones I found."	Viper007Bond
16808	Insufficient permissions for custom post type management and custom role/caps		Role/Capability	3.1	normal	normal	Awaiting Review	defect (bug)	new		2011-03-09T19:54:04Z	2011-03-09T22:04:02Z	"I asked a question over at [http://wordpress.stackexchange.com/questions/11508/permission-error-on-custom-post-type-add-new-action StackExchange] about this. Went into their chat room to talk to a few people and came to the conclusion I need to post this ticket.

---

When accessing an admin page located at post-new.php with a custom post type on a user that's in a custom role that has the available permission to ""Add New"", you get ""You do not have sufficient permissions to access this page.""
{{{
		$post_caps = array( 'delete_post' => 'argus_admin', );
		$visitor_caps = $post_caps;
		$visitor_caps = array_merge( $visitor_caps, array(
				'edit_post' => 'argus_visitors',
				'read_post' => 'argus_visitors',
				'edit_posts' => 'argus_visitors',
				'edit_others_posts' => 'argus_visitors',
				'publish_posts' => 'argus_visitors',
				'read_private_posts' => 'argus_visitors',
			));

		$v_args = array(
			'labels' => array (
					'name' => 'Visitors',
					'singular_name' => 'Visitor',
					'add_new_item' => 'Register New Visitor',
				),
			'public' => true,
			'publicly_queryable' => false,
			'exclude_from_search' => true,
			'show_ui' => true,
			'show_in_menu' => 'argus',
			//'show_in_menu' => false,
			'hiearchical' => false,
			'supports' => array( '' ),
			'capabilities' => $visitor_caps,
			'register_meta_box_cb' => array ( &$this, '_wp_visitor_meta_box_cb' ),
		);
		
		register_post_type( 'visitor', $v_args );
}}}
I've tested it with 3.0.4 and it worked flawlessly. However, when in 3.1, it doesn't want to work."	Genesis2001
21788	Relocate revoke_super_admin() and grant_super_admin() to capabilities.php		Role/Capability		normal	normal	Awaiting Review	defect (bug)	new		2012-09-04T11:09:57Z	2012-09-16T21:32:38Z	"Would be nice to move revoke_super_admin() and grant_super_admin() out of /wp-admin/includes/ms.php and into to /wp-includes/capabilities.php, where the rest of the _super_admin() functions are.

This allows theme-side user profile plugins (see: the bb's) to use these functions without needing to pull in a wp-admin file directly."	johnjamesjacoby
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
19747	Roles add_cap should call update_user_level_from_caps()		Role/Capability	3.3.1	normal	normal	Awaiting Review	defect (bug)	new		2012-01-05T11:17:32Z	2012-12-12T20:39:22Z	"Hey guys,

I've created a new user role, which didn't appear in the Author drop down list due to #16841. The workaround is to add a level_1 capability to that user, but because wordpress doesn't call update_user_level_from_caps() function when you add_cap, that isn't actually applied to existing users on the role, and you have to move them to a different role and back again if you want to apply the changed user role.

I'd suggest adding a call to update_user_level_from_caps() to add_cap (and remove_cap) to fix this in wp-includes/capabilities.php"	lgladdy
24153	Sticky flag gets unset if author doesn't have publish_posts permission		Role/Capability	3.5.1	normal	major	Awaiting Review	defect (bug)	new		2013-04-22T05:03:20Z	2013-04-23T04:58:05Z	"I'm observing a bug with the sticky flag. I set up a special user with a role of ""Grammar Nazi"" who should only have access to editing of other people's posts, but not publishing his own.

The permissions given to this role are:
- edit_published_posts
- edit_others_posts
- edit_posts
- read
- read_private_posts

This user works out great - he's limited to only editing errors in other authors' posts.

However, there is a bug with sticky posts. If a grammar nazi edits a stickied post, '''the sticky flag gets unset'''. As a possibly related observation, there's no Edit button on the post edit page next to the Visibility area.

This bug is worked around by adding the ''publish_posts'' permission. However, this permission is unwanted in this case as grammar nazis shouldn't be able to post their own posts. Adding ''publish_posts'' enables the Edit button next to Visibility, and saves retain the sticky bit correctly.

So, in short: the sticky bit should be retained even when users without the ''publish_posts'' permission update a post."	archon810
16451	WP_Roles and capabilities		Role/Capability	3.0.4	normal	normal	Awaiting Review	defect (bug)	new		2011-02-03T19:06:28Z	2011-02-03T19:56:45Z	"I began to complain about this in the support forum: http://wordpress.org/support/topic/bug-report-wp_roles?replies=3#post-1922100 . You can read the longer version there.

The WP_Roles-Class lacks some consistency (immo). I am not aware of the reasons why WP_Roles multiple class-varibles containing the roles and capabilities, but in this case your logic is producing some errors:

I wrote my Plugins as classes. While Wordpress loads them, I add the roles and capabilities this plugin needs. It would have been far more complicated to do this only while activating.

Creating a WP_User-Object, it will set it's ""all_caps"" from $wp_roles->get_caps($role) which is looking into the $wp_roles->role_objects[$role]. There it will only find those capability of the $role, which were assigned while creating the role [ $wp_roles->add_role($identifier, $readable, $caps) ] but NONE of the caps added by [ $wp_roles->add_cap($role, $cap, $grant) ] because this function applies the capability to $wp_roles->roles but not to $wp_roles->role_objects, where WP_User will look into with the method [ $wp_roles->get_caps($role) ]

I use this as an example cause I faced this problem the last three days. The fact is, if you need those multiple variables in WP_Roles, please, keep them all up-to-date. Do not force the user to set all capabilities in the activation and do not rely on the thought that roles and capabilities will be set correctly if read from the database. 

As the changes are minor and the effect major, it would be great to change it soon."	IM_natascha
23746	add_role require string does not check for empty string		Role/Capability	3.5.1	normal	normal	Awaiting Review	defect (bug)	new	has-patch	2013-03-12T03:45:33Z	2013-03-13T01:16:16Z	"
`<?php add_role( $role, $display_name, $capabilities ); ?>` 

add_role works with $role as `''`.

Perhaps it should check for empty string before allowing it to be added? "	Kenshino
21526	get_post_type_capabilities() assumes $args->capabilities is an array		Role/Capability		normal	normal	Awaiting Review	defect (bug)	new	dev-feedback	2012-08-09T12:29:01Z	2012-08-09T12:46:39Z	"get_post_type_capabilities() assumes $args->capabilities is an array and should check and confirm it. Otherwise a warning appears: Warning: array_merge() [function.array-merge]: Argument # 2 is not an array in /home/username/public_html/wp-includes/post.php on line 1183. I discovered this when I accidentally set this to null instead of array().

Type setting it seems to clear the warning, if we want to clear the warning.

{{{
$capabilities = array_merge( $default_capabilities, (array)$args->capabilities );
}}}
"	wpsmith
16841	manually created user roles not showing in author dropdown irregardless of assigned capabilities		Role/Capability	3.1	normal	normal	Awaiting Review	defect (bug)	new		2011-03-12T23:39:39Z	2012-12-12T20:32:08Z	"I posted the below on wp-testers hoping to verify or gain experiences from others in order to confirm this prior to reporting it as a bug, but, haven't received any further input, and it's just becoming more evident to me that perhaps it should be posted here, so, I hope I'm not creating a false report here. Please excuse me if I am.

I'm posting this as a link so that it will translate more clearly rather than just cluttering up this message with more text than necessary.
http://lists.automattic.com/pipermail/wp-testers/2011-March/014130.html

Upon further investigation I have also come across the following:
http://core.trac.wordpress.org/ticket/16451

I'm not an expert at debugging this sort of thing, but, I have attempted all within my knowledge thus far, and in looking at all of the returned objects and entries, the only difference I can spot between how the default user roles ( which show up properly in the dropdown ) and the custom created roles ( which do not ) are being returned is that the default user roles, editor for instance, correctly show the deprecated level_7 entry, and the custom user role ( with more assigned privileges than the editor ) does not show user levels in the capabilities array at all, and shows level_0 in the object.

This is leading me to think that perhaps there is something happening with those user levels in creating the author dropdown on the post editor that is blocking the custom user roles from showing up as expected.

When running the following code:
  
{{{
echo '<br /><br /><h3>Roles</h3>';
	foreach ( $wp_roles->role_names as $role => $name ) :
		echo '<br /> <br />';
		echo '<pre> Role displayed in Admin as ' . $name ;
		echo  '     Database entry: '  . $role . '</pre>';

		echo '<h5> Capabilities assigned to the role of ' . $name. '</h5>';
		// print_r( $caps);
		echo '<pre>';
		$rolename = get_role($role);
		$caps = $rolename->capabilities;
			foreach ($caps as $capability => $value):
				echo  $capability . ' '.  $value . ""\n"" ;
			endforeach;
		echo '</pre>';
	endforeach;
}}}


the default wp roles return the following capability value pairings


{{{
delete_published_posts 1
}}}


roles created with Justin Tadlock's members plugin return the following


{{{
delete_published_posts delete_published_posts
}}}


roles created manually in functions.php utilizing


{{{
add_role( 'test_role', 'Test Role' );

//saved and then removed before running the code below ...

$role = get_role('test_role');

$role->add_cap('read');
$role->add_cap('edit_posts);
$role->add_cap('edit_others_posts');
$role->add_cap('publish_posts');
$role->add_cap('read_private_posts');
$role->add_cap('delete_posts');
$role->add_cap('delete_private_posts');
$role->add_cap('delete_published_posts');
$role->add_cap('delete_others_posts');
$role->add_cap('edit_private_posts');
$role->add_cap('edit_published_posts');
}}}

return the following ...


{{{
delete_published_posts 1
}}}


but lack the user levels as mentioned above.

Let me know if there is any further info I can provide to help sort this out~


"	10sexyapples
23377	map_meta_cap() throws error from has_cap() from current_user_can()		Role/Capability		normal	normal	Awaiting Review	defect (bug)	new	dev-feedback	2013-02-04T02:49:22Z	2013-03-07T05:57:10Z	"Based on the [http://codex.wordpress.org/Function_Reference/current_user_can current documentation], current_user_can() only requires one argument, a capability. However, if I call it from the `save_post` hook with WP_DEBUG turned on, I will receive the following errors:

{{{
Notice: Undefined offset: 0 in /var/www/XXXX/htdocs/wp-includes/capabilities.php on line 1067
Notice: Undefined offset: 0 in /var/www/XXXX/htdocs/wp-includes/capabilities.php on line 1067
Notice: Undefined offset: 0 in /var/www/XXXX/htdocs/wp-includes/capabilities.php on line 1067
Warning: Cannot modify header information - headers already sent by (output started at /var/www/XXXX/htdocs/wp-includes/capabilities.php:1067) in /var/www/XXXX/htdocs/wp-includes/pluggable.php on line 876
}}}

As a result, the admin save post will die.

Basic Sample Code:
{{{
if ( ( 'page' == $post->post_type && ! current_user_can( 'edit_page' ) ) || ! current_user_can( 'edit_post' ) )
    return;
}}}

As a result, in my opinion `map_meta_cap()` should ensure that `$args[0]` exists."	wpsmith
21425	the 'edit_users' capability also allows 'promote_users'		Role/Capability	3.4.1	normal	major	Awaiting Review	defect (bug)	new	dev-feedback	2012-07-30T17:07:52Z	2012-09-22T10:11:33Z	"Hello all,

I have found an issue where I have created a Support role in order to have a user make changes to basic user information. What I noticed was that the capability 'edit_users' allows said User (role) to promote users to any role - including admin! I tried removing the cap 'promote_users' and it does nothing.

add_role(
			'support',
			'Support',
			array(
				'read' => true,
				'edit_feedback' => true,
				'edit_others_feedback' => true,
				'list_users' => true,
				'edit_users' => true
			)
		);"	ew_holmes
16291	user role drop down inaccurate on ms-sites.php		Role/Capability	3.0.4	normal	normal	Future Release	defect (bug)	new		2011-01-18T21:23:32Z	2011-01-18T22:39:11Z	"If a user has been assigned a role and an individual capability, the user list doesn't show the correct role for the user. 

This is the scenario to replicate this issue.  User is currently given one role (ie. editor).  Then some plug-in adds an individual capability (db has role and cap serialized - order is important). You then go and change the role(ie. publisher) of that user using ms-sites.php (db has cap then role serialized). When you return to ms-sites.php (not immediate page load, but refresh, or new page load), the drop down menu for the user in question will show Administrator. It appears, that ms-sites is pulling the first item from the serialized list, and since it isn't a role, it doesn't know how to populate the drop down.

This is a particular issue, if you go to the page to change any information not related to user permissions.  Anyone whose accounts had the extra cap would suddenly become Administrators.

There may be other scenarios where this same things happens, but as best I can tell this is the particular scenario that is causing me problems.

Also, I do realize that there is a potential for user->role->cap overhaul in a future release, but since it doesn't seem to be part of the 3.1 milestone, I thought this should be fixed. 

As another note, the users.php page seems to handle this scenario a bit better.  The solution might be over there.   "	hughestm@…
14479	Add filter hook to 'is_super_admin()' function	benward	Role/Capability	3.0	normal	normal	Future Release	enhancement	new	has-patch	2010-07-30T20:51:38Z	2010-11-18T10:06:55Z	"This patch adds a new filter, named 'is_super_admin' to the end of the capabilities.php:is_super_admin() function, allowing plugins to override the result of this capabilities check.

Use cases:

    * Applying/restricting Super Admin privilege based on an external user authentication/permissions system.
   * Restricting Super Admin privilege based on a user's network location."	benward
15819	Create user_can_for_blog function		Role/Capability	3.1	normal	normal	Future Release	enhancement	new	has-patch	2010-12-14T19:18:45Z	2012-12-13T21:38:50Z	"To compliment #14602, a user_can_for_blog function is needed.

Currently we have no function to pass a user ID, blog, and a capability/role which will return whether the user can perform that role or has that capability for a particular blog.

See attached patch please.

Thanks,
Mike"	mweichert
2531	Functions for registering additional capabilities and getting a list of all capabilities		Role/Capability	2.0.1	normal	normal	Future Release	enhancement	assigned		2006-03-05T15:50:58Z	2012-06-28T13:44:05Z	"Plugin authors need a way of announcing the additional ""add on"" capabilities used in their plugins.

Additionally, role manager plugins need a way of getting a list of all registered capabilities.

Proposed functions:


{{{
register_cap('cap_name');

get_all_caps();
}}}


Patch is coming.

Initial milestone of 2.1, but it would be really nice to get this into 2.0.2 ... because 3rd party capabilities are largely useless until we have this."	markjaquith
17924	Make Integrating Multiple Roles Per User Easier for Plugin Authors		Role/Capability	3.2	normal	normal	Future Release	enhancement	new	has-patch	2011-06-28T23:40:48Z	2013-05-16T11:55:48Z	"WordPress supports multiple role per user, however to use this feature is very difficult for plugin authors to integrate well, and often requires adding plugin admin pages instead of integrating with the pre-existing user-edit.php. Due to the difficulty of this, and the fact that most plugins that allow this aren't very user-friendly, I believe users are staying away from multiple roles.

This ticket aims to change how easy it is to work with the current role management system, as well as to add a couple role-based filters and actions, while still keeping the front-end of the administrative interface single-role only. (Because it seems to be the prevailing opinion the multiple roles per user is plugin territory.) In addition, I completely agree that the vast majority of sites can best function with one role per user, however in some cases (such as the site I'm working on now) you simply need to be able to choose multiple roles.

= Changes =

== First Patch File ==
attachment:Replace_Admin_Role_Dropdown.patch
The first patch file moves the code for the role dropdown off of /wp-admin/user-edit.php, /wp-admin/includesclass-wp-users-list-table.php, /wp-admin/users-new.php, /wp-admin/options-general.php and into /wp-admin/includes/template.php where two new functions are created:

=== {{{wp_get_dropdown_roles()}}} ===
This function does what {{{wp_dropdown_roles}}} used to do, but it returns the value instead of echoing it. (Note that {{{wp_dropdown_roles()}}} now acts as a wrapper for {{{wp_get_dropdown_roles()}}}. (The old function is still in place for backwards compatibility.)

=== {{{wp_user_role_selector()}}} ===
This function creates the full dropdown and applies a new {{{'user_role_selector'}}} filter to the markup before echoing it out. This way the default dropdown can be overridden by something else (perhaps checkboxes). 

== Second Patch File == 
attachment:Create_Role_Update_Actions_Filters.patch 
The second patch file changes the functions that handle user creation and updating so they can be hooked into and a developer could make this work with multiple roles. This file affects /wp-admin/includes/users.php and /wp-includes/user.php.

=== {{{wp_sanitize_user_role()}}} ===
A new {{{sanitize_user_role}}} filter was created and sanitation of {{{$_POST['role']}}} in /wp-admin/includes/user.php when user-edit.php is submitted was moved there. The new function is called {{{wp_sanitize_user_role()}}}. (This is so that if user-edit.php is submitted and {{{$_POST['role']}}} were to contain a value other than a string (perhaps an array of roles) it can be sanitized and worked with accordingly.

=== {{{pre_user_role}}} ===
A new {{{pre_user_role}}} filter was added to {{{wp_insert_user()}}} in /wp-includes/user.php. This was mainly done because almost every other field that this function processes has a matching filter like this, and I thought maybe {{{$roles}}} felt left out as it did not. :(

I supposed somebody could also use it for something useful as well.

=== {{{apply_user_role}}} ===
A new {{{apply_user_role}}} action was added to {{{wp_insert_user()}}}. The function itself no longer uses {{{$user->set_role()}}}, instead saving user role changes is now handled by this new action. A matching function {{{wp_apply_user_role()}}} was added to set the user role like {{{wp_insert_user()}}} used to do. This way however, a plugin author could simply hook into {{{apply_user_role}}} to apply multiple roles to a user.

= Conclusion =
All in all, this patch was designed so that the average user would never even notice that a change has been made to user management, however a plugin author looking to add an easy way for people to select multiple roles for a user can quickly hook into this and have a nice, easy, well integrated and WordPress-like plugin.

I have done a few tests adding users and changing roles around with these patches applied on a fresh installation with no plugins and the only changes to WordPress being those that are in the attached patches, and everything seems to work seamlessly.

By the way, I am quite new to WordPress, so I added the needs-testing tag, because it does, but I also want to make sure I've done everything the 'WordPress' way and I want to make sure I havn't missed anything that is broken because of these small changes."	mobius5150
14986	Make WordPress roles/capabilities more secure (edit_users related)		Role/Capability		normal	normal	Future Release	enhancement	new		2010-09-28T20:39:03Z	2011-01-13T12:36:44Z	"We've discussed this before, but after some thought, I think we can do this and make it work.

Right now, the edit_users capability is the key to the kingdom. Anybody with edit_users can change their role to anything, including to something with more capabilities than they already have.

Back in #6908 and #6014, this was thought about in terms of the old user levels system, which of course shouldn't be used and makes no sense.

In #8770, an editable_roles filter was introduced, which allows a plugin to limit the roles that a user can change themselves too. This works for one aspect of the problem, but a) it doesn't solve the passwords problem(1), and b) it assumes that the roles are still only in one chain of command. That is to say, that all the roles have an ordering, where each role has all the capabilities of the role ""below"" it.

To solve these, I think we need a capability comparison system. To wit, code that implements these two rules:

1. No user can change the role of another user to a role that has capabilities that the changing user does not also have.

2. No user can change either the role or the password of another user who has any capability that the changing user does not also have.

For rule 1, this means that if Adam was to try to assign Bob a role, he would only be given the choice of assigning roles that have a subset of the capabilities Adam himself had.

For rule 2, if Adam was to try to change the role or the password of Bob, he would not be able to change either unless Bob already had a subset of Adam's own capabilities. 

This makes the roles have a sort of definable hierarchy, where roles with lesser capabilities can be multi-faceted. I can define more than one chain of roles which are ""above"" each other in hierarchy, allowing me to build a tree of groups and users capable of different things.

For things like bbPress-as-a-plugin, this sort of enforcement is going to be a must-have feature.

Note 1: The ""passwords problem"" is that any user who can change another users password can easily change the password of somebody of ""higher"" rank, log in as them, and then have their capabilities. It's detectable, but in some cases, may not be so detectable. Admins who don't log in often, say.

Note 2: We also need role management in core, but that's a topic for a separate day. I'm speaking only of enforcement of a security model here for now."	Otto42
22968	No way to view_others_posts without being forced to have edit_others_posts enabled		Role/Capability	3.5	normal	normal	Awaiting Review	enhancement	new		2012-12-17T02:02:42Z	2012-12-18T06:48:22Z	"I'm using the Roles plugin to tweak default roles, and I'm looking to add the capability for Authors to read unpublished posts (drafts by other users, so that they can give feedback before they're published).

Unfortunately, it seems that while there's an edit_others_posts perm, there's no equivalent read_others_posts, so doing this is impossible unless you enable editing as well (that's not something I want to do). Read_private_posts doesn't do the trick either, in case you were going to suggest trying it.

The right solution, IMO, is to introduce read_others_posts (and same for pages).

Thank you."	archon810
10201	Remove user-specific caps		Role/Capability	2.8	normal	normal	Future Release	enhancement	assigned	early	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
22959	Show all roles in user list table		Role/Capability		normal	normal	Future Release	enhancement	new	has-patch	2012-12-16T03:20:33Z	2013-05-14T13:45:46Z	"From [22686]:

> we should show a comma-separated list of all roles, editable or otherwise, and this list should be filterable, either by user, or by the roles which can appear. Probably both.

Previously: #22361"	scribu
23391	User in contributor role can add images to post only via the text editor		Role/Capability		normal	normal	Awaiting Review	enhancement	new		2013-02-05T07:34:26Z	2013-02-05T10:15:34Z	"1. Create a user with contributor role
2. start new post with it
3. notice there is no ""add media"" button anywhere
4. switch to text editing
5. use the img button to insert a URL to a valid img on the web
6. request approval for the post
7. let admin/editor approve it
8. go the the post's URL and notice that the image is shown

So, it is not that contributors are not allowed to use images, it is just that WP makes it hard to do so.

Either HTML needs to be sanitized and have all img tags removes for contributors, or access to the media library should be allowed for contributors denying only access to uploading. I vote for the second option."	mark-k
13269	Ability to list by user role in wp_dropdown_users		Role/Capability		normal	normal	Future Release	feature request	new		2010-05-05T22:05:20Z	2010-10-27T11:52:42Z	"Hi Everyone!

I am using custom post types and during my experimentation I found it the best to create a new role as well. In short, a website will be hosting seminars, and we have seminars as a custom post type, and seminar speakers as a role (we want to be able to manage them as users, but restrict blog access). 

Since they are not authors, they will not show up in the author box on the new post page, so I added a new meta box, which contains a select box to select the speakers we need. 

For this I need to create a custom query, but it would be great if a simple attribute were added to the function wp_dropdown_users(). The argument could be ""role"" and you would need to add the name of the role, like ""speaker"". 

I hope this is something  useful to others too! While I have a pretty good understanding of the WP core now, I am not really comfortable checking out files yet, so sorry for not actually writing the code. "	danielpataki
5942	Add Owner role		Role/Capability	3.1	normal	normal	Future Release	feature request	reopened		2008-02-21T10:13:08Z	2011-04-10T04:17:35Z	"This patch adds a new 'owner' role.  The owner is an administrator who cannot be demoted, deleted or edited by other administrators.  Owner is a secondary role - the user is both an administrator and an owner.

In the current implementation there is only one owner at a time.  The current owner can transfer ownership of the blog to another administrator on the Transfer Ownership tab (under Users).  I implemented this as a plugin because some site owners won't want the feature there at all.

This is of most interest for MU, but it's also probably useful for some regular WordPress blogs with multiple users.

This would be particularly useful in conjunction with the user_role table from #5541, but it works fine with or without it."	tellyworth
17253	Author role should be able to make/edit pages (a.k.a. let's get with the times)		Role/Capability	3.1	normal	normal	Future Release	feature request	new		2011-04-27T11:29:52Z	2012-08-23T00:47:00Z	"More and more sites are using WordPress to run the whole site, not just a blog. Pages are quickly eclipsing blog posts as the default content type, and we should start moving to address this. Currently authors have no rights to pages. Someone with higher rights can set the author as someone with the author role, but the author can't actually get to it. This is super lame, because the ""just create and manage your own stuff"" role doesn't apply to a major form of content. 

I understand this will have implications re backwards compatibility, but we've talked about revisiting the roles system at some point, so I wanted this ticket to be on record. We have to make roles more reasonable for CMS use. "	jane
17254	Contributors should be able to upload		Role/Capability	3.1	normal	normal	Awaiting Review	feature request	new		2011-04-27T11:42:24Z	2011-09-10T03:10:26Z	"Workflows and typical post content have evolved since the roles were defined. Posts frequently contain images, video, etc. As it is now, for someone to be able to put an uploaded image or video in a post, they have to be an Author, because contributors have no upload rights. This means that if a post contains any media, the person writing it has the ability to publish. There's a big gap now for use cases where a site owner wants to curate/edit contributor submissions before publication but wants those contributor posts to not be limited to text-only creations. 

Proposal: allow contributors to upload media files (kept as draft, not published until approved by higher role). "	jane
20067	/search/.+ takes priority over pages since 3.3 - Breaks some sites		Rewrite Rules	3.3	normal	major	Awaiting Review	defect (bug)	new	dev-feedback	2012-02-18T07:36:46Z	2012-02-24T13:19:21Z	Was on WP 3.2.1 and upgraded to 3.3.1. Immediately started experiencing problems with WP intercepting page urls such as: www.mydomain.com/search/advanced-search.html, or any other url whose first level folder was /search/. This is a valid folder and url set on my real estate site, and it all worked fine in 3.2.1. But WP 3.3.1 redirected to some kind of search process, and returned summaries of various pages on the site. As a test, I located and renamed the search.php in my theme folder. After that, the content and formatting of the results changed, but it still incorrectly redirected to some kind of search process, probably the WP core search since the one in the theme folder had been renamed. During this entire process, no other changes were made. The exact same plugins were installed and active, and no changes were made to .htaccess. .htaccess was reviewed, and there were no redirects that could have caused this. No redirect or site search plugins were ever installed or active. I re-installed WP 3.2.1 core files and all of the improper redirecting to search issues went away. Did 3.3.1 have some kind of new internal rewrite rules regarding when/how to do a site search? Affected site is www.denverhomevalue.com.	ronnieg
20520	Author Page Pagination Broken		Rewrite Rules	3.3.1	normal	normal	Awaiting Review	defect (bug)	new		2012-04-23T04:16:03Z	2012-04-23T04:37:44Z	"WP 3.3.1 Multisite
Permalink setup: /author/post-name

- If the request is ""domain.com/authorname"" the authors page pagination link is broken.

- If the request is ""domain.com/author/authorname"" the authors page pagination link works fine."	rbaccaro
16839	Category Base Should be Slugified		Rewrite Rules	3.1	normal	normal	Future Release	defect (bug)	reviewing	early	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
16971	Creation of .htaccess file leads to a 500 Error		Rewrite Rules	3.0	normal	major	Awaiting Review	defect (bug)	new	has-patch	2011-03-26T11:59:51Z	2011-07-16T18:11:59Z	"Turning on permalinks can render the whole blog into a 500 error situation under certain conditions.

The issue has been experienced with a WP 3.0.5 setup, other versions seem affected as well.

The creation of the .htaccess file does not reflect the systems umask setting which can result in creating a file that is not accessible by the server.

That triggers the 500 then.

Normally WP chmod's all files it creates. This is not done with the .htaccess file if it did not existed already."	hakre
20688	Forward slash in custom taxonomy rewrite causes 404s because of (unnecessary?) attachment rule		Rewrite Rules	3.3.2	normal	normal	Awaiting Review	defect (bug)	new		2012-05-16T09:07:57Z	2012-05-16T11:54:34Z	"I implement a custom taxonomy with a rewrite that is designed to create urls like:

""/apps/about/sometag""

{{{
        $name = 'apps';
        register_taxonomy($name.'-tag', $name.'-post', array(
            'label' => ucfirst($name) . ' Tags',
            'public' => true,
            'has_archive' => true,
            'hierarchical' => false,
            'update_count_callback' => '_update_post_term_count',
            'rewrite' => array('slug' => ""$name/about"", with_front=>true)
        ));
}}}

However I was getting a 404 (yes I was flushing the rules) unless I changed the '/' to say a '-'.  Upon inspection of the rules, I found this one whose precedence was causing the problem:

{{{
'apps/[^/]+/([^/]+)/?$' => 'index.php?attachment=$matches[1]'
}}}

Upon removing it inside the ""rewrite_rules_array"" hook, the problem was solved.

It seems odd to me that this generic rule exists and rewrites to an attachment of all things..."	harikaram
16303	Improve documentation and usability of WP_Rewrite Endpoint support	westi	Rewrite Rules	3.1	lowest	normal	Future Release	defect (bug)	new	needs-docs	2011-01-19T16:25:01Z	2013-04-05T00:28:06Z	"When you know how it works the WP_Rewrite Endpoint support is really simple and cool.

When you don't it looks really difficult to use.

We should document it better and add an endpoint mask for Custom Post Types."	westi
19633	Multilingual Permalinks - Broken Pagination		Rewrite Rules	3.3	normal	critical	Awaiting Review	defect (bug)	new		2011-12-21T13:23:32Z	2011-12-21T22:37:10Z	"With the new rewrite engine in WP3.3 the pagination for pages with multilingual URLs got broken.

See example:
[http://garage-eden.co.il/%D7%97%D7%95%D7%95%D7%AA-%D7%93%D7%A2%D7%AA-%D7%94%D7%9C%D7%A7%D7%95%D7%97%D7%95%D7%AA Live Example of Broken Pagination]

The permalink structure used for this:
%postname%

The Code Used for the Page:

{{{
<div id=""main-content"">

<?php if (have_posts()) : while (have_posts()) : the_post(); ?>

<h1 class=""title""><?php the_title(); ?></h1>

<?php the_content(); ?>

<?php endwhile; endif; ?>

<?php
// The Query
$paged = (get_query_var('paged')) ? get_query_var('paged') : 1;
$args = array(
	'category_name' => 'testimonials',
	'paged' => ""$paged"",
	'posts_per_page' => 3
	);
query_posts( $args );

// The Loop
if (have_posts()) : while (have_posts()) : the_post();
?>

<div id=""testimonial-wrap"">

<blockquote>
<?php the_content(); ?>
<cite><?php the_title(); ?></cite>
</blockquote>

</div>

<?php endwhile; ?>
<div id=""pagination"">
	<?php next_posts_link('<span class=""next-page"">הבא &raquo;</span>') ?>
	<?php previous_posts_link('<span class=""prev-page"">&laquo; הקודם</span>') ?>
</div>

<?php endif; wp_reset_query(); ?>

</div>
<!-- #main-content -->
}}}
"	aternus
19896	Non-WP rewrites not saved on a multisite install		Rewrite Rules	3.0	normal	normal	Awaiting Review	defect (bug)	new		2012-01-25T16:14:20Z	2012-01-25T16:14:20Z	"The following code adds a rewrite rule which is classed as a non-WP rewrite rule because its redirect doesn't begin with `index.php`, and is stored in the `non_wp_rules` member variable of the `WP_Rewrite` class.

{{{
function my_rewrite() {
	add_rewrite_rule( 'login/?$', 'wp-login.php', 'top' );
}
add_action( 'init', 'my_rewrite' );
}}}

On a single site install, this rewrite rule gets saved directly to the .htaccess file rather than being added to WordPress' internal rewrite array.

On a multisite install, this doesn't happen and the rewrite rule has no effect (probably because once a site is multisite-d WordPress no longer writes to .htaccess). The rule has to be manually added to .htaccess.

Likely introduced in 3.0, reproduced in 3.3 and trunk."	johnbillion
17047	Not following spec for REQUEST_URI	sterlo	Rewrite Rules	3.1	normal	normal	Future Release	defect (bug)	reviewing	has-patch	2011-04-04T20:11:00Z	2012-08-09T18:44:05Z	"Possibly related: #16932

Spec: http://www.w3.org/Protocols/rfc2616/rfc2616-sec5.html#sec5.1.2

Structure: http://en.wikipedia.org/wiki/URI_scheme#Examples

The spec for REQUEST_URI:
{{{
Request-URI    = ""*"" | absoluteURI | abs_path | authority
}}}

The specs for REQUEST_URI in Apache are such that it allows for absolute paths to a given resource.

Given that throughout WordPress there are concatenations like:
{{{
$_SERVER['HTTP_HOST'] . $_SERVER['REQUEST_URI']
}}}

These are intended to generate ""mysite.com/resources""

But in certain cases will generated ""mysite.com/mysite.com/resources""

Case Study:
{{{
GET http://subdomain.mydomain.com/ HTTP/1.1
}}}

This should be allowed.

Apache in this case sets the URI to ""http://subdomain.mydomain.com/myfile.php""

Solution: Do not assume that URI is not an absolute path.

A quick fix is something like the patch attached."	sterlo
21645	Rewrite API logic and flush_rules		Rewrite Rules	3.4.1	normal	normal	Awaiting Review	defect (bug)	new		2012-08-21T00:24:05Z	2012-08-21T08:24:19Z	"
It is not clear if or how visiting the Settings -> Permalinks calls flush_rules.  It is referenced occasionally as an apparent alternative to $wp_rewrite->flush_rules() in Documentation.  This should be explicitly confirmed in the admin interface and/or a button based action.

Documentation for the Rewrite API functions do not point at $wp_rewrite->flush_rules() effectively.  (Updated some codex links, but seems worth including a pointer inline in function definitions.) 

I was confused while editing an existing theme why duplicating existing add_feed() structures in functions.php did not produce duplicated behaviour in the permalinks.  ?feed=atom1 worked , but /feed/atom1/ didn't, until calling flush_rules()

Logic seems broken between these functions.  Why call Rewrite API add_feed() every init, but still require a flush_rules reset to activate?  They should be more explicitly linked / combined / triggered.  See prior conversation in #21335

http://codex.wordpress.org/Rewrite_API"	here
16832	Trouble if the slug of a custom taxonomy is the same as the url of page/post		Rewrite Rules	3.1	normal	normal	Awaiting Review	defect (bug)	new		2011-03-11T11:50:43Z	2011-09-29T23:26:24Z	"I got some troubles with the 3.1 version of WordPress concerning the slug of custom taxonomy.

'''An example that work in 3.0.5'''[[BR]]
www.example.com/agency (url of a page)[[BR]]
www.example.com/agency/john-smith (url of a custom type's detail)

Apparently having the same ""folder"" 'agency' only works for one or the other url but not both.

Hope I made myself clear."	LucasHantz
20109	Valid htaccess rule causes 404 after upgrade to 3.3.1		Rewrite Rules	3.3.1	normal	critical	Awaiting Review	defect (bug)	new		2012-02-24T06:26:42Z	2012-02-27T19:42:29Z	"On 2/18/2012, I upgraded WP from 3.2.1 to 3.3.1. on www.denverhomevalue.com. I later noticed that Google webmaster tools started reporting 404 errors on lots of pages that were fine before. WP was still returning the proper pages and content, not my custom 404 page, so the issue was not readily apparent except in WMT reports. Running http header response checkers confirmed 404 responses, despite good contents being returned. 

Deleting sections of the htaccess file until the problem went away, the issue was isolated to two rules meant to escape following rewrite rules on certain urls:

{{{
RewriteRule ^city(.*) - [L]
RewriteRule ^areas(.*) - [L]
}}}

These were the same family of urls that started returning 404s after 3.3.1 upgrade. These rules were in place since 12/5/2011, with WP 3.2.1 and never caused a problem.

I was able to revert a backup of the site to 3.2.1, on the same exact server environment, and confirm that these same valid htaccess rewrite rules were not a problem in that release."	ronnieg
23867	add_rewrite_endpoint causes front-page.php template to be ignored		Rewrite Rules	3.5.1	normal	normal	Awaiting Review	defect (bug)	new	reporter-feedback	2013-03-26T21:49:18Z	2013-04-16T00:50:35Z	"I have a front-page.php template in my theme folder, as per the template hierarchy this is used regardless of whether I am showing posts or a page as the front page.

However, when I add a rewrite endpoint (on the init hook), index.php is used for the front page template when I add my query var to the URL. It makes no difference if I set the front page to show posts or a page. If I do not add the query var, front-page.php is correctly used.

i.e. http://domain.com correctly uses front-page.php, http://domain.com/nl wrongly uses index.php

This happens whether I use EP_ALL or EP_ROOT as the places parameter.

All other template files are fine, it's only the homepage with the problem as far as I can see."	lumpysimon
22619	add_rewrite_endpoint generates incorrect attachment rules		Rewrite Rules		normal	normal	Awaiting Review	defect (bug)	new		2012-11-28T08:47:43Z	2013-05-15T17:31:34Z	"{{{add_rewrite_endpoint}}} with {{{EP_ALL}}} or {{{EP_ATTACHMENT}}} results in incorrect endpoint matches. The index set for the endpoint value is {{{2}}} which ends up returning the slash as well. The index should actually be {{{3}}} since we only care about the inner match.

Example:

{{{add_rewrite_endpoint( 'my-endpoint', EP_ALL )}}}

Results in rules like (dump from {{{$wp_rewrite->generate_rules}}}:

{{{
  '.?.+?/([^/]+)/my-endpoint(/(.*))?/?$' =>
  string(35) ""index.php?attachment=$1&my-endpoint=$2""
  '.?.+?/attachment/([^/]+)/my-endpoint(/(.*))?/?$' =>
  string(35) ""index.php?attachment=$1&my-endpoint=$2""
}}}

Visiting a {{{my-endpoint}}} URL for an attachment like {{{/2012/01/01/post-name/attachment/my-endpoint/foo/}}} will return the value of {{{get_query_var( 'my-endpoint' )}}} as {{{/foo}}} instead of {{{foo}}}."	batmoo
14991	extra_rules_top should take priority over extra_permastructs		Rewrite Rules	3.1	normal	normal	Future Release	defect (bug)	new	has-patch	2010-09-29T18:00:08Z	2011-01-13T04:43:24Z	Since extra_rules_top are specifically added instead of generated like the those from the extra_permastructs which runs through generate_rewrite_ruls(), shouldn't the extra_rules_top take priority in conflicts?	prettyboymp
19493	post and archive pagination don't work with custom endpoints		Rewrite Rules	2.1	normal	normal	Awaiting Review	defect (bug)	new		2011-12-09T23:55:09Z	2012-04-02T20:54:52Z	"Archive pagination and post pagination are not endpoint-aware, so they break when endpoints are added to them.  

The following example code creates an endpoint, and then uses a filter to add that endpoint to various links on the rendered page:

{{{
add_action( 'init', function() {
	global $wp_rewrite;
	add_rewrite_endpoint( 'foo', EP_ALL );
	$wp_rewrite->flush_rules(false);
} );

add_filter( 'post_link', 'gist_add_endpoint_to_url', 99 );
add_filter( 'get_pagenum_link', 'gist_add_endpoint_to_url', 99 );
function gist_add_endpoint_to_url( $url_base ) {
	$endpoint = 'foo';

	$url_parts = parse_url( $url_base );

	$url = ( isset($url_parts['scheme']) && isset($url_parts['host']) ) ? $url_parts['scheme'] . '://' . $url_parts['host'] : '';

	$url .= isset($url_parts['path']) ? $url_parts['path'] : '';

	$url = user_trailingslashit( $url );

	if ( '' === get_option('permalink_structure') ) {
		$url .= isset($url_parts['query']) ? '?' . $url_parts['query'] : '';

		$url = add_query_arg( $endpoint, 'true', $url );
	} else {
		$url .= $endpoint . '/true';
		$url = user_trailingslashit( $url );
		$url .= isset($url_parts['query']) ? '?' . $url_parts['query'] : '';
	}

	$url .= isset($url_parts['fragment']) ? '#' . $url_parts['fragment'] : '';

	return $url;
}
}}}

You'll see that it works perfectly using the theme unit test, except that paginated posts produce URLs like this:
http://example.com/2008/09/layout-test/foo/true/2/ 
...which doesn't work.  The inverse -- http://example.com/2008/09/layout-test/2/foo/true/  -- also doesn't work, and produces a 404 on top of it. 

Also, the older posts / newer posts produce this format of link:
http://example.com/page/2/foo/true/
.. .which also doesn't work.

If you change gist_add_endpoint_to_url() to add a querystring param, older posts/newer posts links work fine, but post pagination still breaks:
{{{
function gist_add_endpoint_to_url( $url_base ) {
	$endpoint = 'foo';
	$url_base = add_query_arg( $endpoint, 'true', $url_base );
	return $url_base;
}
}}}

If you don't use a permalink structure at all, it works fine, since the pagination params are passed directly in the URL.

I'm not sure if the fix lies in modifying add_rewrite_endpoint() so that it creates pagination urls in wp_rewrite, or modifying the way _wp_link_page() and get_next_posts_link() work.  "	mintindeed
16830	url_to_postid() doesn't resolve attachments when rewrite rules are disabled		Rewrite Rules	3.1	normal	normal	Awaiting Review	defect (bug)	new		2011-03-11T01:09:14Z	2011-04-03T04:11:21Z	"The code of {{{url_to_postid()}}} is pretty clear in the case of disabled rewrite rules: all URLs not using the {{{p=N}}}, {{{page_id=N}}} or {{{attachment_id=N}}} forms are not parsed and the function return 0. That make sense.

Now there is a special case for attachments. Attachments can be saved under a the {{{/wp-content/uploads/year/month/}}} folder structure while rewrite rules are disabled at the same time.

This means there is a missed opportunity for {{{url_to_postid()}}} to resolve attachment's URLs of the long-form when rewrite rules are disabled.

This was tested and reproduced on WordPress 3.1."	Coolkevman
21374	Add core support for letting custom permalink structure for different post types		Rewrite Rules	3.4.1	normal	normal	Awaiting Review	enhancement	new		2012-07-25T14:42:15Z	2012-09-19T09:56:07Z	"By default, custom post types uses only the'' %postname%'' permalink structure (if using pretty links and not default query variables).
Currently there is no native way to easily have different permastructs for different CPT.

This features should be added to the '''register_post_type()''' function, letting different permalink structure be defined to each post_type being registered.

I sugget adding another new key to the '''rewrite''' array that can be passed to the '''register_post_type()''' function. 

i.e. - 

{{{
register_post_type('event',array(
......
'rewrite' => array('slug' => 'events', 
	   'permastruct' => '%year%/%monthnum%/%event%'
	),
.....
));
}}}

The register_post_type function should be changed, a suggestion for such a change may be that instead of this line in the function - (post.php line#1075)

{{{
add_permastruct( $post_type, ""{$args->rewrite['slug']}/%$post_type%"", $args->rewrite );
}}}

This example could be used - 


{{{
if (  $args->rewrite['permastruct'] )	{			
			$perma_structure = $args->rewrite['permastruct'];			
			$wp_rewrite->add_rewrite_tag(""%{$post_type}%"", '([^/]+)', ""{$post_type}="");
			$wp_rewrite->add_permastruct($post_type, $archive_slug.'/'.$perma_structure, false);	
		}
		else	{
			add_permastruct( $post_type, ""{$args->rewrite['slug']}/%$post_type%"", $args->rewrite );			
		}
}}}



In order that the structure can interpret the permastruct tags, I added also this function to filter post_type_link, it is adapted from '''get_permalink''' function in ''wp-includes/link-template.php'' -

{{{
add_filter('post_type_link', 'tc_permalink', 10, 3);	
function tc_permalink($permalink, $post_id, $leavename) {
	$post = get_post($post_id);
	$rewritecode = array(
		'%year%',
		'%monthnum%',
		'%day%',
		'%hour%',
		'%minute%',
		'%second%',
		$leavename? '' : '%postname%',
		'%post_id%',
		'%category%',
		'%author%',
		$leavename? '' : '%pagename%',
	);
 
	if ( '' != $permalink && !in_array($post->post_status, array('draft', 'pending', 'auto-draft')) ) {
		$unixtime = strtotime($post->post_date);
 
		$category = '';
		if ( strpos($permalink, '%category%') !== false ) {
			$cats = get_the_category($post->ID);
			if ( $cats ) {
				usort($cats, '_usort_terms_by_ID'); // order by ID
				$category = $cats[0]->slug;
				if ( $parent = $cats[0]->parent )
					$category = get_category_parents($parent, false, '/', true) . $category;
			}
			// show default category in permalinks, without
			// having to assign it explicitly
			if ( empty($category) ) {
				$default_category = get_category( get_option( 'default_category' ) );
				$category = is_wp_error( $default_category ) ? '' : $default_category->slug;
			}
		}
 
		$author = '';
		if ( strpos($permalink, '%author%') !== false ) {
			$authordata = get_userdata($post->post_author);
			$author = $authordata->user_nicename;
		}
 
		$date = explode("" "",date('Y m d H i s', $unixtime));
		$rewritereplace =
		array(
			$date[0],
			$date[1],
			$date[2],
			$date[3],
			$date[4],
			$date[5],
			$post->post_name,
			$post->ID,
			$category,
			$author,
			$post->post_name,
		);
		$permalink = str_replace($rewritecode, $rewritereplace, $permalink);
	} else { // if they're not using the fancy permalink option
	}
	return $permalink;
}
}}}



On a basic check this seems to be working, but ofcourse needed to be more deubgged.. I will be happy to here if you think such a feature should be added to core."	maorb
23491	Add hook to insert_with_markers() so theme/plugin authors can prevent writing to .htaccess		Rewrite Rules		normal	normal	Awaiting Review	enhancement	new		2013-02-17T17:09:18Z	2013-02-17T17:09:18Z	"If not using .htaccess to rewrite, but instead keeping those settings in an Apache config file, it would be nice if writing the .htaccess file could be prevented by hooking into the function that does that (e.g. returning false or something like that).

Why? If the Apache option AllowOverride is turned off (which it should be for performance reasons, if not using any .htaccess files) the file won't ever be read. But still having it around (except cluttering) can possibly confuse someone having access to the server, seeing the file and thinking it actually controls anything. Especially since most WordPress support threads on the Internet assumes that an .htaccess file is used for rewrite rules.

One solution is to keep an empty, non-writable .htaccess file, optionally having a comment in it saying it's unused, but getting rid of the file altogether would be much cleaner. Also, it can still happen that someone accidentally changes the file permission, and someone else (or the same person) saves permalink options, saving a new .htaccess file, having created the possibility of confusion once again."	alimony
14549	Allow Control over Hard vs. Soft Rewrite Flush		Rewrite Rules		normal	normal	Future Release	enhancement	new	dev-feedback	2010-08-06T02:20:24Z	2011-01-13T04:42:36Z	"Many times when the rewrite rules are flushed, it really only requires that the rules be written to the database and not .htaccess. In some cases, re-writing .htaccess can cause detrimental changes to the mod rewrite rules.

This patch allows a plugin author to have control over whether a hard flush is executed when flush_rewrite_rules() is called.

Introduces filter: flush_rewrite_rules_hard

Depends on #14546"	ikailo
18962	Allow duplicate slugs for different content		Rewrite Rules		normal	normal	Future Release	enhancement	new	needs-unit-tests	2011-10-16T16:23:34Z	2012-11-29T18:12:01Z	"Currently, the slug of a post (or any other CPT) must be unique. 
If a content is being created and an already existing slug is being assigned to it - WP will add a number for identification (i.e. about-2 etc).

That means, that if one has content from different content types, or in different categories (taxonomies), it still cannot have same slug.

The issue might be very disturbing when working in a multi lingual site (i.e using WPML or any other plugin for that).
Suppose there is an about page - www.mysite.com/about.
This is in the main language of the site.
Than a translation to that content page is being added,  let's say it is translation to English.
You would expect url something like www.mysite.com/en/about, but the slug is being changed to about-2, so the url of the about page in English becomes www.mysite.com/en/about-2.
For a site with 10 languages, let's say, it will end with urls like site.com/lang/about-10 etc.. and this is not looking good and may confuse.

As a cms, WP should let the admin/developer/operator - to have same slugs for different content types, or even in the same content type. The $post->ID is the unique identifier of a content, why should be also the slug?

"	maorb
13837	Better site rewrite handling and UI, fix hard/soft rule flushing		Rewrite Rules		normal	normal	Future Release	enhancement	new		2010-06-11T00:13:17Z	2010-10-28T09:38:07Z	Per discussion in IRC. We want to cleanup and make hard/soft rewrite rule flushing consistency, etc.	wpmuguru
12779	Better support for custom post types in WP_Rewrite	ryan	Rewrite Rules		normal	normal	Future Release	enhancement	new		2010-03-30T20:04:30Z	2012-08-24T05:17:56Z	"See also #12605 and [13773].

We currently use bitmasks in WP_Rewrite, which we should remove and convert to an array of URL types that can be checked using in_array(). We currently do not use bitmask operations in WP_Rewrite that would make them preferable for use.

To currently use custom post types with endpoints, a plugin would need to do the following, from [comment:5:ticket:12605 dd32 in #12605]:
{{{
define('EP_WIKI', 131072); // 2^17. 2^13 is used by core.
register_post_type('wiki', array(
	'label' => __('Wiki'),
	'public' => true,
	'supports' => array('revisions', 'editor', 'title'),
	'permalink_epmask' => EP_WIKI,
	'hierarchical' => true
));
add_rewrite_endpoint('history', EP_WIKI);
}}}

In particular:
> Care would need to be taken that any custom endpoints are in {{{2^x}}} format, and not currently in use by any other plugins loaded.

This would need to be backwards compatible with the existing bitmasks. More or less, {{{WP_Rewrite::add_endpoint()}}} would need to still take bitmasks and convert them to the new format."	nacin
18084	Comments Page Rewrite Customization		Rewrite Rules	3.2	normal	normal	Awaiting Review	enhancement	reopened	has-patch	2011-07-12T16:36:14Z	2012-04-06T01:58:46Z	"So I was doing some stuff on translation of the rewrite URLs, to pt-BR I've run into a problem, that the Comments Page Rules cannot be changed using a base variable, like all the other bases.

So Im attaching a file to this ticket with the modified File, but I didn't test if its a good solution, thats the one I can think of.

I really would like to see this enchancement.

Thanks,"	webord
18877	DRY up rewrite rule matching		Rewrite Rules		normal	normal	Awaiting Review	enhancement	new	has-patch	2011-10-06T22:24:34Z	2011-10-24T13:42:44Z	"Currently, the whole rewrite matching loop is duplicated: once in WP::parse_request() and once in url_to_postid().

Re-posting the patch from #16687 for consideration."	scribu
11931	Day/Month/Year Permalink Structure Fails in Archives	ryan	Rewrite Rules	2.8.6	normal	normal	Future Release	enhancement	new		2010-01-17T14:53:37Z	2010-06-23T17:02:55Z	"If you use a permalink structure with %day%/%monthnum%/%year% then the archives automatically become date/%day%/%monthnum%/%year%. Wordpress automatically makes the links to monthly archives date/01/2010 etc (which is good), but if you go to it you get a 404 not found.

Reproduce using for example /%post_id%/%postname%/%day%/%monthnum%/%year%/

I ""fixed"" it with this plugin I wrote, but it will probably fail when things like /page/2/ come into play (that wasn't really important yet). "	Frenzie
14502	Enable /post-type/taxonomy/term/ permalinks		Rewrite Rules		normal	normal	Future Release	enhancement	new		2010-08-01T22:57:29Z	2013-02-07T21:52:30Z	After we get /post-type/ handled (see #13818), it would be nice if we also had /post-type/taxonomy/term/ mapped to ?post_type=post-type&taxonomy=term	scribu
13701	Full support for middle and little endian permalink structures		Rewrite Rules	2.9.2	normal	normal	Future Release	enhancement	reopened	needs-unit-tests	2010-06-02T14:34:08Z	2013-05-14T13:32:31Z	"This only happened after I switched over to the WordPress 3.0 development version, so I'm inclined to think it's a bug.  When I use the traditional wp_get_archives or the dropdown version it shows that posts exist.  However, when I click to go to any of those past posts, I only get a 404 Error.  This problem is very consistent, happening 100% of the time.  Disabling all plugins has no affect on the problem.

The only other information that might be helpful is that I've integrated WordPress into a website that I built and I am using a custom theme that I built.  It only has the index.php, single.php, and style.css files.

Again, the wp_get_archives function worked just fine with the exact same setup that I have now prior to switching to the 3.0 version, so I'm not sure what changed."	RevelationTravis
16725	Inconsistent leading slash in WP_Rewrite		Rewrite Rules		normal	normal	Future Release	enhancement	new		2011-03-02T17:25:58Z	2011-03-02T17:25:58Z	"#16626 revealed an inconsistency in WP_Rewrite, where {{{$wp_rewrite->front}}} has a leading slash, but the final rules array doesn't.

This is caused by the fact that {{{$wp_rewrite->permalink_structure}}} itself has a leading slash.

Also note that {{{$wp_rewrite->search_structure}}} stands out as the only structure that doesn't have a leading slash.

This should be made consistent somehow."	scribu
22798	"Invalid URLs not giving 404 with ""Default"" permalink settings"		Rewrite Rules	3.4.2	normal	normal	Awaiting Review	enhancement	new		2012-12-06T23:39:35Z	2012-12-07T03:25:50Z	"'''Steps to reproduce:'''
 - Set up Wordpress with the default .htaccess
 - Select the ""Default"" option under Permalink Settings
 - Enter an invalid URL eg 'http://blogroot.com/garlbeflax.abc'

'''Expected Behaviour:'''
 - 404 page is displayed

'''Observed Behaviour:'''
 - No 404 page is ever shown, no matter what the request string is
 - Instead, Wordpress behaves as if no path was requested, eg displaying the homepage/posts lists.
 - If requested url has any of the standard params in it, those params ARE executed, eg http://blogroot.com/foo?paged=2 would properly show the 2nd page of the posts.

'''Suspected cause:'''

In line 620 of wp-includes/class-wp.php (in WP->parse_request), there is a conditional which means the only time the request can be marked as a 404 error is if the array of rewrite rules is NOT empty:
{{{
        $rewrite = $wp_rewrite->wp_rewrite_rules();

        if ( ! empty($rewrite) ) {
           ...
}}}

If the ""Default"" permalink is selected, and no other rewrite rules are set up elsewhere (for reasons I didn't investigate, adding a add_rewrite_rule to the theme didn't affect anything), then the $rewrite array IS empty and the request can not be checked to see if it's a 404. Therefore, execution of the request continues as if no path info were submitted.

This prevents the showing of the theme's 404 page, and can get a website flagged as spam/exploitative in Google's index.

'''Workaround:'''

Define a permalink redirect (eg pick one of the options other than Default). 

Server info:
{{{
Apache/2.2.16 (Debian) (w/ mod_rewrite)
PHP Version 5.3.3-7+squeeze3 (mod_php5)
}}}

.htaccess contents:
{{{
<IfModule mod_rewrite.c>
RewriteEngine On
RewriteBase /
RewriteRule ^index\.php$ - [L]
RewriteCond %{REQUEST_FILENAME} !-f
RewriteCond %{REQUEST_FILENAME} !-d
RewriteRule . /index.php [L]
</IfModule>
}}}"	vanchuck
18450	New safe action to add rewrite rules on		Rewrite Rules	3.2.1	normal	normal	Awaiting Review	enhancement	new	dev-feedback	2011-08-16T19:56:10Z	2012-05-14T19:44:58Z	"Currently I don't believe it's possible to meet the following two criteria:

* Not flush rewrite rules on every page load
* Ensure that you always have your rewrite rules available

The problem arises when Plugin A has not yet added it's rewrite rules, but Plugin B calls ```flush_rewrite_rules```. Plugin A is a good citizen, and doesn't call ```flush_rewrite_rules``` unless it needs to and so now it's rewrite rules are no longer present. (See http://wordpress.stackexchange.com/questions/26029/when-to-call-add-rewrite-rule-for-safety for more.)

Westi suggested that hooks on delete_option and get_option of 'rewrite_rules' might work. This covers almost all situations, except the one where permalinks are off and then get turned on again when neither the delete_option or get_option actions/filters are fired.

Devs could hook the new action for their ```add_rewrite_rule``` calls, and use their own methodology to determine when to call ```flush_rewrite_rules```.

Two attachments:

* Example plugin, showing (hopefully) the problem with the existing situation
* Diff showing where the hook might be added

"	simonwheatley
18852	Nginx rewrite rules	johnbillion*	Rewrite Rules	3.3	normal	normal	Future Release	enhancement	accepted	has-patch	2011-10-03T21:50:19Z	2013-05-10T13:16:29Z	"On the Permalinks screen we show rewrite rules for IIS and for mod_rewrite on Apache. Nginx is [http://news.netcraft.com/archives/2011/09/06/september-2011-web-server-survey.html getting pretty popular now], so we should think about showing Nginx rewrite rules on this screen.

Unfortunately WordPress can't write directly to Nginx's rewrite configuration, but we can show the required rules for convenience and we can allow plugins to filter them if necessary (in the samw way IIS and mod_rewrite rules can be filtered).
[[BR]]
"	johnbillion
17185	Optimize verbose attachment rules		Rewrite Rules		normal	normal	Awaiting Review	enhancement	reopened	has-patch	2011-04-20T00:18:21Z	2012-04-30T17:55:03Z	"Looking at the rules created for verbose pages it seems that there are a large number of redundant rules created specifically for attachments.

For example:

{{{
page-slug/attachment-slug/attachment/([^/]+)/?$ => index.php?attachment=$matches[1]
another-page/another-attachment/attachment/([^/]+)/?$ => index.php?attachment=$matches[1]
page-slug/attachment/([^/]+)/?$ => index.php?attachment=$matches[1]
another-page/attachment/([^/]+)/?$ => index.php?attachment=$matches[1]
...
}}}

As well as the associated trackback, feed and comment page rules for each.

I think we could get rid of specific attachment rewrite rules for pages and their attachments and replace them with a catch-all rewrite for page attachments:

{{{
.+?/attachment/([^/]+)/?$ => index.php?attachment=$matches[1]
}}}

I also set the flag to include paged requests (slug/page/xx/) to false for pages and page attachments for verbose rules. I think think this could also be applied to post rewrite rules and non-verbose page rules since neither are paged, though they have pages (slug/xx/), but I will open another ticket for that. This is the part I am less sure about since myself and others have been confused by the paged rules before (page/xx/), so correct me if I'm wrong here (or anywhere else!).

For the /%postname%/ structure the attached patch cuts the number of rewrites rules for 1297 pages from 14361 to 6562. This translated to a drop from 0.42s to 0.31s average response time in testing (tested using siege with one concurrent user for 30 seconds) on a single post permalink so near the bottom of the rewrite stack for verbose page rules in trunk.

I have run this patch against the current tests for WP_Query and WP_Rewrite (test_query.php in the unit-tests SVN) using several different verbose rewrite structures, including /%postname%/ and /%category%/%postname%/. The only 'fail' was for the test of paged rewrites for pages which I mentioned above (there were a couple of other tests that showed up as fails initially but further investigation proved to be problems with conflicting page and post slugs). This gives me confidence in the patch but even more rigorous testing is definitely required.

I also wrote a patch which utilised a new parameter for generate_rewrite_rules() to disable adding the attachment rules, but this didn't seem so clean.

Related: #16687 which is for %postname% in particular rather than all verbose structures"	duck_
18502	Show ID on Custom Post Types Permalinks		Rewrite Rules		normal	normal	Awaiting Review	enhancement	new		2011-08-23T18:43:19Z	2011-08-23T18:50:35Z	"Hi...
I have been using now lots of custom post types for different portals, and found that it's something no one ever knew, thought would be a cool feature if possible.

Now i have one custom post type for dvds, when the user publishes, it gets to 
/dvd/name-of-dvd

The other settings for permalinks is set to show /%post_id%/ so in the blog it gets
/1/name-of-post

Just on custom post types it's imposible to make that.
For some things, like jobs, dvd, books, maybe there are things with same name, and an ID would be better to identify...

"	kaiserlino
15324	There needs to be a page_base in rewrite.php		Rewrite Rules	3.1	normal	normal	Future Release	enhancement	assigned	dev-feedback	2010-11-05T21:34:26Z	2011-01-13T10:45:44Z	I'm not sure why this feature doesn't exist. It looks trivial and important. There are many reasons for putting pages at, say, /page/%pagename%. The attached patch makes it possible to write a plugin to allow this.	nkuttler
16840	add_rewrite_rule() should accept an array for the $redirect parameter		Rewrite Rules		normal	normal	Awaiting Review	enhancement	new	has-patch	2011-03-12T23:33:26Z	2012-06-04T16:27:23Z	"The most common usage of {{{add_rewrite_rule()}}} looks something like this:

{{{
add_rewrite_rule( 'some/path/([^/]+)/?$', 'index.php?some_var=$matches[1]&maybe_some_flag=1' );
}}}

That's not very pretty.

Here's what it could look like instead:

{{{
add_rewrite_rule( 'some/path/([^/]+)/?$', array(
  'some_var' => '$matches[1]', 
  'maybe_some_flag' => 1
) );
}}}

In the rare case when you want to use something other than 'index.php' in the front (i.e. an external rule), you can either fall back to the old form or just use add_external_rule().
"	scribu
9824	make better use of stubs when verbose rules should apply		Rewrite Rules		normal	normal	Future Release	task (blessed)	reopened	has-patch	2009-05-15T01:03:56Z	2011-11-02T16:08:26Z	"Related to:

http://core.trac.wordpress.org/ticket/6603#comment:27

Problem fixed is:

> posts show up as www.apexprd.org/page/2 and not /news-and-events/page/2 as it should.

with permalinks set to /something/$postname%/

we arguably don't necessarily need verbose rules here, since there is a stub."	Denis-de-Bernardy
23923	wp_get_post_revisions returns incorrect order		Revisions		normal	minor	Awaiting Review	defect (bug)	new		2013-04-03T12:07:19Z	2013-04-08T00:27:47Z	"When a post has multiple revisions and each revision has the exact same timestamp, `wp_get_post_revisions` returns revisions in reversed order, causing `wp_save_post_revision` to [http://core.trac.wordpress.org/browser/trunk/wp-includes/revision.php#L116 make a bad choice] for `$last_revision` (which is actually the first revision) and produce an extra revision, even if it has not been changed.

In a normal environment this doesn't happen, unless you run `wp_update_post` several times in a row in under one second, so this is an edge case. This edge case causes our [http://core.trac.wordpress.org/browser/tests/trunk/tests/post/revisions.php#L55 revisions.php tests] to fail randomly, depending on whether the updates happened with the same timestamp or not.

To reproduce, try running the revisions unit tests several times in a row."	kovshenin
23973	Add filter to _wp_post_revision_meta_keys() so developers can store custom meta data revisions		Revisions	trunk	normal	normal	Awaiting Review	enhancement	new	has-patch	2013-04-07T08:14:04Z	2013-04-07T17:29:53Z	"In r23928 we added functionality to:

* Store the post format as meta on revisions (including autosaves).
* Add post formats data (post meta) when autosaving.

'''There is still no way to autosave and revision custom post meta.'''[[BR]]
Adding a filter to _wp_post_revision_meta_keys() will allow developers and plugin authors to effectively save post_meta revisions. 

Related #20564, "	c3mdigital
18733	Show revision number for post/pages in Revision list	midhund	Revisions	3.3	normal	normal	Future Release	enhancement	new		2011-09-21T11:26:33Z	2013-05-02T09:46:41Z	"Sometimes the current revision title is not enough to identify the post/page revisions on the list. So I wish to show the revision number with link to revisions's page.

I have the patch, please review it."	midhund
13382	_wp_post_revision_fields filter is not very useful		Revisions	3.0	normal	normal	Future Release	enhancement	new		2010-05-13T20:57:51Z	2013-01-21T14:48:16Z	"The _wp_post_revision_fields filter allows plugins to modify which post fields get revisioned (the default is title, content, excerpt).

It's pretty useless, though, since it's only run once and can't be changed by post_type.  A custom post type, for example, might only want to enable revisions on the content.

The _wp_post_revision_fields() is also a variation on the getter/setter pattern (static variable) we use in a few places to avoid globals.  It makes the function kind of crazy.

Proposal:  Split into two functions

{{{
@var int|object|array $post post_id or post object or post array
@return array Fields to revision: array( field => i18n'd label )
function wp_get_post_revision_fields( $post ) {
    // filter with _wp_post_revision_fields: pass post_id, post_type, ...?
    // don't cache results
}

@internal
@var array $past post array
@return array Filled $post array with revision info
function _wp_post_revision_fields( $post ) {
    $revisionable = wp_get_post_revision_fields( $post )
    // ...
}
}}}

I'd like to see this in 3.0 if we can, but marking as 3.1 for now."	mdawaffe
9681	Add hooks to allow a plugin to support the deletion of unneeded revisions		Revisions	2.8	low	minor	Future Release	feature request	new		2009-04-29T15:50:32Z	2013-01-21T14:59:10Z	There currently is a means to restore a revision, but no means to delete one.	Denis-de-Bernardy
23314	Allow published posts to be revised without being updated immediately		Revisions		normal	normal	Future Release	feature request	new	early	2013-01-29T19:39:01Z	2013-04-10T09:08:15Z	Two things. Let's allow contributors to submit changes for review to their published posts. Let's also allow users to make changes to their posts and pages and save those changes, without updating the published post or page.	kovshenin
10834	schedule a revision to publish without unpublishing existing content		Revisions		normal	normal	Future Release	feature request	new		2009-09-23T20:49:27Z	2010-03-25T04:28:23Z	"Boy, it sure would be swell if I could take an existing post/page, edit the content or add tags/custom terms, and then schedule that revision to be published later, without unpublishing the previous revision.

Other people think it would be cool too... [[BR]]
http://wordpress.org/support/topic/216545 [[BR]]
http://wordpress.org/support/topic/226600 [[BR]]
http://wordpress.org/support/topic/273701 [[BR]]
http://wordpress.org/support/topic/273730 [[BR]]
http://wordpress.org/support/topic/275932 [[BR]]
"	alxndr
12014	Author selection becomes performance issue with large userbase with quick edit in admin		Quick/Bulk Edit		normal	normal	Future Release	defect (bug)	new		2010-01-25T17:51:15Z	2010-03-25T10:08:25Z	"MU Trac Ticket: http://trac.mu.wordpress.org/ticket/1086

When the author user base becomes too large, the script handling for the quick edit or inline edit begins to fail. In our specific situation, we have over 14000 authors for a single blog. This is causing the inline-edit-post.js to timeout and not completely render all the fields.

Since this would be such a rare issue, I think the best solution would be to just offer a hook that could keep the author option from being a part of the quick edit form. Since the field value is filled by js, then just replacing it with a hidden input keeps the author from being replaced on update.
"	wpmuguru
12769	Disappearing posts/pages (in quickedit mode)		Quick/Bulk Edit	2.9.2	low	minor	Future Release	defect (bug)	new		2010-03-30T08:53:39Z	2011-03-13T22:53:58Z	"Steps to reproduce:
1. Quickedit a post.
2. Click save and instanly click quick-edit on another post.
When the ajax-request completes the first quick-edited post will disappear from the posts table. This is only a display bug."	catahac
16645	Inline edit defaults author to current user		Quick/Bulk Edit	3.1	normal	normal	Awaiting Review	defect (bug)	new	has-patch	2011-02-24T17:47:35Z	2011-02-27T09:31:30Z	"This one looks a bit like ticket #13982

Here is what happens :
- I have created a custom post type that doesn't support the 'author' when registering it (with register_post_type)
- I am doing an inline edit of a custom post authored by another user
- the custom post author defaults to current user (ie the one who is performing the inline edit instead of the one who authored it)

This behavior is different from what you see with post type of post where inline edit wouldn't change the post author.

To debug it further, I have enabled the 'author' during the custom post type registration and the problem isn't there anymore in that case. So it is probably linked to the fact that 'author' wasn't entered in the supports array entry during the custom post type registration.

I am not sure if this is a bug or expected behavior but it would be nice to be able to have a common behavior accross post types weither 'author' is supported or not."	firebird75
19907	Updating an unpublished draft post in quick-edit mode sets the post's publish date		Quick/Bulk Edit	2.7	normal	major	Future Release	defect (bug)	new	needs-unit-tests	2012-01-27T14:51:32Z	2013-01-14T11:35:22Z	"'''Problem:'''

 • If you update an unpublished draft post in quick-edit mode, the post's ''publish date'' is saved. [[BR]]
 • Then, later on, when you actually publish the post, its publish date is incorrect.

'''Suggested fix:''' 

 • If the post is a draft, do not automatically set the post's publish date in quick-edit mode.

'''Steps to reproduce:''' 

(1) Go to WP-Admin -> Posts.

(2) Create and save a new post. Make sure you click ""Save Draft"" — not ""Publish"".

(3) Note that the post is marked as ""Publish immediately""; that is, it has no publish date.

(4) Go back to WP-Admin -> Posts.

(5) Hover your pointer over the post you just created. Click ""Quick Edit"". 
 — Note that in the panel that appears, the ""Date"" field is automatically set to [the current date and time].

(6) Click ""Update"" in quick-edit mode.

(7) Hover your pointer over the post you just updated. Click ""Edit"". 
 — Note that in the Edit Post page that appears, the post is now marked as ""Publish on: [the date and time from step (5)]""
"	uxtremist
19859	"""Bulk Edit"" Missing The Ability To Edit Tags"	gavinwye*	Quick/Bulk Edit		normal	normal	Awaiting Review	enhancement	accepted		2012-01-20T02:56:24Z	2012-12-20T00:41:06Z	"Though I can add, remove and edit ""categories,"" I cannot do such actions to ""tags"" inside of /wp-admin/edit.php

So basically, I'm interested in a ""bulk tag editing"" GUI for the WordPress admin.

===

I was hoping to find out the status of this feature (planned, not planned, etc) but it appears that no one has spoken about this feature on the WordPress Trac.

Is there any interest in adding this feature? And could the respondent please provide any details on why or why not?

Thank you for your time."	ademos
19392	Add auto-suggest support for all flat taxonomies in Bulk Edit.		Quick/Bulk Edit	3.0	normal	normal	Awaiting Review	enhancement	new	early	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
12940	Add filter for contents of Quick Edit panel		Quick/Bulk Edit	3.0	normal	normal	Future Release	enhancement	new		2010-04-09T16:16:07Z	2012-06-27T15:22:40Z	"Quick Edit / Reply for comments has a filter called {{{wp_comment_reply}}} which allows plugins to replace its contents.

However, there is no such filter for Quick Edit for posts.
With the new custom post type support, it can be very important for plugins to be able to replace the contents of the Quick Edit panel.[[BR]]
I would therefore like to create a similar filter for Quick Edit for posts.

Does anyone have any comments or suggestions?[[BR]]
And will it get into 3.0, or is it too late even though it's just a very minor change? I personally think it is very important that it gets into 3.0, since the utility of custom post types is severely limited in some cases by the lack of it."	caesarsgrunt
21840	Add filter for taxonomies shown in quick edit		Quick/Bulk Edit		normal	normal	Awaiting Review	enhancement	new		2012-09-08T02:02:36Z	2012-09-08T17:08:36Z	"I'd like to propose that there be more options to adjust the default quick edits.  For instance, my Radio Buttons for Taxonomies plugin removes the default metabox for taxonomies and replaces it with one that uses radio inputs, which limits the user to a single term choice.  

However in the quick edit, this is easily circumvented, because I have no way to remove the taxonomy inputs from being displayed in their default ways.  

At the minimum, just adding a filter to the taxonomies would let me disable the default taxonomy inputs and then add my own.  More hooks/filters would be ideal, but I think this is the minimum I can get away with. 

Sorry it isn't a patch or diff... I'll try to get WordPress set up as a repo on my computer.  But in the mean time I'm proposing a change to :

/wp-admin/includes/class-wp-posts-list-table.php file 

in the '''inline_edit()''' method, for instance, i'd like to change


{{{
$taxonomy_names = get_object_taxonomies( $screen->post_type );
}}}


to:


{{{
$taxonomy_names = apply_filters( 'inline_edit_taxonomies', get_object_taxonomies( $screen->post_type ), $screen->post_type );
}}}

"	helgatheviking
11302	Bulk editing posts should pre-fill fields with the same value		Quick/Bulk Edit	2.9	normal	normal	Future Release	enhancement	new		2009-12-01T20:48:41Z	2012-07-13T04:08:11Z	"All I need is quickly move some posts from one category to another.

How to simulate this problem:

Create 2 posts in Uncategorized category.
Check both of them - Bulk actions - Edit.
There is no category selected even if both posts are in Uncategorized. When I check Category1 and click Update, both posts are now in Uncategorized and also in Category1. But no chance remove them from Uncategorized with Bulk actions."	pavelevap
9683	Inconsistent font for Quick Edit labels		Quick/Bulk Edit		low	minor	Future Release	enhancement	new	needs-review	2009-04-29T22:02:15Z	2012-12-19T17:34:49Z	It's always bugged me that the labels for all the Quick Edit fields are a serif font and italic when all the other labels are sans-serif (aside from major headers and a few other elements).  Am I alone in this?	aaron_guitar
15637	Inline Edit Has No Hooks		Quick/Bulk Edit	3.1	normal	normal	Future Release	enhancement	new		2010-12-02T01:00:50Z	2012-05-11T11:23:26Z	"Currently, I am attempting to make it possible for an author to ""feature"" a post straight from the Quick Edit screen. I am looking in wp-includes/class-wp-posts-list-table.php and there are no hooks or actions for the Quick Edit screen so that I can add a checkbox or another input field in there.

I just want to add a checkbox to ""feature"" the post and then save it to the custom fields of that post, not too hard. But I need the do_action's to be there! Thanks!"	sean212
11328	Issue with double click on comment's text when quick edit is used		Quick/Bulk Edit	2.9	normal	major	Future Release	enhancement	new		2009-12-04T21:12:35Z	2011-04-22T21:26:47Z	"When you edit comment via quick edit or when you write a reply on ""Edit Comments"" page and double click on text of other comment, used quick editing is turned off and quick editing is turned on other comment, with all text which you wrote lost.

I noticed this when I wrote a reply on one comment and when I wanted to copy a word from that comment by double clicking on it, my whole reply was lost.

So enabling of quick edit via double click on comment's text should be  disabled when quick edit is used."	dimadin
10480	Need method to display custom errors for quickedit		Quick/Bulk Edit	2.8.2	normal	normal	Future Release	enhancement	new	reporter-feedback	2009-07-24T21:34:14Z	2011-07-27T06:01:59Z	Some time ago I wrote [http://wordpress.org/extend/plugins/wypiekacz/ Wypiekacz] plugin. It checks if post satisfies some rules. When check result is negative, plugin displays message for the logged user. Unfortunately when post is edited with quickedit, user do not get any error message. It will be good do add mechanism do return custom error message to the client for quickedit.	sirzooro
16392	Quick Edit API should allow to pick up custom field values automatically		Quick/Bulk Edit	3.1	normal	normal	Future Release	enhancement	new	has-patch	2011-01-27T22:22:10Z	2012-03-28T18:29:35Z	"Attached are two screenshots of the same plugin in 3.0 and 3.1. The plugin code is unchanged between the two. Only WP gets an svn switch.

I'm investigating where it's coming from, but as you can note from the screenshots 3.0 lists nada for that plugin on the one hand side, while 3.1 lists actual fields and leaves them blank. The latter causes data loss when Quick-Editing a row.

Cross-referencing ticket references:

http://code.google.com/p/wp-e-commerce/issues/detail?id=327

Plugin SVN:

http://svn.wp-plugins.org/wp-e-commerce/branches/3.8-development
"	Denis-de-Bernardy
16502	Quick Edit contents should only be rendered if quick edit button in actions after filtering		Quick/Bulk Edit	3.0.4	normal	minor	Future Release	enhancement	new	has-patch	2011-02-09T08:48:22Z	2011-02-09T15:29:11Z	"_the_post() has a static call to get_inline_data() to generate the quick_edit content. This happens even if after running the (undocumented) 'post_row_actions' filters the Quick-Edit link ($actions['inline hide-if-no-js']) is not amongst the actions anymore.

Prefixing the get_inline_data() call with 
{{{
if (isset($actions['inline hide-if-no-js'])
}}}
would be a simple solution, enabling people to cancel the performance-impacting quick-edit form generation alltogether."	wyrfel
14326	Renaming tags/categories causes unpredictable results		Quick/Bulk Edit	3.0	lowest	trivial	Future Release	enhancement	new		2010-07-16T02:39:14Z	2010-11-22T17:35:14Z	When renaming a tag/category through quick edit, if the new title contains the character ' — ' (&8220;) the script produces unexplainable results.	kdizas
11472	Should QuickEdit remove posts from lists as needed?		Quick/Bulk Edit	2.9	normal	normal	Future Release	enhancement	new		2009-12-17T10:29:38Z	2013-01-21T23:51:08Z	"Create a draft post. Visit Posts / Edit, and quickedit the draft. Set its status to Published and save. It remains around, with the published status, instead of being removed from the list.

Reporting this just in case, as it might be a UI feature rather than a bug.
"	Denis-de-Bernardy
12684	Add Edit to Bulk Actions menu on Categories screen		Quick/Bulk Edit	3.0	normal	normal	Future Release	feature request	assigned		2010-03-23T17:04:15Z	2013-01-22T01:46:29Z	On edit-tags.php?taxonomy=category the only bulk action is Delete, because we never got around to adding Edit. We should add Edit to the bulk actions menu so people can change category parents easily. Has been requested on the Ideas forum a number of times, so am starting a ticket. If there's a technical reason not to add Edit to the bulk actions on this screen, then we should get rid of the menu and just have a Delete button. Adding Edit would be preferable, though, for consistency and usefulness. 	jane
12208	Add Quick Edit To Media Library		Quick/Bulk Edit		normal	normal	Future Release	feature request	new		2010-02-12T01:45:12Z	2013-04-12T16:28:27Z	I am requesting that a quick edit link be added to the media in the media library like what is on the posts page. I would like to quickly be able to edit titles, alts, and captions at least.	queenofdiy
19343	Allow Quick Edit to be Disabled for Custom Post Types		Quick/Bulk Edit	3.3	normal	trivial	Awaiting Review	feature request	new		2011-11-23T19:41:02Z	2012-11-22T03:17:16Z	"For some custom post types, quick edit doesn't make sense, and it's not easy to disable the quick edit code. You can use CSS to hide it but that still requires the code to be sent to the browser when it's not even needed.

The only other solution is to extend the ''WP_Posts_List_Table'' class and set the ''inline_edit()'' function to return nothing. Something like this: 
{{{
if(!class_exists('WP_List_Table')) {
	require_once(ABSPATH . 'wp-admin/includes/class-wp-list-table.php');
}

if(!class_exists('WP_Posts_List_Table')) {
	require_once(ABSPATH . 'wp-admin/includes/class-wp-posts-list-table.php');
}

class My_Posts_List_Table extends WP_Posts_List_Table {
	function inline_edit(){}
}

function my_admin_head() {
	$wp_list_table = new My_Posts_List_Table();
	$wp_list_table->prepare_items();
}

add_action('admin_head-edit.php', 'my_admin_head');
}}}
Clearly, that is a lot of code to accomplish something so simple.

So, it would be nice if there was some way to disable quick edit. Maybe it could be a feature you could disable via the ""''supports''"" option when you register the custom post type?"	Jick
18496	Quick edit loses custom colums and custom order - looks bad		Quick/Bulk Edit	3.2.1	normal	minor	Awaiting Review	feature request	reopened	reporter-feedback	2011-08-23T01:56:37Z	2012-06-18T22:31:42Z	"Using manage_posts_custom_column, 'manage_posts_columns', 'manage_edit-'.$post_type.'_columns'  etc

to add custom columns to the manage edit lists and to change the order of the fields.

If Quick edit is used on a post, the custom columns disappear (visually - a refresh displays them again) and the custom column order is reset just for that post.

This results in a rather buggy looking display. (See attached screenshots).  All is okay on a refresh of the page.

I think this is related to http://core.trac.wordpress.org/ticket/17935. (explained differently, but possibly similar cause?)


"	anmari
14195	$paged is not set when a Static Page is set as the Front Page	wonderboymusic*	Query	3.0	normal	normal	Future Release	defect (bug)	accepted	has-patch	2010-07-04T15:12:10Z	2012-10-31T23:38:33Z	"If a static page is set as the front page of your WordPress site, and you request paginated content from the page via its URL (with permalinks enabled or disabled, doesn't matter), the $paged variable is not set.

This causes custom pages (those ones displaying posts), to always go to Page 1, even if you click other pages. ( This is happening because $paged is set to null, and if it's set to null, it always goes to page 1).

Also, get_query_var('paged'), also returns null, when it should return page 2 (if you clicked on page 2 for example).

After inspecting $wp_query, I noticed that the correct paginated value is stored on 
{{{
$wp_query->query['paged']
}}}

So, I have to do the following on all my themes on header.php, so the pagination doesn't break:

{{{
global $wp_query, $paged;
$paged = $wp_query->query['paged'];
}}}

This sets $paged again,with the correct value from $wp_query and fixes the bug. Since $paged is null whenever a custom page is selected as your homepage. 

This fix works with permalinks enabled or disabled."	der
14825	'Sticky' Posts from excluded category still included in WP_Query results	ryan	Query	3.0.1	normal	major	Awaiting Review	defect (bug)	reviewing	dev-feedback	2010-09-10T00:05:55Z	2011-04-20T22:54:20Z	"Hi,

I want to have a list of articles that exclude posts in a category I have called ""Stories."" Some articles in the Stories category are marked as ""sticky"".

{{{
$cat_id = get_cat_id(""Stories"");
$query = new WP_Query(""cat=-{$cat_id}&posts_per_page=10&caller_get_posts=0"");
}}}

However, this still returns articles from the Stories category, but only those that are marked as ""sticky"".

I've taken a look at the source code of wp-includes/query.php, and it seems that what's happening is that it prepends all ""sticky"" posts that were not in the initial query results, regardless of category. (There is only logic implemented that honours the {{{post_type}}}.)

I would appreciate it this bug be addressed and released in an upcoming WordPress release.

Thanks."	newmediarts
17592	'exclude_from_search' excludes from non-search queries		Query	3.1.2	normal	normal	Future Release	defect (bug)	new	has-patch	2011-05-27T18:17:53Z	2012-06-19T12:00:46Z	"Any WP_Query using 'post_type' = 'all' will only return post types where 'exclude_from_search' is FALSE. I would expect 'post_type' = 'all' to include all post types, *except* when initiated via a front-end search.

Recommend adding an is_search() check when excluding post types from a 'post_type' =  'all' query."	danblaker
22556	A taxonomy archive query for attachments can't return results		Query	3.5	normal	normal	Future Release	defect (bug)	new	early	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
19471	Automatically support custom post types in category and tag archives		Query	3.0	normal	normal	Awaiting Review	defect (bug)	new	reporter-feedback	2011-12-07T20:56:03Z	2012-11-22T03:12:48Z	"I dealt with a plugin recently that had the following code in it:

{{{
#!php
<?php
add_filter('pre_get_posts', 'query_post_type');
function query_post_type($query) {
    if(is_category() || is_tag()) {
        $post_type = get_query_var('post_type');
        if($post_type)
            $post_type = $post_type;
        else
            $post_type = array('post','external-videos');
        $query->set('post_type',$post_type);
        return $query;
    }
}
?>
}}}

The goal was simply to allow their custom post type that was connected to category and tag taxonomies to have its entries rendered on category and tag archive pages. Digging around, it seems that [http://wordpress.org/support/topic/custom-post-type-tagscategories-archive-page/ many people] are using a solution like this.

Of course, the code has problems in that it misses home pages and will mess with all other queries on the affected page (such as menus). Looking further in the thread, it seems people tried fixing up these limitations with code such as the following:

{{{
#!php
<?php
add_filter('pre_get_posts', 'query_post_type');
function query_post_type($query) {
  if(is_category() || is_tag() || is_home() && empty( $query->query_vars['suppress_filters'] ) ) {
    $post_type = get_query_var('post_type');
	if($post_type)
	    $post_type = $post_type;
	else
	    $post_type = array('post','articles','nav_menu_item');
    $query->set('post_type',$post_type);
	return $query;
    }
}
?>
}}}

While this may address the known issues, I don't see it as a solid solution in any way. Here are just couple of the primary issues I see with such a solution:

 * Things are very likely to change in the future (such as the possibility of adding additional core taxonomies or query modifications), causing the ever-increasing number of plugins that use custom post types to constantly have bugs.
 * Since the WP_Query->set function replaces values rather than merging them, even the ""fixed"" version of the code will cause plugin conflicts as multiple instances of this solution will systematically undo the modification done by each previous instance. Sure, the code could be improved to cover this, but the odds of getting everyone to fix their code are not good.

To me, this is something that was an oversight in the development of custom post types. I can think of no reason why this should not be automatically handled. The dashboard properly shows post counts for categories and tags that include the custom post types, but the query simply fails to handle this. It needs to be fixed.

Testing things out, I noticed that custom taxonomies did not have this problem at all. Looking at wp-includes/query.php, I saw the following:

{{{
#!php
<?php
if ( $this->is_tax ) { 
    if ( empty($post_type) ) { 
        $post_type = 'any';
        $post_status_join = true;
    } elseif ( in_array('attachment', (array) $post_type) ) { 
        $post_status_join = true;
    }   
}   
?>
}}}

This is what allows custom taxonomy archives to work properly without having to filter the query. I've always felt that is_tax should cover categories and tags as well, but what is done is done. So, I propose that this section is modified to include a check for is_category and is_tag. Example:

{{{
#!php
<?php
if ( $this->is_tax || $this->is_category || $this->is_tag ) { 
    if ( empty($post_type) ) { 
        $post_type = 'any';
        $post_status_join = true;
    } elseif ( in_array('attachment', (array) $post_type) ) { 
        $post_status_join = true;
    }   
}   
?>
}}}

This allows for things to ""just work"" as people would expect. Of course, plugins would have to remove their filter in order to avoid plugin conflicts as the post_type query arg would still be set and will not be changed automatically to ""any"". This is as it should be though, so people will just have to be convinced over time to remove the modification from their plugins.

Attached is the proposed patch."	chrisbliss18
17737	Be better at forcing data types for query vars		Query	3.0	normal	normal	Future Release	defect (bug)	new	has-patch	2011-06-09T21:59:41Z	2013-05-14T13:24:57Z	"I already email this flaw to security@wordpress.org but Andrew Nacin told me that this is not a WordPress flaw, but php server config flaw. So i post this here now.[[BR]]

----

''Exploit'' : http://WEBSITE.COM/?author[]=1 [[BR]]
''Problem'' : FPD (https://www.owasp.org/index.php/Full_Path_Disclosure) [[BR]]
''Solution'' : Add this ""@ini_set('display_errors', 0);"" or this ""error_reporting(0);"" in the end of wp-config.php file. [[BR]]
''Patch'' : [[BR]]
1) wp-includes/query.php line 2239 [[BR]]
Replace
{{{
$q['author'] = (string)urldecode($q['author']);
}}}
by
{{{
if ( is_array( $q['author'] ) ) {
$q['author'] = $q['author'][0];
}
$q['author'] = (string)urldecode($q['author']);
}}}

2) wp-includes/canonical.php line 142 [[BR]]
Replace 
{{{
} elseif ( is_author() && !empty($_GET['author']) && preg_match( '|^[0-9]+$|', $_GET['author'] ) ) {
}}}
by
{{{
} elseif ( is_author() && !empty($_GET['author']) && preg_match( '|^[0-9]+$|', !is_array($_GET['author']) ? $_GET['author'] : $_GET['author'][0] ) ) {
}}}
[[BR]]
'''Julio''' - [http://www.boiteaweb.fr]"	juliobox
18386	"Bug in custom query when ""Front page displays"": ""A static page"""		Query	3.2.1	normal	normal	Future Release	defect (bug)	new	needs-unit-tests	2011-08-12T10:34:16Z	2012-05-09T10:13:53Z	"Here is the bug I have found:
When Front page displays is set to: A static page
and Blog posts are displayed on other page a bug accours...

Lets prepare test enviroment, with clear wp installation and two posts, where one of them is set to default category, and other is set to newly created category (which defautly has ID = 3).
Now, prepare two pages, and in Setting -> Reading set Front page to one of those pages, and Posts page to second one.

If You would like to exclude posts from category no 3 from main blog index, normaly You would use:
<?php query_posts($query_string . '&cat=-3'); ?> in index.php (or specified loop file linked there).
This would work if blog index is set as home page, but fails to work when above test enviroment is used."	CyberSpy
19412	Changeset 18995 can lead to Notice: Undefined index: wp_the_query		Query	3.3	normal	normal	Awaiting Review	defect (bug)	reopened	close	2011-12-02T09:53:01Z	2012-10-07T23:58:39Z	"In changeset r18995 there were two changes to query.php
The comment ""new does not require by reference"" applies to the first but not the second change.

Should the assignment by reference in wp_reset_query have been removed?

The reported problem is:
http://wordpress.org/support/topic/plugin-wordpress-seo-by-yoast-notice-undefined-index-wp_the_query?replies=2#post-2477593

I had the same problem and questioned the suggested fix. 
What I don't understand is why there is no Notice: message for the original code.

Try running this code.
{{{
<?php
error_reporting( E_ALL );  
@ini_set('display_errors',1);

function bad() {
  print_r( __FUNCTION__ );
  echo ""\n"";

  $GLOBALS = array( 'wp_query' => 'set' );
  print_r( $GLOBALS );
  unset($GLOBALS['wp_query']);
  $GLOBALS['wp_query'] = $GLOBALS['wp_the_query'];
  print_r( $GLOBALS );
  $GLOBALS['wp_query'] =& $GLOBALS['wp_the_query'];
  print_r( $GLOBALS );
}

function good() {
  print_r( __FUNCTION__ );
  echo ""\n"";
  $GLOBALS = array( 'wp_query' => 'set' );
  print_r( $GLOBALS );
  unset($GLOBALS['wp_query']);
  $GLOBALS['wp_query'] =& $GLOBALS['wp_the_query'];
  print_r( $GLOBALS );
  $GLOBALS['wp_query'] = $GLOBALS['wp_the_query'];
  print_r( $GLOBALS );
}

good();
bad();
}}}


"	bobbingwide
15551	Custom post type pagination redirect		Query	3.1	normal	normal	Awaiting Review	defect (bug)	reopened	reporter-feedback	2010-11-23T21:50:06Z	2012-02-25T11:23:57Z	"We seem to be having a problem with a redirect on a custom post page (e.g., http://www.example.com/show/slug/).

Everything on the page shows correctly. The template pulls in posts with the following query:
{{{
<?php query_posts(array('meta_key' => 'show', 'meta_value' => $show->ID, 'paged' => get_query_var('paged'), 'caller_get_posts' => true)); ?>
}}}

After the posts we display pagination links (e.g., http://www.example.com/show/slug/page/2/). In our rewrite rules, we include the following rule which should handle these URLs:
{{{
'show/([^/]+)/page/([0-9]{1,})/?$' => 'index.php?show=$matches[1]&paged=$matches[2]',
}}}

Instead of the page displaying and allowing us to pull in the second page of posts, the browser is being redirected back to the original page (http://www.example.com/show/slug/) with a 301. I see that this is happening inside the redirect_canonical function. The following code in wp-includes/canonical.php replaces /page/2/ with / causing the redirect:

{{{
	// paging and feeds
	if ( get_query_var('paged') || is_feed() || get_query_var('cpage') ) {
		if ( !$redirect_url )
		        $redirect_url = $requested_url;
		$paged_redirect = @parse_url($redirect_url);
		while ( preg_match( ""#/$wp_rewrite->pagination_base/?[0-9]+?(/+)?$#"", $paged_redirect['path'] ) || preg_match( '#/(comments/?)?(feed|rss|rdf|atom|rss2)(/+)?$#', $paged_redirect['path'] ) || preg_match( '#/comment-page-[0-9]+(/+)?$#', $paged_redirect['path'] ) ) {
		        // Strip off paging and feed
		        $paged_redirect['path'] = preg_replace(""#/$wp_rewrite->pagination_base/?[0-9]+?(/+)?$#"", '/', $paged_redirect['path']); // strip off any existing paging
		        $paged_redirect['path'] = preg_replace('#/(comments/?)?(feed|rss2?|rdf|atom)(/+|$)#', '/', $paged_redirect['path']); // strip off feed endings
		        $paged_redirect['path'] = preg_replace('#/comment-page-[0-9]+?(/+)?$#', '/', $paged_redirect['path']); // strip off any existing comment paging
		}
}}}"	cbsad
19198	Die fast in get_posts if in_search_post_types returns nothing	ryan	Query	3.2.1	normal	minor	Awaiting Review	defect (bug)	reviewing	has-patch	2011-11-07T19:45:21Z	2012-08-05T22:28:35Z	"From a comment of mine in #18364, which nacin suggested was worth a follow-up ticket:

 Just noticed that this logic here might in fact have a flaw: if there are no post types which have exclude_from_search = false, then magically *all* post types will be checked? Am I reading this right? In that case, shouldn't we just immediately return no results?

 Obviously, this wouldn't be an issue except in a very customized setup where all post types have exclude_from_search = true, but still... thoughts anyone?"	mitchoyoshitaka
11330	Empty search takes you to homepage instead of empty search page		Query	2.8.5	low	minor	Future Release	defect (bug)	new	has-patch	2009-12-04T21:57:23Z	2013-03-05T19:55:11Z	"1. In the admin tool, if you go to ""Settings->Reading"" then choose ""A static page (select below)"" and choose a page for your ""Front page"" and a different page for your ""Posts page"". 
2. Visit your blog (http://localhost/ in my case) and you will see your static page. 
3. Navigate to your blog (http://localhost/blog/ in my case). 
4. Enter a search string (e.g. ""test"") and click ""Search"". This will take you to the search results page (http://localhost/?s=test in my case). Notice that it is located at the base of your site.
5. Return to your blog, leave the search textbox blank and click ""Search"". This _should_ take you to the search results page but takes you to the _Homepage_ instead (http://localhost/?s= in may case).

IMHO, a blank search string _should_ take you to the search page and state ""No posts found. Try a different search?"" as it does when you enter an invalid search. At the very least, it should take you to the blog page.

The reason it takes you to the homepage is due to how the get_search_form() function in the /wp-includes/general-template.php file creates the Action url for the search form:

{{{
$form = '<form role=""search"" method=""get"" id=""searchform"" action=""' . get_option('home') . '"" >'
}}}



I propose a change in the code that will do the following:
{{{
if(get_option('show_on_front') == 'page'){//if the blog is not the front page
	$searchAction = get_page_link(get_option('page_for_posts'));//get the link to the blog
}else{//if it is the front page
	$searchAction = get_option('home').""/"";//get the link to the home
}

$form = '<form role=""search"" method=""get"" id=""searchform"" action=""' . $searchAction . '"" >
}}}

That way, at the very least, you know the search is landing where it belongs.

This, however, does not _fix_ the issue where a blank search does not land you on the search page. My guess is, wherever it is determined what page is displayed, there is a check for something like:
{{{
if($_REQUEST['s']!=''){
  //if the request var 's' is not blank, this is a search
}
}}}

If that is indeed the case, a simple change of the code to something like this should do the trick:
{{{
if(isset($_REQUEST['s'])){
  //if the request var 's' isset, this is a search
}
}}}"	jacobfogg
23475	Feed querystring not limiting returned posts by post type when also using category		Query	3.5.1	normal	normal	Awaiting Review	defect (bug)	new		2013-02-14T20:15:44Z	2013-02-14T20:15:44Z	"I set up an example to demonstrate what's happening: http://demo.jarrodpyper.com/feed/?post_type=syndicated&category_name=craft

This feed *should* only return the one post on my site, ""test syndicate"" that is in the ""Syndicated"" post type and also in the ""craft"" category. Instead the post titled ""post"" of the default ""post"" post_type is being returned in the feed as well because it is also in the ""craft"" category.

This works correctly within a normal page using query_posts, which I thought would be similar if not the same as the way the querystring was handled when put into the URL.

Not sure if ""Query"" or ""Feed"" is the more relevant component keyword to use here."	jpyper
20011	Filtering posts for plugins that do not call posts to be filtered		Query	3.3.1	normal	normal	Awaiting Review	defect (bug)	new	reporter-feedback	2012-02-10T15:35:02Z	2012-02-10T15:43:59Z	"In Query.php Line: 2745

Multisite Installation (3.3.1) While using Google XML Sitemaps Version 4.0beta4 

Change: 


{{{
	// Always sanitize
	foreach ( $this->posts as $i => $post ) {
		$this->posts[$i] = sanitize_post( $post, 'raw' );
		}
}}}


To:


{{{
	// Always sanitize
	if ($this->post_count > 0) {
		foreach ( $this->posts as $i => $post ) {
			$this->posts[$i] = sanitize_post( $post, 'raw' );
		}
}}}
"	jroakes
23826	Funky conditional tags for posts archive		Query	trunk	normal	normal	Awaiting Review	defect (bug)	new		2013-03-20T13:51:22Z	2013-04-04T04:14:12Z	"If a WordPress install is set to ""Front page displays ... Your latest post"", then some funky conditional tags are set. Of interest here are:

{{{ [""is_home""]=> bool(true) }}}
Sure, makes sense.

{{{ [""is_post_type_archive""]=> bool(false) }}}
Erm, what? Isn't this the post type archive for the posts post type? 

{{{ [""is_archive""]=> bool(false) }}}
Isn't this also an archive?

This means is_post_type_archive( 'post' ); doesn't work anywhere.

I also attempted creating a ""posts page"" for blog posts, and got the same results."	ericlewis
22001	Handling private and protected posts when querying multiple post types		Query	3.4	normal	normal	Awaiting Review	defect (bug)	new	has-patch	2012-09-26T14:16:17Z	2012-09-28T07:57:52Z	"When querying multiple post types (e.g. new WP_Query(array('slug'=>$slug, 'post_type'=>'any') the automatic handling of protected and private posts fails because it looks for capabilities 'edit_any' and 'read_any' which don't exist.

The attached patch illustrates the problem with a suggested fix. However it's possible I have misunderstood how this is supposed to work."	tamlyn
23309	Not all WP_Query::query_vars get updated during WP_Query::get_posts()		Query		normal	normal	Awaiting Review	defect (bug)	new		2013-01-28T15:40:56Z	2013-01-28T19:51:54Z	"There is a lot of logic within the WP_Query::get_posts() method that fills in missing query vars with defaults and manipulates others based on the rest of the query.  However, some of the final states for many of the variables aren't updated in the WP_Query::query_vars array.  For example, the post type is lost as a local variable and post_status is used for building compiling mysql expressions, but never directly updated.

The result is that any plugins that want to recreate the query for another system, (ie, an external search provider) must directly copy much of the business logic that WP_Query::get_posts() has embedded in it in order to fill in for the incomplete query_var array.

"	prettyboymp
22967	Null value in meta query changes the type of comparison		Query	3.5	normal	normal	Awaiting Review	defect (bug)	new	has-patch	2012-12-17T00:05:35Z	2012-12-17T14:36:42Z	"If a null value is set in a meta query, it effectively returns the same results as setting the 'compare' arg to 'EXISTS', even if it's explicitly set to the default '='.

For example: 

{{{
$value_var = null;
...
meta_query => array(
        array(
            'key'     => '_my_meta_key',
            'value'   => $value_var,
            'compare' => '='
        )
    )
...
}}}

That returns all rows where '_my_meta_key' exists and ignores 'value' instead of treating it like an empty string. This can be troublesome where the value is passed in dynamically like the example, so validation would have to be done prior to every meta query to ensure the value isn't null.

I've attached a patch for review that checks for the existence of the 'value' key rather than using `isset` and casts it to a string if it's null."	bradyvercher
16025	Page and custom taxonomy query var 404s		Query		normal	normal	Future Release	defect (bug)	new	close	2010-12-29T16:18:22Z	2011-03-03T02:17:24Z	"Reported in IRC. Visit a page and append ""customtax=foo"", where customtax is some registered taxonomy.

3.0.3 => displays the page
3.1 => 404, since obviously no pages matched in the custom taxonomy 

Here is associated code reporter used to register the custom taxonomy: http://pastebin.com/eqQbXVvh and they were visiting http://example/products/?surface=stone where products is a regular page (I ''assume'' from this they may be hoping to display only products with stone taxonomy, maybe with custom handling in a template to get it to work... again this is a guess.)

Seems like this is probably expected to me, but it is a change."	duck_
21276	Respect 'suppress_filters' arg in WP_Query->get_posts()		Query	3.4.1	normal	normal	Future Release	defect (bug)	new	has-patch	2012-07-15T01:13:50Z	2013-02-14T22:06:52Z	Before trying to run filters, there's a check to see if we should suppress filters using the suppress_filters arg. Four filters run whether or not suppress_filters is set to true. This patch just adds checks against that arg for those filter calls.	brandondove
18513	Searching with explicit post types unsets page post type		Query	3.2.1	normal	normal	Awaiting Review	defect (bug)	new	has-patch	2011-08-24T22:13:08Z	2012-05-23T15:06:19Z	"Tested on WP 3.2.1, Twenty Eleven with no plugins, multisite.

If I explicitly limit a search query via a GET request using an array of post_type values, the post_type for page is automatically excluded.

To reproduce:
 * Do a search on a WP install (perhaps through a modified search form), such that the URL is like:
  http://example.com/?post_type[]=post&post_type[]=page&post_type[]=attachment&s=Test
or
  http://example.com/?post_type[]=post&post_type[]=page&post_type[]=book&s=Test

That's searching for ""Test"" on post, page and attachment/book post types.

 * Adding the following to a theme's functions.php:
{{{
add_filter( 'pre_get_posts', 'wpcpt_search' );
/**
 *
 * @param array $query
 */
function wpcpt_search( $query ) {

	if ( ! $query->is_search )
		return $query;

	print_r( $query->query_vars );

	return $query;

}
}}}

That spits out (and seemingly confirmed via the values shown in the Debug Bar plugin) the following at the beginning:
{{{
  Array ( [s] => Test [post_type] => Array ( [0] => post [2] => attachment ) 
}}}
and only returns results for posts and attachments (or books). The fact that key 1 is missing makes me think that page was in the array at some point, but it's been unset, but I can't see where, or why, this might be done.

(When no post_type is set, giving a post_type of 'any', which in turn gives all of the non-excluded_from_search post types, then page is one of the array values, and the search results correctly include pages.)
"	GaryJ
22043	Undocumented default of post_type parameter to WP_Query with taxonomy queries		Query		normal	normal	Awaiting Review	defect (bug)	new		2012-09-28T19:24:35Z	2012-11-01T11:53:41Z	"post_type parameter default depends on the is_tax attribute. This is not documented here: http://codex.wordpress.org/Class_Reference/WP_Query#Type_.26_Status_Parameters

If is_tax is true, and post_type is not provided, the default of 'any' kicks in, and if is_tax is not set, the default of 'post' kicks in.

Either it is a bug, or perhaps just the documentation needs to be updated.

Please let me know what you think.

Thank you for sharing your software."	dbernar1
23849	Unexpected results when running WP_User_Query with role and meta_query		Query		normal	normal	Awaiting Review	defect (bug)	new	dev-feedback	2013-03-22T19:48:50Z	2013-04-24T00:42:11Z	"There appears to be a couple of bugs in WP_User_Query when doing a role query and adding additional meta_query options (especially when relation is set to ""OR"").

This code:
{{{
$args = array(
	'role'		=> 'Author',
	'number'	=> 100,
	'offset'	=> 0,
	'meta_query' => array(
		'relation' => 'OR',
		array(
			'key'		=> '_my_key',
			'compare'	=> 'NOT EXISTS',
		),
		array(
			'key'		=> '_my_key',
			'value'		=> 'off',
			'compare'	=> 'NOT LIKE',
		),
		),
);
$users = new WP_User_Query( $args );
}}}

Expected results:
Any author where _my_key either does not exist or if it does exists is set to ""off""

Returned results:
All authors and/or all users with _my_key set.

The above generates this SQL:
{{{
SELECT DISTINCT SQL_CALC_FOUND_ROWS wp_users.* 
FROM wp_users 
INNER JOIN wp_usermeta ON wp_users.ID = wp_usermeta.user_id
INNER JOIN wp_usermeta AS mt1 ON (wp_users.ID = mt1.user_id)
INNER JOIN wp_usermeta AS mt2 ON (wp_users.ID = mt2.user_id) 
WHERE 1=1 
AND (wp_usermeta.meta_key = '_pigeonpack_subscription'
	OR  (mt1.meta_key = '_pigeonpack_subscription' AND CAST(mt1.meta_value AS CHAR) NOT LIKE '%off%')
	OR  (mt2.meta_key = 'wp_capabilities' AND CAST(mt2.meta_value AS CHAR) LIKE '%\""Author\""%') ) 
ORDER BY user_login ASC LIMIT 100
}}}


This seems like a bug to me, the ""Author"" meta should not be modified by the relation => 'OR' argument and thus should not be included in the other meta query statement. Further, the NOT EXISTS isn't a true NOT EXISTS statement. In fact, I'm not even sure why the NOT EXISTS statement looks the way it does. I haven't had too much time to look into this any more in depth.

I tested this in WP3.5 and Trunk
			"	layotte
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
22995	WP_Query Category stuff blank page		Query	3.5	normal	normal	Awaiting Review	defect (bug)	new		2012-12-18T18:59:18Z	2012-12-19T23:48:54Z	"hey there,
maybe I have found a bug. Sending following parameter to the WP Query (with my theme via ''?s=test%cat=1234'') you should get a blank page. At first I thought it was a bug of mine, but deleting following line in /wp-includes/query.php:1746 fixes the problem.

{{{
$q['category__in'][] = $cat;
}}}

So I think there's a bug in the query function...

Thanks,
Ninos"	Ninos Ego
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
9300	WP_Query with posts_per_page and sticky posts		Query	2.7	low	minor	Future Release	defect (bug)	reopened	dev-feedback	2009-03-08T06:22:26Z	2013-04-29T08:28:36Z	"When using WP_Query with showposts=some_number and you have one post set as a sticky that is out of the range of some_number, the query returned will have some_number plus one posts returned. If the sticky post is within the range of some_number then only some_number of posts is returned by WP_Query.

'''Example Normal''': have 3 posts in order:
Post 1,
Post 2,
Post 3

my_WPQuery = new WP_Query(""showposts=2"");

This will return Post 1 and Post 2

'''Example Error''': have 3 posts in order:
Post 1,
Post 2,
Post 3 (<-- make sticky)

my_WPQuery = new WP_Query(""showposts=2"");

This will return 3 posts (Post 3, Post 1, Post 2).

''Expected to return 2 posts (Post 3, Post 1).''

'''Example OK''': have 3 posts in order:
Post 1,
Post 2 (<-- make sticky),
Post 3 

my_WPQuery = new WP_Query(""showposts=2"");

This will return 2 posts (Post 2, Post 1)."	yukataninja
13365	WP_Query, author_name, and sticky posts	ryan	Query	2.9.2	normal	normal	Awaiting Review	defect (bug)	new	dev-feedback	2010-05-12T06:09:42Z	2012-08-30T00:17:35Z	"I have a template which is being used as my front page on WP 2.9.2. In this template I setup my loop with the following code:

{{{
$postresults = new WP_Query();
$postresults->query(""author_name=frontpage&post_types=post&post_status=publish"");
while($postresults->have_posts()) { $postresults->the_post(); ?>
// etc...
}}}

I am not using the ""caller_get_posts=1"" option, but my sticky posts are still showing up in order with other posts rather than at the beginning. If I remove the ""author_name=frontpage"" the sticky posts will move back to the first items, however I am stuck with posts by authors I do not want. Using ""author=2"" results in the same behavior as using ""author_name""."	eryanv
21790	When set a static front page WP main query isn't set correctly		Query	3.4.1	normal	normal	Awaiting Review	defect (bug)	new	dev-feedback	2012-09-04T13:50:26Z	2012-09-05T16:00:06Z	"In my project I use on several places pre_get_posts filter. When setting a static frontpage and blog page I get several notices on my screen. When I var_dump the main query the only value that is set it the page_id.
Even the post_type isn't set."	markoheijnen
24142	Zero value for posts_per_page value in wp_query custom instance and for 'Blog pages show at most' option		Query		normal	normal	Awaiting Review	defect (bug)	new	needs-docs	2013-04-20T09:04:16Z	2013-04-20T12:55:34Z	"To show no posts if the posts_per_page value is 0.

Currently for custom instances of wp_query, if the value is 0 then this is changed with the value from posts_per_page option from the database. ""get_options( 'posts_per_page' )"" 

For home page if we set value 0 on the settings page, in wp-admin/options-reading.php, after the saves are changed, this value is changed to 1. 

I think for both cases if the posts per page value is 0 then no posts should not display.
"	alexvorn2
17200	[Search] Posts containing search terms missing from Search Results		Query	3.1	normal	major	Awaiting Review	defect (bug)	new	reporter-feedback	2011-04-20T21:59:08Z	2011-04-21T08:27:25Z	"I tried to perform a search based on some text within [http://www.webfoundation.org/2010/03/web-foundation-tim-steve-featured-on-cnn-segment/ this article] on my site, specifically “Jason Sanchez”, but got no results.

Furthermore, when I [http://www.webfoundation.org/?s=cnn search for ""CNN""] (for example), only two entries come back:

* [http://www.webfoundation.org/2010/01/importance-of-web-in-haiti-earthquake-relief/ The Importance of the Web to Help Disaster Relief in Haiti]
* [http://www.webfoundation.org/about/boards/switzerland/iqbal-z-quadir/ Iqbal Z. Quadir]

…but not [http://www.webfoundation.org/2010/03/web-foundation-tim-steve-featured-on-cnn-segment/ this one], even though it should.

Other searches had similar problems (e.g., searching for ""video"", etc.). !WordPress' built-in search seems to have some serious flaws in its search algorithm. I'm hoping you can resolve this in an upcoming release."	newmediarts
20899	is_home() should be able to be true when is_feed()		Query		normal	normal	Future Release	defect (bug)	new	has-patch	2012-06-10T19:28:36Z	2012-11-01T10:31:35Z	"is_feed() is a special query flag that can be combined with other query flags — for example, `is_author() && is_feed()` for /author/admin/feed/.

But it can't be combined with is_home(), because is_home() is the fallback that is only set to true when a lot of other things are true — including is_feed(). This appears to be incorrect — is_home() should still be able to be true despite is_feed().

I tracked this down to [1449]. What kind of breakage could occur with this?"	nacin
17235	meta_query fails if you don't pass in an array of arrays		Query	3.1	normal	normal	Awaiting Review	defect (bug)	new	dev-feedback	2011-04-25T20:20:39Z	2011-07-10T20:44:55Z	"This tripped me up the first time I used meta_query (see #16563) and I've seen others fall into the same trap. If you don't pass in an array of arrays into meta_query, it generates some funky (but valid) SQL and fails to return anything.

The main instance where people will fall into this is if they only have a single key/value pair to look for. In this case, passing in an array of arrays does not seem intuitive, and meta_query should be smart enough to work with either. Examples below.

This doesn't work:

{{{
$my_query = WP_Query( array
	array (
		'post_type' => 'post',
		'meta_query' => array (
			'key' => 'my_key',
			'value' => 'my_value',
		),
	),
);
}}}

But this does:

{{{
$my_query = WP_Query( array
	array (
		'post_type' => 'post',
		'meta_query' => array (
			array(
				'key' => 'my_key',
				'value' => 'my_value',
			}
		),
	),
);
}}}"	batmoo
18897	query_posts / WP_query parameter 'offset' should play nicely with 'paged'		Query	3.2.1	normal	normal	Future Release	defect (bug)	new	has-patch	2011-10-10T22:18:29Z	2012-05-04T15:55:14Z	"
Setting the offset parameter with WP_query ignores the paged parameter.  Thus offset can only be used as if on page 1.  This is unfortunate and seems worth fixing.

See prior #2558 ""query_posts() should support offset"""	here
17427	query_posts and tag		Query	3.1.2	normal	normal	Future Release	defect (bug)	new	dev-feedback	2011-05-13T22:58:52Z	2011-11-17T20:57:12Z	"When i try to make a query like this:

query_posts('tag=sometag');

and ""sometag"" isn't previously used in some post, the query show me all the posts.
i've to add the tag in a post and after delete it ( wp just need the tag exist in ""wp_terms"" table) and after the query works.
"	venerabile
20767	tax_query clobbers tag and category		Query	3.1	normal	major	Future Release	defect (bug)	new	has-patch	2012-05-27T21:19:55Z	2013-05-14T13:31:03Z	"The main query should return a tag or category as its queried object if tax_query is applied to a tag or category archive page. It currently returns the first term derived from the WP_Query->tax_query->queries array which does not include the tag or category as a term in the request. WP_Query->tax_query->queries is a portion of the request, but not the request. Because WP_Query sets is_tag and is_category flags, they have to be captured before dealing with is_tax

The result of this bug is that theme functions return the wrong data because the wrong term is returned with get_queried_object.

Real world example: at eMusic, we pass regions into pre_get_posts to regionalize the content that is returned. On a tag page, if you are in the US, we pass the regions ""ALL"" and ""US"" to make sure you are looking at appropriate content. Here's what the title for the archives looks like - (spoiler: It's ""ALL"" when it should be ""Daily Download""):

http://www.emusic.com/17dots/topics/daily-download/

I am attaching a patch."	wonderboymusic
20323	update_post_caches causes time-out on large queries if cache_results flag not set		Query	3.3.1	normal	normal	Awaiting Review	defect (bug)	new	reporter-feedback	2012-03-29T12:25:56Z	2012-10-31T23:18:05Z	"I ran into this problem when debugging why the Advanced Custom Fields plugin's option screen was timing out on my site. I have over 8000 items in my wp_posts table, and the plugin pulls back every post to populate a dropdown (I plan on bringing up this issue with the plugin author) 

I was relieved to find out that it wasn't actually the query that was choking, (for a moment I thought mysql was horribly misconfigured) but actually the update_post_caches function. 

I realize that the cache_results flag was added to avoid this issue, but it occurs to me that many plugin developers will not foresee sites with as much content as mine. 

My suggestion is this: Place a ""cache_threshold"" option in the Wordpress settings... make the default something reasonable like 20 (or maybe even ignore this option all together and grab the value from the posts_per_page option, as set on the admin screen.. it's important it come from the admin screen and not the query options because in the case I encountered it, the posts per page option in the query was set to -1). If the cache_results flag is not set, check after the initial database query is completed to grab the number of returned posts... if it's more than the cache_threshold, then don't call update_post_caches. 

This will increase the stability of the core, and prevent plugins from accidentally breaking things with unreasonable queries on large sites. 

Sorry if anything in this ticket doesn't make sense... it's early and I haven't had my coffee yet. 
"	bytesmasher
20560	url_to_postid() string matching is not strict enough, can lead to incorrect results		Query	3.0	normal	normal	Future Release	defect (bug)	new	has-patch	2012-04-27T19:01:40Z	2012-11-08T20:59:11Z	"I have been working on a plugin that uses url_to_postid() to automatically translate user generated links to internal links utilizing post ID in order to protect against potential permalink changes.

A bug was reported that involved a link to an external location being translated to an internal link (with post ID) by the plugin.

The current site: http://www.example.com/test

The attempted link: http://www.example.com/test-research

Where test-research is an entirely different site on our multi-site install.

Upon investigation, the source of the problem was an overly generous strpos() check in url_to_postid(), starting at line 322:

{{{
if ( false !== strpos($url, home_url()) ) {
	// Chop off http://domain.com
	$url = str_replace(home_url(), '', $url);
} else {
	// Chop off /path/to/blog
	$home_path = parse_url(home_url());
	$home_path = isset( $home_path['path'] ) ? $home_path['path'] : '' ;
	$url = str_replace($home_path, '', $url);
}
}}}

As home_url() does not append a trailing slash, the link passed that check and was incorrectly processed.  The logic inside that if block resulted in -research being passed as a pagename to WP_Query, which happened to turn up a matching post ID on this particular site.

I have a proposed patch, which I will attach to this ticket asap."	gradyetc
21660	'p' arg should work with custom post types		Query		normal	normal	Awaiting Review	enhancement	reopened		2012-08-22T15:27:49Z	2012-11-01T18:20:10Z	"Doing a query like following, where 42 is a custom post_type, will fail:

{{{
$query = new WP_Query( array( 'p' => 42 ) );
}}}

The resulting query looks like:

{{{
SELECT wp_posts.* FROM wp_posts  WHERE 1=1  AND wp_posts.ID = 42 AND wp_posts.post_type = 'post'  ORDER BY wp_posts.post_date DESC
}}}

This is because WP_Query forces the {{{post_type}}} arg to 'post' when it's not set. We should not force it when the {{{p}}} arg is set."	batmoo
20092	Add Exclude by Tag to Queries		Query		normal	normal	Awaiting Review	enhancement	new		2012-02-21T23:36:35Z	2012-02-22T06:28:52Z	"Per scribu's instruction:

Category exclusion is already possible for feeds using a query string, tags should be the same.

'''Example:'''

http://domain.com?cat=news&tag=-featured&feed=rss2

Would equate to a feed of posts in the ""news"" category, not tagged ""featured"" and outputted via the RSS2 template."	iridox
14958	"Add a ""get_post"" filter to get_post()"		Query		normal	normal	Future Release	enhancement	new	dev-feedback	2010-09-25T02:49:22Z	2012-12-05T11:00:24Z	I'm finding a need for a plugin of mine to generically annotate a post with additional information when loaded via get_post().  It would be nice if there were a filter just before the end where the post is still in object form.	mikeschinkel
23833	Add a unique ID or NAME to target queries .		Query		normal	normal	Awaiting Review	enhancement	new		2013-03-21T03:03:43Z	2013-05-08T21:48:03Z	"I am not sure if this is enhancement or feature request .[[BR]]

wordpress allows us to change / filter  queries with various methods , for example the pre_get_posts(). ( e.g.  $query->set ($args) ).

But in today´s wp ecosystem, there are so many themes, plugins, widgets etc. that modify the query or add custom queries, that it had become very difficult to target a specific query, where The available conditions might not be enough. (is_admin, is_main_query etc.. )

The suggestion here is to add an identifier (ID or specific NAME) to a query , much like with textdomains or actions.

In this manner, targeting a query becomes a breeze something along the lines of 
{{{
#!php
$query->set($query_id_or_name,$args)
}}}

Each developer has struggled one time or another with custom queries and with targeting 3rd party queries .
This feature / enhancement could potentially change all that by allowing a simple way to address custom queries ."	krembo99
21803	Add filter to make extending searching easier		Query	3.4	normal	normal	Future Release	enhancement	new	needs-unit-tests	2012-09-05T13:50:13Z	2012-11-07T07:14:55Z	"I'm using custom post types, and want to extend the search function so more than post_title and post_content are searched. It is currently possible to filter `posts_search` but that returns a string such as ` AND (((wp_posts.post_title LIKE '%test%') OR (wp_posts.post_content LIKE '%test%'))) `. This string then has to be rather messily manipulated via `preg_replace` or `str_replace`.

It would be more useful if we could filter a list of fields to be added to the search criteria, so that we could add a function to extend or change the criteria:

{{{
add_filter ('search_fields', 'my_custom_search_fields');

function my_custom_search_fields ($fields) {
    global $wpdb;
    $fields[] = ""{$wpdb->prefix}posts.post_excerpt"";
    return $fields;
}
}}}

The attached patch implements that filter."	mark8barnes
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
19802	Allow DECIMAL Precision in WP_Query Meta Queries		Query	3.3.1	normal	normal	Awaiting Review	enhancement	new	dev-feedback	2012-01-11T06:50:05Z	2012-01-11T11:42:34Z	"As of now, if we specify a precision for the DECIMAL type in WP_Query meta queries [e.g. DECIMAL(4,2)], the type is changed to CHAR. This transformation seems to happen here:

http://core.trac.wordpress.org/browser/tags/3.3.1/wp-includes/meta.php#L716

As a work around, we can add a filter to the `get_meta_sql` hook and manually change DECIMAL to DECIMAL(X,X) with a `str_replace`, but that seems pretty clumsy and it forces us to pick one level of precision for all meta queries.

As a solution, right above the line I have linked above, we could add a conditional that checks if the type starts with DECIMAL, and then uses a regex to check if the format for the precision is correct. Of course, another option would be to add a precision key to the meta query array like so: 


{{{
array(
  'key' => 'meta_key',
  'value' => $value,
  'type' => 'DECIMAL',					
  'compare' => '>',
  'precision' => array( 4, 2 )
),

}}}

I apologize if this question has already been asked, or if I'm missing something obvious. But, to me it seems like the current system is a bit limiting. Thanks."	dominicp
17027	Allow WP_Query to return just the count		Query		normal	normal	Future Release	enhancement	new		2011-04-02T18:32:56Z	2011-04-02T18:32:56Z	"Currently, you can't ask just for the total number of posts for a certain query.

You have to execute that query and then retrieve the total using SQL_CALC_FOUND_ROWS.

Maybe a {{{'fields' => 'count'}}} option would do it.

Example where this is needed in Core: #17019"	scribu
14478	Allow explicit ordering of included posts in query_posts		Query		normal	normal	Future Release	enhancement	new		2010-07-30T19:35:31Z	2011-10-25T20:09:12Z	"This is in reference to ticket #9819

I think it would be useful to add an extra orderby value to query_posts that could return posts based on the order they are listed.

So when you do query_posts(""include=3,2,5,4,1&orderby=given"")

They should be returned in the order 3,2,5,4,1

As mentioned by @dd32 in the previously referenced ticket, orderby=none returns the posts in MySQL Natural order, which is by ID."	daltonrooney
9383	Allow get_pages to exclude by slug in addition to id	garyc40	Query	2.7.1	normal	normal	Future Release	enhancement	assigned	has-patch	2009-03-24T03:20:45Z	2011-01-15T04:51:43Z	"Currently, get_pages() allows template authors to exclude certain pages from the result, by their ID. It's more useful to exclude by slug when the IDs aren't immediately known.

For example, on a WordPress site I recently made, I coded an automatically-generated menu listing the site's pages and their subpages. There are certain classes of pages I want to exclude, and hard-coding the page IDs into my menu code just isn't a good way to do it. Excluding by page slug works beautifully.

'''Patch:''' I've included a patch to add this functionality. It is a very short addition to wp-includes/post.php (one new line and two altered lines), has been well used on my (now live) site, and adds a very useful feature.

'''Syntax:''' The syntax is identical to the old use, except that where the ""exclude"" parameter only accepted numbers, it now can take strings. If the value given is not a number, it's treated as a slug. If it is a number, it's treated as an ID like before. For example:

	$subPages = get_pages('hierarchical=0&exclude=sidebar&parent='.$page->ID);

will get subpages of $page that don't have the ""sidebar"" slug. (Numerical values are still treated as IDs, and lists can contain any number of IDs and slugs to exclude.)"	richcon
9470	Allow get_pages to get child pages of multiple pages		Query	2.8	normal	normal	Future Release	enhancement	new		2009-04-06T10:51:02Z	2012-10-30T20:14:27Z	"I'm doig a lot of WordPress CMS work, and am finding it increasingly annoying that i can only get the children of one page through get_pages. 

It would be great if child_of could also, just like include and exclude, be a comma separated array of pages for which you want to fetch the children."	joostdevalk
19866	Allow specifications of any wp_posts field(s) in WP_Query		Query		normal	normal	Awaiting Review	enhancement	new		2012-01-20T19:58:43Z	2013-04-30T18:04:13Z	"Hi guys, I'm considering writing a patch to be able to pull specific fields from a WP_Query but wanted to see if there was already something in the works on another ticket.  I searched trac and hackers list (via its Google Group) and surprisingly didn't see anything.

Here's the current implementation which limits people to only querying for certain fields: wp-includes/query.php:2033
{{{
		switch ( $q['fields'] ) {
			case 'ids':
				$fields = ""$wpdb->posts.ID"";
				break;
			case 'id=>parent':
				$fields = ""$wpdb->posts.ID, $wpdb->posts.post_parent"";
				break;
			default:
				$fields = ""$wpdb->posts.*"";
		}
}}}

Stems from a situation where we needed all posts of a certain type -- potentially thousands -- but really only required post_title and ID fields, so didn't want all that memory overhead.
"	bigdawggi
21683	Choose the relationship between the meta_query and what it's pulled into (AND/OR)		Query	3.4.1	normal	normal	Awaiting Review	enhancement	new	dev-feedback	2012-08-24T19:00:11Z	2012-08-27T14:13:06Z	"The use case for this is that I'd like to be able to, much like meta_query's ""relation"" option, be able to choose whether or not 'meta_query' itself should be treated like AND or OR in it's WHERE inclusion.

meta_query's ""relation"" option is already helpful, letting you treat any of the meta_query's arrays as OR instead of the default AND.

Adding this new option would provide the ability to treat meta_query as AND / OR based on the need of the WP_Query lookup."	sc0ttkclark
19631	Consider a doing_it_wrong call for query_posts()		Query		normal	minor	Awaiting Review	enhancement	new		2011-12-21T11:58:14Z	2011-12-21T13:00:49Z	"The `query_posts()` function affects the main query, so things (like template conditionals) can break if plugins or themes use it without calling `wp_reset_query()` immediately afterwards.

Unless there is a situation I haven't considered, `query_posts()` shouldn't be used at all on requests where the main query is run (`query_posts()` of course has a use in situations like AJAX calls when the main query isn't run).

 * For secondary loops, `get_posts()` or the `WP_Query()` class should be used.
 * To modify the main query, there are hooks all over the place, such as 'request', 'parse_request', 'parse_query', and 'pre_get_posts', in addition to the SQL filters such as 'posts_where', 'posts_join', etc.

Maybe `doing_it_wrong()` should be called if `query_posts()` is used after the main query is run, with pointers toward a relevant Codex article on secondary loops or filtering the main loop.
"	johnbillion
24245	Convert category__and query into category__in when only one category passed in		Query		normal	normal	Awaiting Review	enhancement	new		2013-05-02T07:03:30Z	2013-05-02T07:03:30Z	"If a {{{category__and}}} query gets only one term passed in, it still builds out the complex query required for the {{{AND}}} lookup, which can be pretty expensive (#16706).

We should be smarter and automatically convert the query into a {{{category__in}}} when {{{category__and}}} only gets passed in one category."	batmoo
12719	Custom taxonomy with query_var set, gets taxonomy query_var appended anyway	dd32*	Query	3.0	normal	normal	Future Release	enhancement	accepted		2010-03-26T12:42:16Z	2010-10-28T08:24:18Z	"In my browser address field, appending my WP url with ""?customtax=termslug"", the real WP query string gets changed to ""?customtax=termslug&taxonomy=customtax&term=termslug"".

This causes cases where I append two custom taxes in the URL to not work. E.g. ""?customtax1=termslug1&customtax2=termslug2"" would result in something like ""?customtax1=termslug1&taxonomy=customtax1&term=termslug1&customtax2=termslug2"" and not work.

If i two sets of custom taxonomies and slugs manually through a query_posts it works, and is not modified by WP."	Silkjaer
23329	Deprecate is_main_query()		Query		normal	normal	Future Release	enhancement	new	has-patch	2013-01-30T21:04:29Z	2013-05-14T13:48:58Z	"The function `is_main_query()` is misleading, and rather useless. In practical situations, it is necessary to reference the method in the current query object, such as when used at the `pre_get_posts` action. 

The example in the Codex is even wrong:
{{{
  add_action( 'pre_get_posts', 'foo_modify_query_exclude_category' );

  function foo_modify_query_exclude_category( $query ) {
      if ( ! is_admin() && is_main_query() && ! $query->get( 'cat' ) )
          $query->set( 'cat', '-5' );
  }
}}}
I propose deprecating the function as an encouragement for users to refer to the query object method instead."	ethitter
20044	Enable search for pages by slug		Query		normal	trivial	Awaiting Review	enhancement	new	has-patch	2012-02-14T22:17:58Z	2012-10-31T22:56:13Z	"Would be nice to be able to search a page by its slug. Might need to be a bit different depending on the permalink-strategy. 

Steps to reproduce(with Post name-permalinks enabled):
1. Create a new page with a specific slug
2. Save page
3. Search for the exact slug-name
"	ekitomat
20308	Filtering of password protected posts		Query	3.4	normal	normal	Awaiting Review	enhancement	new	dev-feedback	2012-03-27T13:00:19Z	2012-12-18T20:02:00Z	"Goal: 
to query for password protected posts only or to remove all password protected posts from a query.

Current solution:
Modify the query SQL by using the 'posts_where' filter as suggested here: http://stackoverflow.com/questions/7538959/how-to-exclude-password-protected-posts-in-wordpress-loop

Suggested solution: 
Make it possible to modify a parameter via 'pre_get_posts' or 'request' - filter, i.e. $query->set( 'post_password', TRUE )."	paddelboot
18748	Generalize 'tag_id'		Query	3.2	normal	normal	Awaiting Review	enhancement	new	has-patch	2011-09-22T15:29:19Z	2011-09-22T15:56:38Z	"Currently, there's special handling for the 'tag_id' query var.

It would be nice to be able to define an equivalent query var for custom taxonomies. Example use case: #18747"	scribu
17065	Independent ASC/DESC in multiple ORDER BY statement.	ericmann	Query	3.1	normal	normal	Awaiting Review	enhancement	new	needs-unit-tests	2011-04-06T17:11:01Z	2013-05-09T14:55:14Z	"WP_Query supports ordering results by multiple columns, but does not currently support independent ASC/DESC declarations on those columns.  Instead, it concatenates the ORDER and ORDER BY statements together.

In some cases, it would be beneficial to independently set the order for these columns.  An example offered on WP-Hackers:

> I have a situation where I want to order a list of post both by author and date using WP_Query which isn't a problem since 'orderby' lets me do that. But I want the author part sorted ascending and date part sorted descending.

A normal MySql statement would end with `ORDER BY author ASC, date DESC`.

We should extend WP_Query to allow users to set their ordering parameters independently.  This should be done in such a way as to not break backwards compatibility."	ericmann
19243	Introduce WP_Query::exists(), or have WP_Query::get() return false for non-existence		Query		normal	normal	Awaiting Review	enhancement	new		2011-11-14T21:18:09Z	2012-03-28T18:17:23Z	"See [ticket:15178#comment:8].

A query variable for an an endpoint with no value (/blah/, rather than /feed/rss2/) is set, but it is empty. WP_Query::get() returns an empty string when no QV is set, though, so you need to dig into WP_Query::query_vars directly. This is annoying. It should return false when the QV is not existence.

This should be rather backwards compatible, but WP_Query::exists() may be desired (also, or instead of). In this case, it won't work for core query vars, as _fill_query_vars() clears these, rather than unsets them. We should either change how _fill_query_vars() works, or something."	nacin
17072	Make $wp_query->query read-only		Query		normal	normal	Future Release	enhancement	new	dev-feedback	2011-04-07T07:09:32Z	2011-04-07T07:55:08Z	"WP_Query has two properties that contain query vars:

$wp_query->query is the initial query.

$wp_query->query_vars is the ""working copy"", with all possible query vars filled.

I propose we prevent modification of $wp_query->query and keep it as a signature of that particular instance."	scribu
19525	Meta Query failing to build a proper SQL Query		Query	3.1	normal	normal	Awaiting Review	enhancement	reopened	dev-feedback	2011-12-13T01:23:23Z	2011-12-13T03:27:59Z	"
I was tryin' to get meta working and i was wondering why no results were returned until i found that the query is actually invalid:


{{{
SELECT SQL_CALC_FOUND_ROWS  *
FROM posts  INNER JOIN term_relationships ON (ID = term_relationships.object_id) INNER JOIN postmeta ON (ID = postmeta.post_id) 
WHERE 1=1  AND ( term_relationships.term_taxonomy_id IN (1) ) AND post_type = 'post' AND (post_status = 'publish') AND ( (postmeta.meta_key = 'time' AND  ) GROUP BY ID ORDER BY post_date DESC LIMIT 0, 10
}}}

As you can see the meta query only inputs the meta_key and not the meta value/compare operator and as such the query ends up invalid.

This is how the query is getting called:

{{{
$args = array(
        'category_name' => 'customcat',
        'post_status' => 'publish',
        'meta_key' => 'time',
        'meta_value' => '135784684',
        'meta_type' => 'numeric',
        'meta_compare' => 'NOT BETWEEN'
    );
$posts = new WP_Query($args);
}}}
"	peshkohacka
18707	"Meta Query printing ""array"" in query whwn compara type is LIKE"		Query	3.2.1	normal	normal	Awaiting Review	enhancement	new	dev-feedback	2011-09-19T17:17:48Z	2012-12-11T23:09:48Z	"Always a try to filter post by meta_query using a array value and compare equals to ""LIKE"" the returned SQL query is buged. WordPress return something like this:


{{{
(wp_postmeta.meta_key = 'passed_key_value' AND CAST(wp_postmeta.meta_value AS CHAR) LIKE '%Array%'))
}}}

The array values are not serialized, and ""Array"" are outputed to in SQL Query.

Serializing the values the problem still the same and WordPress output in query somethinhg like this 
{{{
(wp_postmeta.meta_key = 'passed_key_value' AND CAST(wp_postmeta.meta_value AS CHAR) LIKE '%Array[0], Array[1], Array[2]%'))
}}}

According the [http://codex.wordpress.org/Class_Reference/WP_Query WP_Query documentation], array is supported in field ""value"" for meta_query filters."	tplayer
17551	Need a post_id query that works regardless of post_type.		Query	3.2	normal	normal	Awaiting Review	enhancement	new		2011-05-24T20:25:46Z	2011-05-25T13:27:37Z	"The query parameter `p` works for posts and pages but not attachments. When the ID in question refers to an attachment, the result is a 404. Why?

When generating a stats report for a remote blog, the WordPress.com Stats/Jetpack system at first only knows the post_id of a new post. Eventually it learns the correct permalink by querying the blog, but until then its best guess at a working link is `?p=$post_id`.

This problem (and possibly others) would be most easily solved by a core query parameter that can find any post_type by its ID alone. Unless there is a reason to limit `p`, I propose we make `p` work for all post_types. If there is a reason, how about a new public query parameter `post_id`?"	andy
21687	Need to be able to float sticky posts to top in custom queries		Query	3.4	normal	normal	Awaiting Review	enhancement	new		2012-08-25T16:12:08Z	2012-08-25T16:12:08Z	"Currently sticky posts are only floated to the top of the loop when on an index page (blog/home). When making a new WP_Query for posts as a secondary loop on a ""page"" page (whilst developing shortcode) sticky posts only appear in the natural date order because my query does not have the is_home flag.

My proposal would be to add a new parameter/argument to the WP_Query class, either connected to 'orderby' or 'ignore_sticky' parameters, stating whether sticky posts should have order 'float', 'natural', 'exclude' (it seems that the mechanism for excluding sticky posts from the loop is a bit clunky, although well documented; this would simplify it). Default behaviour can be retained, the query on the index page can use the 'float' option and themes/plugins can call it in custom queries if required.

Alternatively, the sticky sorting could be moved to a separate function and called via an action, so developers can use the same function (or build their own) in their custom queries. This is how I have my current workaround, running a filter on 'posts_results' having copied code for floating stickies from core. It seems a shame to be be duplicating code though, especially when it should be an option available in custom queries."	ChemicalSailor
19653	Order by meta field forces ignore of null records		Query		normal	normal	Awaiting Review	enhancement	new		2011-12-23T15:11:45Z	2012-11-20T19:06:53Z	"When doing a sort on posts with a meta value, the way the SQL is currently generated in meta.php creates a condition where records that DO NOT have the queried meta value are excluded from the results. This may or may not be the desired behaviour, but we don't give developers the choice without resorting to custom queries or manual rewrites of large swathes of the $clauses array.

The issue: the way WP_Meta_Query->get_sql() creates the join on the meta key is by setting an inner join on wp_postmeta and then adding the key test to the where clause.

I would suggest writing an outer (left) join on wp_postmeta, with the key condition in the join. This would also eliminate any potential future ambiguity if, for example, you are sorting on one meta key but filtering on another, since the key condition would be within the join clause, not the where clause:


{{{
LEFT JOIN wp_postmeta ON wp_posts.ID = wp_postmeta.post_id AND wp_postmeta.meta_key = 'my_custom_field_name'
}}}


Related to ticket 18158 [http://core.trac.wordpress.org/ticket/18158] is the question of how we expose this to the developer in the query API.


{{{
'meta_key' => self::get_meta_key( 'my_custom_field_name' ),
'orderby' => 'meta_value',
'exclude_empty_meta' => false
}}}


If this gets any traction I would be happy to submit a patch."	tomauger
21986	Roll sticky posts into MySQL query		Query	3.4.2	normal	normal	Awaiting Review	enhancement	new	has-patch	2012-09-24T19:10:09Z	2012-12-19T19:53:55Z	"The way that WP currently queries for sticky posts is quite long winded and prone to error. Sticky posts output behaviour is erratic when using pagination or ordering. I suggest that the sticky posts feature would be better served by being rolled into the MySQL query rather than trying to reconstruct the result set after the main query has run.

I have tested the attached patch against 3.4.2 and it works as expected. The query additions are performed on every page of home, rather than just the first, so that page boundaries behave as expected and that the sticky posts don't appear on subsequent pages. ignore-sticky-posts is honoured."	martinshopland
22209	Simplify logic to generate home path when parsing request		Query		normal	normal	Awaiting Review	enhancement	new	has-patch	2012-10-17T03:37:24Z	2012-10-17T04:25:45Z	In `WP::parse_request()` we go through a few steps to generate the `$home_path` variable.  Since we now require PHP 5.2, we can use `parse_url()`'s second argument to get the path directly.	evansolomon
9978	Sticky Posts are not ordered correctly after selection	ryan	Query	2.8	normal	normal	Future Release	enhancement	new		2009-05-29T23:14:06Z	2009-06-11T13:28:46Z	"In WP_Query, sticky posts are added/moved to the top of the posts array after everything else is selected and ordered according to the query parameters.

Sticky posts are loaded as a list of post_IDs from the database, according to the order they were marked as sticky.

Sticky posts that were not originally part of the returned posts are queried and added into the collection of sticky posts separately.

None of the handling of sticky posts, or the handling of the entire post array after stickies are added, is date ordered by date/title/whatever was requested.

Stickies need to be loaded/extracted into a separate array, ordered (independently) according to the original query, then added to the top of the post array."	beaulebens
11950	Sticky Posts are too aggressive		Query	2.9.1	normal	normal	Awaiting Review	enhancement	reopened	dev-feedback	2010-01-19T15:43:50Z	2011-12-19T03:19:07Z	"I don't think the default behavior should be to have sticky posts included every time a query_posts() is used.  I realize you can set the 'caller_get_posts' argument to avoid sticky posts from being added, however having to do this everywhere becomes a burden.  

What are your thoughts on having the WP class add 'include_sticky' var to the_query if it isn't already set and then not include the sticky posts by default?"	prettyboymp
17199	Unintuitive tax query 'operator' values		Query		normal	normal	Awaiting Review	enhancement	new		2011-04-20T21:52:00Z	2012-10-31T01:24:43Z	"Currently, the accepted values for the tax_query 'operator' arg are:

{{{AND}}}, {{{IN}}} and {{{NOT IN}}}.

It would be better if they were instead:

{{{AND}}}, {{{OR}}} and {{{NOT}}}.

which would be more intuitive and consistent with wp_list_filter().

Obviously, we would still have to keep backwards compatibility with the old values."	scribu
17093	Validation and context parameter for query filter application		Query		normal	normal	Awaiting Review	enhancement	new	has-patch	2011-04-09T13:54:45Z	2011-04-09T19:47:21Z	"One improperly implemented query filter can easily crash a site, and this risk only increases with use of filterable get_posts() calls throughout wp-admin.

In the most common scenario, a posts_where or posts_request filter fails to return a value. Even if the filter was intended for wp-admin but was not added selectively based on is_admin(), the site front end is crashed.  It's the plugin's fault, but leaves the end user wondering why WP can't be more robust.

The associated patch eliminates that scenario by checking is_null() before accepting a filtered value.  If null, the filter is ignored, with a warning triggered if WP_DEBUG is defined.  Since this validation is performed in apply_query_filters() rather than the heavily-used apply_filters(), new overhead is minimal.

Another benefit of a dedicated apply_query_filters() function is the ability to apply filters selectively based on a query_context specified by supplemental get_posts() calls.  This will also tend to mitigate the scope of query filtering errors if use of the context parameter becomes standard practice for get_posts() execution and filtering."	kevinB
24093	"WP_Meta_Query is inefficient when referencing the same keys in ""OR"" query"		Query	3.5.1	normal	normal	Awaiting Review	enhancement	new	dev-feedback	2013-04-15T16:21:31Z	2013-04-15T16:24:39Z	"This is part of the chain of thought from #19729

The corresponding fix for #19729 was done in [22103]

I believe this fix didn't take things far enough. For example, a meta_query that does a lot of comparing on the same meta_key, will have a JOIN and a WHERE for each query array. It shouldn't have to re-join the postmeta table on each query array though, since they are based on the same meta_key.

I'll attach a suggested patch that will only join if it needs to, and use the previous alias for the first meta_key joined table if it's already been joined."	sc0ttkclark
19728	WP_Query should constrict 'paged' to be within bounds of found_posts		Query		normal	normal	Awaiting Review	enhancement	new		2012-01-03T20:16:45Z	2012-01-07T23:12:37Z	"I apologize in advanced if this has been reported before. My Trac search did not find anything pressingly relevant.

WP_Query allows the user to pass in a discrete value to use for the 'paged' parameter; however, often times this value will be dynamic rather than static (as in the programmer will have paged be the value of $_GET[ 'paged' ] or something similar).

The problem is, if you enter an absurdly large or small value for the paged parameter and it's out of bounds, it will just throw a 404 (or otherwise show that there are no posts matching the parameters). I propose that WP_Query automatically changes the paged value to be within the bounds of the returned number of pages.

For example, constrict paged to the following rules:
1 <= $paged <= $wp_query->max_num_pages (where $wp_query is whatever custom query is being used). If the user types in a page larger than the max, it uses the max instead. Conversely, if they type a page less than 1, it uses 1.

The only potential problem I see with this is if a user actually (for whatever reason) wanted a 404 to display when an invalid page was visisted. In this case, perhaps we can introduce a new option to WP_Query such as 'limit_to_bounds' => true?"	Master Jake
17019	add hooks for Media Library attachment counts		Query		normal	normal	Awaiting Review	enhancement	new	has-patch	2011-04-02T16:48:24Z	2011-04-09T06:00:38Z	"The Media Library attachments listing and edit links can be filtered via existing WP_Query and has_cap hooks.  However, corresponding attachment counts are not cleanly filterable.

The submitted ticket adds the following filters:

 * function wp_count_attachments() - result filter 'count_attachments'

 * WP_Media_List_Table::get_views() - query filter 'attachment_orphans_query'

 * function update_gallery_tab() - query filter 'gallery_attachment_count_query'"	kevinB
15033	ajax find_posts should use get_posts()		Query		normal	normal	Future Release	enhancement	new	has-patch	2010-10-04T22:12:08Z	2012-02-13T04:56:01Z	Currently, the find_posts action uses a direct SQL query instead of using the available API.	scribu
11375	allow to disable the private status	ryan	Query	2.9	normal	normal	Future Release	enhancement	new	dev-feedback	2009-12-09T20:54:17Z	2013-01-14T13:27:48Z	"The private status generates all sorts of OR clauses in SQL queries, which is bad from a performance standpoint.

Blogs that do not have any private posts or pages should have the ability to disable the feature altogether, in order to optimize the SQL statements.

Adding an option in a Settings page arguably is plugin material, but WP doesn't currently allow to remove the status altogether.

Were it to be implemented, WP should keep a trace (in a transient) of the following:

{{{
$has_private_posts = (bool) $wpdb->get_var(""SELECT EXISTS 1 FROM $wpdb->posts WHERE post_status = 'private';"");
}}}

checking its value and disabling the type = private type accordingly in non-admin areas would significantly enhance the user experience for those who never use such things."	Denis-de-Bernardy
19705	better taxonomy query URL syntax		Query	3.3	normal	normal	Awaiting Review	enhancement	new	has-patch	2012-01-01T00:30:36Z	2012-01-04T00:45:56Z	"Problem: WP's native taxonomy URL syntax supports logical OR/IN and AND operations, but not NOT IN. Blog post with more rambling: http://maisonbisson.com/blog/post/16074/better-taxonomy-query-syntax/ .

Solution: the attached patch extends the URL syntax to support these logical operators.

- Taxonomy terms are separated by commas (it preserves support for the old +separated syntax).

- Terms prepended with a + are required (AND)

- Terms prepended with a - are excluded (NOT IN)

- All other terms are simply IN

Examples:

- http://site.org/tag/term-one,term-two/ : posts containing one or more of the named terms

- http://site.org/tag/+term-one,+term-two/ : posts containing both of the named terms

- http://site.org/tag/term-one,-term-two/ : posts containing term-one, but excluding term-two

Working examples (at least until I revert my site):

- http://maisonbisson.com/blog/post/tag/wordpress,+mysql/ : IN and AND syntax (it's an accident of how the query is handled internally that it doesn't require a + to be AND'd in this case)

- http://maisonbisson.com/blog/post/tag/wordpress+mysql/ : old-style AND syntax

- http://maisonbisson.com/blog/post/tag/wordpress,mysql/ : IN syntax

- http://maisonbisson.com/blog/post/tag/wordpress,-mysql/ : NOT IN syntax for the second term

- http://maisonbisson.com/blog/post/tag/-wordpress,+mysql/ : NOT IN the first term, AND the second term

About the patch:

The patch disables the special handling of tags. This is just to narrow the scope of work necessary to demonstrate a working patch."	misterbisson
9256	clean up the global variables when moving out of the loop		Query	2.7.1	normal	normal	Future Release	enhancement	reopened	has-patch	2009-03-01T19:07:38Z	2010-07-23T11:47:00Z	"On a theme, that I am developing, the sidebar has a new WP_Query to get only one post from a specific category. All works well (index, single, archive, pages) displaying correctly the result of the_content() of the main column (the main query) and the result of the_content() of my custom query in the sidebar.

The problem is that only on pages and articles that have pagination (using the <!--nextpage--> construct), the function ""the_content()"" of the sidebar displays the same content of the main column on pages 2, 3, 4 (and so on) of those pages/articles, while on page 1 the various contents are displayed properly.

Is it a bug?

[http://wordpress.org/support/topic/248632 As MichaelH reported], using ""echo $post->post_content;"" fixes the issue temporarily."	aldolat
19041	function to list all (true) conditionals (in an array)	F J Kaiser	Query	3.3	normal	normal	Awaiting Review	enhancement	assigned	dev-feedback	2011-10-24T20:53:39Z	2012-06-05T12:07:45Z	"Often we need to check against a lot of conditionals. It would be handy to have one ""mother"" function to retrieve those query conditionals that are set true with a single call.

The attached patch introduces a new function {{{get_conditionals();}}} that returns a numerical indexed array containing all object parts of {{{$GLOBALS['wp_query'];}}} that start with {{{is_}}} and are set to true."	F J Kaiser
22208	get_children() doesn't support 'fields' => 'ids' as an argument		Query	3.4.2	normal	normal	Awaiting Review	enhancement	new	dev-feedback	2012-10-17T00:16:22Z	2013-03-29T19:18:47Z	"Not sure whether it should, but it would be nice.

When you pass 'fields' => 'ids' as an argument, the data returned by get_posts() is nooped with this block:

{{{
foreach ( $children as $key => $child )
    $kids[$child->ID] = $children[$key];
}}}"	danielbachhuber
14477	get_pages with child_of only works with uninterrupted hierarchies		Query	3.0	normal	normal	Future Release	enhancement	new		2010-07-30T19:00:50Z	2010-11-23T01:36:16Z	"I have a page X with several children and grandchildren. Some of the grandchildren have a certain meta key and value. I now want to fetch all pages under page X that have this meta key. After reading the documentation of ''get_pages'', I expected this to work with a single call of ''get_pages''.

But if I use get_pages like this:
{{{
get_pages('child_of=X&meta_key=A&meta_value=B');
}}}
it returns no pages at all (hierarchical=0 has no effect). It seems that's because ''child_of'' triggers a call of ''get_page_children'' which only returns uninterrupted hierarchies. Since the query returns only some grandchildren and no direct descendants, the function fails. IMHO, that's a bug.
"	vividvisions
24257	is_attachment() should accept $attachment parameter		Query	3.5.1	normal	normal	Awaiting Review	enhancement	new	has-patch	2013-05-03T16:23:32Z	2013-05-03T17:11:45Z	Like is_single(),is_page(),is_author() ... etc I can't see any reason why we is_attachment() function accept $attachment parameter to make easy checks.	alex-ye
16802	is_page() doesn't accept a full path		Query	3.1	normal	minor	Awaiting Review	enhancement	new	dev-feedback	2011-03-09T12:52:14Z	2011-03-17T01:44:01Z	"If you have a page at example.com/foo/bar, then `is_page('foo/bar')` will return false on that page.

The `is_page()` function only checks the ID, title and post name, not the full path.

If the $page parameter passed to `is_page()` contains a slash then we should check the full path. If I get a chance I'll see if I can whip up a patch in the next couple of days."	johnbillion
14368	"make the 'orderby' argument in get_posts() accept all ""post"" fields"		Query	3.0	normal	normal	Future Release	enhancement	new	has-patch	2010-07-20T23:58:41Z	2012-08-28T19:12:46Z	"Right now, some post's fields were not accepted when retrieving posts (even though they were documented in codex . for example ""name"" (slug)  was missing).

this patch sorts the elements in the $allow_keys array (in the same order as the db' s columns) and adds the missing ones, I added every field except the ones that were long text fields (content, excerpt, etc)
"	wjm
15068	merging query objects/arrays		Query	3.0.1	normal	normal	Future Release	enhancement	new		2010-10-08T04:27:58Z	2010-10-08T14:43:09Z	"As multiple post type installations proliferate, I assume more and more people will come across a situation (like me) in which they need to display two (or more) sets of content units, say posts, and post-type ""audio"" in one stream - say on the main blog page. As long as the only condition is the post type itself, that will work fine. However, if those two sets need to be selected using different conditional criteria, say a category in one case, and a custom field in the other, then the current query_posts options will not be sufficient.

While it is possible to retrieve multiple arrays via get_posts and merge them, then sort them using cusomt php, such a solution will break the paged navigation.

If such situations will - as I assume - become more likely as more people use multiple post types and additional variables to specify content, I think it would be useful to be able to combine multiple queries into a meta query that will sort the combined object according to a common sorting variable, say date, and thus preserve the paged navigation.
"	youngmicroserf
19738	meta_query should check for wildcards when using LIKE operator		Query	3.2	normal	normal	Awaiting Review	enhancement	new	dev-feedback	2012-01-04T18:35:04Z	2013-04-16T00:24:10Z	"This seems intentional, but when using the LIKE operator in a meta query, the % wildcards are automatically added to the start and end of the value when generating the SQL.

I think a more robust way of doing this would be to only add said wildcards if one cannot be found within the value itself. "	ejdanderson
17022	months_dropdown() is not filterable		Query		normal	normal	Awaiting Review	enhancement	new	has-patch	2011-04-02T17:11:08Z	2011-04-02T18:22:20Z	"The months_dropdown() function used on the Edit Posts and Media Library listing forms is not filterable.  This causes invalid month items when a plugin uses the WP_Query API to filter editable posts.

The corresponding patch adds the query filter 'months_dropdown_query'"	kevinB
11398	new sort method for query_posts (order by last comment date)	ryan	Query	2.9	normal	normal	Future Release	enhancement	new		2009-12-11T15:44:42Z	2010-06-14T00:30:40Z	"I think we need sorting by latest post comment ability for query_posts. ""Recent comments"" plugins does this but we need this sorting in the core. 

BBPress is planned as a WP plugin according latest chat logs posted by Matt. We gonna have to need this anyway."	erden.ozkan
15031	order via meta_query		Query	3.1	normal	normal	Future Release	enhancement	assigned	dev-feedback	2010-10-04T18:14:17Z	2013-05-09T14:59:50Z	#14645 added the ability to query based on multiple meta keys, but you can't use it to order posts.	aaroncampbell
17026	parent_dropdown() is not filterable		Query		normal	normal	Awaiting Review	enhancement	new	has-patch	2011-04-02T17:35:40Z	2011-04-07T15:37:16Z	"The parent_dropdown() function is no longer used by the WP core, but is not deprecated and remains in use by some plugins.  Since other plugins may modify page editing access via existing WP_Query hooks, the query executed by parent_dropdown() also need to be filterable.

The corresponding patch adds query filter 'parent_dropdown_query'"	kevinB
21621	setting meta_type doesn't CAST orderby value		Query	3.2	normal	normal	Future Release	enhancement	new	has-patch	2012-08-17T20:01:20Z	2013-05-16T11:54:37Z	"Setting {{{meta_type}}} in {{{WP_Query}}} will cast the {{{meta_value}}} in WHERE clauses to whatever {{{Meta_Query}}} internally resolves it as, however it does not create an alias and does not order by that alias. It orders by an un-CAST'd {{{meta_value}}} which doesn't work for numbers. I realize that {{{orderby}}} set to {{{meta_value_num}}} will fix this, but that doesn't change the fact that {{{meta_type}}} is being ignored.

To test:

{{{
update_post_meta( 1, 'num_as_longtext', 123 );
update_post_meta( 2, 'num_as_longtext', 99 );

add_filter( 'query', function ( $sql ) { error_log( $sql ); return $sql; } );
$stuff = new WP_Query( array( 
	'fields' => 'ids', 
	'post_type' => 'any', 
	'meta_key' => 'num_as_longtext', 
	'meta_value' => '0',
	'meta_compare' => '>',
	'meta_type' => 'UNSIGNED', 
	'orderby' => 'meta_value', 
	'order' => 'ASC' 
) );

print_r( $stuff->posts );

exit();
}}}

That should return 2 then 1, it returns 1 then 2. It generates this SQL:

{{{
SELECT SQL_CALC_FOUND_ROWS  wp_posts.ID FROM wp_posts  
INNER JOIN wp_postmeta ON (wp_posts.ID = wp_postmeta.post_id) 
WHERE 1=1  AND wp_posts.post_type IN ('post', 'page', 'attachment') AND (wp_posts.post_status = 'publish') AND ( (wp_postmeta.meta_key = 'num_as_longtext' AND CAST(wp_postmeta.meta_value AS UNSIGNED) > '0') ) 
GROUP BY wp_posts.ID ORDER BY wp_postmeta.meta_value ASC LIMIT 0, 10
}}}

My patch returns:

{{{
SELECT SQL_CALC_FOUND_ROWS  wp_posts.ID FROM wp_posts  
INNER JOIN wp_postmeta ON (wp_posts.ID = wp_postmeta.post_id) 
WHERE 1=1  AND wp_posts.post_type IN ('post', 'page', 'attachment') AND (wp_posts.post_status = 'publish') AND ( (wp_postmeta.meta_key = 'num_as_longtext' AND CAST(wp_postmeta.meta_value AS UNSIGNED) > '0') ) 
GROUP BY wp_posts.ID ORDER BY CAST(wp_postmeta.meta_value AS UNSIGNED) ASC LIMIT 0, 10
}}}
"	wonderboymusic
14115	sticky posts - query.php optimization		Query	3.0	normal	minor	Future Release	enhancement	new	has-patch	2010-06-27T16:35:09Z	2010-06-27T17:34:31Z	"Making improvements in plugin xili-language [http://wordpress.org/extend/plugins/xili-language/], I use filter for get_option('sticky_posts')... and to find the right translation of sticky posts for each home language (demo shown here [http://multilingual.wpmu.xilione.com/] ).
The call is at line 2473 of query.php. and done '''every time but only used if is_home is true'''. 
To optimize I propose that this call of get_option can be encapsulated inside if condition as suggested below

{{{
if ($this->is_home) { 
get_option('sticky_posts');
if ( $page <= 1 && is_array($sticky_posts) && !empty($sticky_posts) && !$q['caller_get_posts'] ) { ///// 
}
}
}}}

It is microseconds for server but useful for hooking functions etc, etc..."	michelwppi
17025	wp_list_authors() is not filterable		Query		normal	normal	Awaiting Review	enhancement	new	has-patch	2011-04-02T17:30:10Z	2011-04-02T18:22:33Z	"The template function wp_list_authors() is not filterable.  Plugins may use existing WP_Query hooks to filter some authors' posts out of the result set, making the unfiltered authors list invalid.

The corresponding patch adds query filter 'list_authors_query'"	kevinB
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
16910	Lazy evaluation for WP_Query		Query		normal	normal	Future Release	feature request	new		2011-03-21T01:04:39Z	2012-02-25T15:18:54Z	"Suppose we have a 'city' post type, which is associated with a 'country' post type, such that each 'city' post has a 'country' parent post. 

Then the 'country' CPT has a 'language' taxonomy associated to it.

Now, let's say we want to find all the cities which speak a certain language.

Let's assume we already have the `'post_parent__in'` query var: #13927

We could construct a two-step query, like this:

1) Get all the countries with that language:

{{{
$country_ids = get_posts( array(
  'fields' => 'ids',
  'post_type' => 'country',
  'language' => 'french',
  'nopaging' => true
) );
}}}

2) Get all the cities belonging to that country:

{{{
$cities = get_posts( array(
  'post_type' => 'city',
  'post_parent__in' => $country_ids
) );
}}}

No custom SQL queries; fantastic!

But, if you have many many countries (not a good example, I know), you waste a lot of time passing the IDs back and forth from PHP to SQL.

Final query:

{{{
SELECT *
FROM wp_posts
WHERE post_type = 'city'
AND post_parent IN (1, 2, 3, ...)
}}}

It would be a lot more scalable to put the first query into the second, directly, as a subquery.

So, it would now look like this:

1) Get all the countries with that language:

{{{
$country_ids = get_posts( array(
  'fields' => 'ids',
  'post_type' => 'country',
  'language' => 'french',
  'nopaging' => true,

  'lazy' => true'
) );
}}}

2) Get all the cities belonging to that country:

{{{
$cities = get_posts( array(
  'post_type' => 'city',
  'post_parent__in' => $country_ids
) );
}}}

$country_ids would now be a WP_Lazy_Query object, which would just contain the subquery SQL. It would be appended to the second query, when needed:

Final query:

{{{
SELECT *
FROM wp_posts
WHERE post_type = 'city'
AND post_parent IN (
  SELECT ID
  FROM wp_posts
  WHERE post_type = 'country'
  INNER JOIN wp_terms ...
)
}}}"	scribu
19569	Press This Editor shows separate media icons		Press This	3.3	normal	normal	Future Release	defect (bug)	new	has-patch	2011-12-15T19:01:07Z	2012-10-18T14:28:37Z	"Press This still shows multiple media upload icons: Add Image and Add Video (the third is from Grunion, and should be ignored for the purposes of this ticket).

[[Image(http://f.cl.ly/items/1g0f0s0N3E0B0c3f142l/press-this.jpg)]]"	Ipstenu
16940	Prevent 403 errors in Press This		Press This		normal	normal	Future Release	defect (bug)	new	has-patch	2011-03-22T23:54:38Z	2011-03-30T22:44:12Z	"The problem: 

Some hosts have lame mod_security rules that block unencoded urls, making Press This unusable.

Source: http://forums.hostgator.com/apache-upgrade-broke-feature-wordpress-t40603.html

The fix:

Replace:

{{{u='+e(l.href)+'}}}

With:

{{{u='+e(l.href.replace(/\//g,'\\/'))+'}}}

Source: http://wordpress.org/support/topic/press-this-results-in-404?replies=22#post-1008326"	scribu
11365	press-this.php resize could be a little taller	azaozz	Press This	2.8.5	low	trivial	Future Release	defect (bug)	assigned	has-patch	2009-12-08T17:01:27Z	2010-04-02T08:22:12Z	"The press this pop-out window ends up having a scroll bar (Tested on Opera, FF and Chrome) because the window height is slightly too small.

I found that changing /wp-admin/press-this.php line 422 to :

window.resizeTo(720,600);

Solves the problem."	netweblogic
18937	Add admin bar to press this bookmarklet		Press This	3.3	normal	normal	Awaiting Review	enhancement	new		2011-10-13T22:41:35Z	2011-11-20T16:24:25Z	With the admin bar now a permanent addition to the admin backend, I was thinking we should replace the old style header that's currently in the Press This bookmarklet to be the new admin bar. Since the width for the PT window is smaller, we could probably also just reduce the number of items added to it.	andrewryno
16922	"Add class to ""via"" paragraph in press-this.php"		Press This	3.1	normal	normal	Awaiting Review	enhancement	new	dev-feedback	2011-03-21T22:23:27Z	2011-07-27T20:19:52Z	"When using ""Press This,"" a paragraph is added to the bottom of the post with a link to the source, and, if there is a selected block of text being quoted, the word ""via"" prepended.

It would be helpful for themes to be able to style this paragraph, so I suggest adding a class to it such as ""via"".

Also, oughtn't this be wrapped in a <cite> tag as well?"	topdownjimmy
7824	Add referral link in Press It		Press This		low	minor	Future Release	enhancement	new	has-patch	2008-10-02T05:27:08Z	2010-07-15T02:01:24Z	"I'm the developer of a feed aggregator and a feature we'd love is to have something like ""(via feed reader) after the normal ""via"" section in the Press This panel.

I'm willing to make the patch myself if it would be accepted."	rmccue
18843	Add unique admin_head action to Press This		Press This	3.3	normal	normal	Future Release	enhancement	new	has-patch	2011-10-02T15:42:11Z	2011-11-15T03:25:06Z	The Press This page should have its own admin_head-foo action.	sillybean
14650	"Make ""Press This"" use post-new.php"		Press This		normal	normal	Future Release	enhancement	new		2010-08-19T22:37:19Z	2010-10-28T06:09:21Z	"Press This is really neat, but it doesn't take advantage of recent developments, such as auto-drafts or oEmbed.

I think that, with a little ingenuity, we can make PressThis use the post-new.php screen.

I wrote a plugin to prove the viability of the idea: [http://wordpress.org/extend/plugins/press-this-reloaded/ Press This Reloaded]"	scribu
21551	Press This Structural Rewrite		Press This	3.4.1	normal	normal	Awaiting Review	enhancement	new	has-patch	2012-08-11T19:59:54Z	2013-01-24T12:25:37Z	"This is a ticket to tidy up and abstract some of the Press This code into wp-admin/includes/press-this.php to make it simpler to work with and use functionality in plugins and such.

Once this structural change is done, I've got a couple enhancements coming down the pipes including reading OG/Twitter/Meta tags from the source page, simpler upgrades to the JS (jorbin's suggestion) better image pulling, etc.

This patch below, however, is merely structural, not adding in any new functionality, merely tidying up what we've got so far."	georgestephanis
23287	Press This enhancement - enclose included content in a  div to allow styling		Press This	3.5	normal	normal	Awaiting Review	enhancement	new		2013-01-24T19:24:14Z	2013-01-24T19:24:14Z	"The Press This functionality is effective and simple, but the content it drops into a blog post has no enclosing <div>, and as a result cannot be styled using the theme's CSS file to differentiate it from the blogger's comments.

I've posted on my own blog [http://aldred.org/blog/blog/2013/01/24/improving-press-this-in-wordpress/ this post] describing how I've made a fairly simple change to insert div tags round the quoted content.

Ideally the div would also wrap the image, but that was beyond me!

Can this be looked at as an enhancement?"	daldred
7605	Press This: Edit URL	noel	Press This		normal	normal	Future Release	enhancement	new		2008-08-26T20:35:04Z	2010-08-19T22:40:44Z	It'd be nice if the Press This bookmarklet had the same edit URL capabilities as the Wordpress administration.	awayken
7604	Press This: Post auto-saving	noel	Press This		normal	normal	Future Release	enhancement	new		2008-08-26T20:33:42Z	2010-08-19T22:41:12Z	It'd be nice if the Press This bookmarklet had the same autosave capabilities as the Wordpress administration.	awayken
23278	Spin PressThis off into a plugin		Press This	3.5	normal	normal	Awaiting Review	enhancement	new	dev-feedback	2013-01-23T21:43:23Z	2013-01-24T12:25:15Z	"PressThis has really been the ignored stepchild of WordPress for quite a while now.  I'd like to propose that we spin it out of core and into a plugin (either installable via the plugin repo or bundled with wp, whatever)

Several things to consider:

* Backwards Compatability: What happens when someone upgrades then uses an old bookmarklet?  I'd suggest either autoinstalling, or prompting them immediately to install the plugin through a special catch in core.
* Press This doesn't have an includes file in wp-admin/includes that other plugins could pull in, so extracting it is very unlikely to break plugins that could be manually pulling that in.
* This will make it easier to upgrade in plugin form, and let other people have an easier time hijacking it to use their own implementations.

In today's IRC chat, as sabreuse pointed out, everyone seemed to either favor spinning it out into a plugin, or didn't have much of an opinion.  If you really want it in core, please speak up!  I'd love to hear your reasons.

I'm willing to throw a massive chunk of time at this to make it work, if that's the decision that we decide to move forward with."	georgestephanis
14164	do_meta_boxes on press-this.php		Press This	3.0	normal	normal	Future Release	enhancement	new	has-patch	2010-07-01T02:16:51Z	2010-10-28T06:10:16Z	"Right now, there is no way of add meta boxes to the Press This bookmarklet. A simple call of `do_meta_boxes()` allows plugin/theme authors to easily hook into the bookmarklet. 

{{{
do_meta_boxes( 'press-this', 'normal', '' );
}}}

That seems to work like a charm."	SpencerFinnell
16935	Wrap selected text in <blockquote> in press-this.php		Press This	3.1	normal	normal	Awaiting Review	feature request	new	dev-feedback	2011-03-22T16:27:37Z	2011-12-19T00:50:04Z	"When using the ""Press This"" bookmarklet, any text selected on the current page is inserted into the post body textarea.  This should be wrapped in a <blockquote> tag with some appropriate class name."	topdownjimmy
17609	'View post' link shown even when post type can't be viewed on the front-end	nacin	Post Types		normal	normal	Awaiting Review	defect (bug)	reopened	has-patch	2011-05-29T23:43:18Z	2013-03-18T21:45:41Z	"I have registered a CPT that's not meant to be displayed on the front-end:

{{{
        'public' => false,
        'show_ui' => true,
}}}

If I create such a post in the admin area, I still see the 'View post' link after saving and the 'Preview changes' button.

Both send me to the same URL, which gives a 404:

{{{?post_type_name=single-post-slug}}}

Related: #17040"	scribu
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
24137	CPT as a submenu item does not get the correct classes when adding new		Post Types	3.5.1	normal	normal	Awaiting Review	defect (bug)	new		2013-04-19T15:25:44Z	2013-05-11T00:32:28Z	"When registering a post type as a submenu of another post type, the submenu item does not get high lighted correctly when adding a new item to the post type (the one that is a sub menu).

The post.php and edit.php screens work fine for the submenu post type; it is only post-new.php does that doesn't highlight correctly.

This is similar to #19125 and #22022, but not quite the same.

I think I've tracked the issue down to `get_plugin_page_hookname()` and the `$_registered_pages` global.

The submenu post type key in $`_registered_pages` is (for example)

`download_page_edit?post_type=edd_volume_discount`

but the one retrieved by `get_plugin_page_hookname( ""post-new.php?post_type=$post_type"", $post_type_object->show_in_menu )` is 

`download_page_post-new?post_type=edd_volume_discount`.

It appears the `$_registered_pages` global doesn't include (at least for submenu CPTs) `post-new`, only `edit`."	mordauk
19031	Category view incorrectly counting custom posts		Post Types	3.2.1	normal	normal	Awaiting Review	defect (bug)	new		2011-10-24T02:40:31Z	2013-02-24T11:58:14Z	"If you define a custom post-type something like this:

{{{
Array
(
    [taxonomies] => Array
        (
            [0] => category
            [1] => post_tag
        )
    
    [label] => Book
    [rewrite_slug] => 
    [query_var] => 
    [public] => 
    [show_ui] => 1
    [show_in_nav_menus] => 1
    [publicly_queryable] => 
    [exclude_from_search] => 1
)
}}}

Even if the post-type is NOT public or NOT publicly_queriable (see above), the counts of the posts in each category still shows, totally ignoring the settings of the post-type.

== Expected Output ==

I would expect the count to be related to the results displayed.  If there are no visible results for that category (i.e. the user can't see them due to public settings), I would expect the count to go to zero.

== Actual Output ==

The count of posts in the given category seems to have nothing to do with the visible results.

This is related to this bug: #18950"	fireproofsocks
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
23603	Custom post password form label		Post Types		normal	normal	Awaiting Review	defect (bug)	new	has-patch	2013-02-25T08:46:38Z	2013-02-26T05:42:45Z	"[http://core.trac.wordpress.org/browser/trunk/wp-includes/post-template.php?rev=23416#L1214 get_the_password_form()] hardcodes the password protected message.

{{{#!php
__(""This post is password protected. To view it please enter your password below:"")
}}}

This results in misbehavior, wherein all post types (including Pages) do not make a distinction between what is password protected.
Considering the difficulty of chunking up that string to be dynamic and more importantly easily localizable, I attach a draft patch which makes that message a label instead."	soulseekah
24139	"Don't show ""Preview"" for locked, non-public post types"		Post Types	trunk	normal	minor	Awaiting Review	defect (bug)	new		2013-04-19T17:03:41Z	2013-04-22T12:51:40Z	"If a post_type is not public but has {{{show_ui => true}}}, we shouldn't show the preview link on the ""This content is currently locked"" notice."	batmoo
23302	Feeds or Feed - add_permastruct missunderstanding.		Post Types	3.5.1	normal	normal	Awaiting Review	defect (bug)	new	has-patch	2013-01-27T16:00:59Z	2013-01-27T16:19:00Z	"In case of register_post_type you ""can"" specify to add feeds to permalink structure or not. You actualy [http://codex.wordpress.org/Function_Reference/register_post_type can do that] by specifing a 'feeds' element to '''false''' in rewrite array.

But add_permastruct doesn't accept feeds element of rewrite argument. Its accept 'feed' element which default is true. So in this case  its not posible to disable feeds for any post type via register_post_type API."	butuzov
21009	"If name=""post_type"" is set in search template the archive template is loaded."		Post Types	3.4	normal	minor	Awaiting Review	defect (bug)	new	reporter-feedback	2012-06-18T12:46:51Z	2012-09-26T22:05:47Z	"I have a hidden form field named ""post_type"", which is used in the search form. When the user searches the archive.php template is loaded and not the search.php template.

I'm not sure if this is a bug, or unexpected behavior, note my fix was to use a different form field name.

Bug(?) url: 
== http://bmxraceevents.com/?s=maryland&post_type=events ==

Fixed url: 
== http://bmxraceevents.com/?s=maryland&type=events ==

== http://zanematthew.com/blog/2012/06/unexpected-behavior-in-wordpress-custom-post-type-search-template/ ==
"	ZaneMatthew
21699	Losing post status		Post Types	3.4.1	normal	normal	Awaiting Review	defect (bug)	new	dev-feedback	2012-08-27T05:19:40Z	2012-08-27T07:00:09Z	I created custom post type and custom post status for it. Then I programmatically set custom status for new post and then edit it using admin panel. When I save post status is set to 'published' and I can't select my status from statuses list.	barmin.alexander@…
13905	No sanity check in map_meta_cap caps throws PHP notices	filosofo	Post Types	3.0	normal	normal	Future Release	defect (bug)	reopened		2010-06-15T16:29:45Z	2013-04-16T21:32:54Z	"`map_meta_cap` assumes that the ID which it's passed when evaluating `edit_post`, `edit_page` and the like actually belongs to a real post object.

In fact, it's quite possible that the object doesn't yet exist (creating a new object, perhaps) or doesn't exist any more (deleted), or that it has otherwise received a syntactically correct ID value that doesn't map to an existing post object (0, e.g.).

Instead, `map_meta_cap` should check that the post object actually exists before attempting to branch on its properties.

Patch also removes some apparent debugging comments."	filosofo
14011	On subdirectory multisite installs, custom post types on main blog generate bad next/previous links	nacin	Post Types		normal	normal	Future Release	defect (bug)	reviewing		2010-06-20T21:06:51Z	2011-11-22T22:18:34Z	With multisite and subdirectories, the main blog uses site.com/blog/xxx permalinks however custom post types can use site.com/custom/permalink .  The next and previous post template tags generate the links as site.com/blog/custom/permalink .	jorbin
15218	Publish box (inner-sidebar) hidden in custom posts without show_ui		Post Types	3.0.1	normal	normal	Future Release	defect (bug)	new		2010-10-26T08:18:19Z	2010-12-08T20:17:16Z	"I'm pretty sure this is a bug as I can't figure out a reason for the following:


----
Create a new custom post type with '''show_ui => true''' ''(which is supposed to hide the menus for it if false)''. Create a post, go to the post edit screen. Now edit the plugin code and '''switch true to false''' for '''show_ui'''. Hit refresh and the inner-sidebar is gone.
----


Is this expected behavior and, if it is?!?!... how should it be handled? Some people need to manage the custom posts by themselves and not have then show up in the menu, trash can,... but they need the editor, scheduling and such.

Thanks a lot."	5ubliminal
13509	Searching doesn't return Private results to logged in users with read_private_ permissions	ryan	Post Types	2.9.1	normal	normal	Future Release	defect (bug)	new		2010-05-24T00:31:11Z	2010-11-13T08:01:18Z	"When you do a search with these requirements...[[BR]]
- You are a registered user.[[BR]]
- You are logged in.[[BR]]
- You have '''''read_private_posts''''' permissions.

... you expect seeing in the results those Private posts that contains your query's terms.

But you end up with showing only the ones that belongs to you. I think the bug is in these lines:


{{{
if ( is_user_logged_in() ) {
	$where .= current_user_can( ""read_private_{$post_type_cap}s"" ) ? "" OR $wpdb->posts.post_status = 'private'"" : "" OR $wpdb->posts.post_author = $user_ID AND $wpdb->posts.post_status = 'private'"";
}
}}}

As '''''$post_type_cap''''' is set to ""any"" when you do a search, the conditional expression always fails as it's asking for this:

{{{
current_user_can( ""read_private_anys"" )
}}}

... and ends up always in the second part of the conditional expression. That is:

{{{
"" OR $wpdb->posts.post_author = $user_ID AND $wpdb->posts.post_status = 'private'""
}}}

Thanks."	inbytesinc
20462	Shouldn't have to pass 'post_category' to wp_update_post()		Post Types		low	minor	Future Release	defect (bug)	new	has-patch	2012-04-16T23:35:53Z	2013-05-20T11:59:32Z	Custom post types don't usually have the 'post_category' field set, which means that wp_update_post() throws an Undefined Index notice when we don't pass it explicitly.	scribu
20900	Throw an error in `get_default_post_to_edit` if the specified post type is not defined.		Post Types		normal	minor	Awaiting Review	defect (bug)	new	dev-feedback	2012-06-10T23:07:23Z	2012-06-10T23:07:23Z	"Currently get_default_post_to_edit will generate a post with the specified post type, even if it doesn't exist.  Let's give it a chance to do something else.

If this is conceptually a good idea, also do it during wp_insert_post() and other similar functions."	georgestephanis
19286	Users without access to Comments screen can see links to it		Post Types	3.0	normal	normal	Awaiting Review	defect (bug)	new	has-patch	2011-11-18T11:09:17Z	2011-12-02T04:42:09Z	"The comments bubble that shows on up next to each post on post listing screens doesn't check for the `edit_posts` capability. This means on post type screens where a user has the `edit_{post_type}` capability but not the `edit_posts` capability, the comment bubble links to the Comments screen which they do not have access to.

We should still show the comment bubble in this case but not link it to the Comments screen.
"	johnbillion
20105	When inserting a draft post with wp_insert_post you can't query it on name		Post Types		normal	normal	Awaiting Review	defect (bug)	new	reporter-feedback	2012-02-22T23:50:01Z	2012-03-29T10:51:48Z	"When creating a draft post with wp_insert_post you can't query it with get_post.
In my case I used the argument: name. That is the problem. Not using it will find the post.

I'm not sure if this is an expected result. I would say no."	markoheijnen
16641	custom post has_archive in multisite		Post Types	3.1	normal	minor	Awaiting Review	defect (bug)	new	reporter-feedback	2011-02-24T15:36:46Z	2011-02-27T19:41:24Z	"has_archive flag in register_post_type only works on the main site

in the subsite the error is
Warning: Illegal offset type in isset or empty in .../wp-includes/post.php on line 812

An the template redirect ad the file archive-{$post_type}.php don't work.

I temporarily fixed by changing the function get_post_type_object

{{{
function get_post_type_object( $post_type ) {
	global $wp_post_types;
	
	if (is_array($post_type)) {
		$post_type = $post_type[0];
	}

	if (empty($wp_post_types[$post_type]) )
		return null;

	return $wp_post_types[$post_type];
}
}}}

and using is_post_type_archive in file archive.php


{{{
<?php 

if (is_post_type_archive('my_post_type')) {
require_once ('archive-my_post_type');
return;
}

.
.
.

}}}


saw my bad English I struggle to explain better.



"	andreamk
21219	get_post_type_archive_link in multisite context: struct issue		Post Types		normal	normal	Awaiting Review	defect (bug)	new		2012-07-11T17:48:27Z	2012-09-03T12:11:03Z	"Context : multisite and a site aaa ( http://localhost/wpmu_svn_34/aaa/ ) trying to display the '''post_type_archive_link''' of cpt 'book' of the blog bbb

{{{
switch_to_blog( $b );
$link = get_post_type_archive_link( 'book' ) ;  
/*/ http://localhost/wpmu_svn_34/bbb/book/ and not  http://localhost/wpmu_svn_34/bbb/livre/ */
restore_current_blog();
}}}

when name, slug and query_var of the post_type are the same: no problem because $struct to find the '/book/' is kept from the caller site BUT

if in the called site, the CPT have the same type name ('book') but with different slug and query_var, the home_url is correctly changed but the $struct is not good... 'book' instead 'livre' as declared in cpt in site bob.

The issue came from global $wp_rewrite; which is not this of the target after the switch_to_blog !

Instead of a non elegant filter ''post_type_archive_link'', is there a way to ""find"" the $wp_rewrite of $b ?

Best regards !
"	michelwppi
18950	get_post_types() does not return post-types registered with verbose alternatives of the $public argument		Post Types	3.2.1	normal	major	Awaiting Review	defect (bug)	new	close	2011-10-14T16:50:26Z	2012-07-18T10:03:52Z	"The $public argument for the '''register_post_type()''' function is supposedly an alternative for setting the arguments for publicly_queriable, show_ui, show_in_nav_menus, and exclude_from_search;  It's true that setting the public argument does cause these other values to be set, but if you then use '''get_post_types()''' to query for public post-types, WP does not recognize the equivalence between setting the public option or verbosely setting the others.


== To Reproduce: ==

Enter the following code into a plugin:
{{{
function testing() {
 $args => array(
   'publicly_queriable' => true,
   'show_ui' => true,
   'show_in_nav_menus'  => true,
   'exclude_from_search => false
 );
 register_post_type('my_custom_post_type', $args);
}

add_action('init', 'testing');
}}}

In a theme file (or somewhere after the init event):
{{{

$pts = get_post_types( array('public'=>true, '_builtin'=>false) );

print_r($pts); // <-- empty!
}}}


== Expected Result ==

I would expect the get_post_types() function to return the '''my_custom_post_type''' post-type because it is using the equivalent of the $public argument.


== Actual Result ==

No post-types are returned. 

This represents a problem: other plugins that interact with post-types often rely on the $public argument when using the '''get_post_types()''' function, so any plugin that attempts to verbosely set component attributes will not be recognized.  This effectively breaks the API and trainwrecks the interconnectedness of the post-types.

== See Also ==

See forum post: http://wordpress.org/support/topic/public-attribute-for-register_post_type?replies=5#post-2391689


WordPress 3.2.1
PHP 5.3.2"	fireproofsocks
22241	inconsistence with transition_post_status with CPT		Post Types		normal	normal	Awaiting Review	defect (bug)	new	reporter-feedback	2012-10-21T10:03:31Z	2013-01-14T11:24:12Z	"im playing with transition_post_status filter and it seems it returns different values for posts+pages and for custom post types - for posts and pages it hase those values:
new_status:inherit
old_status:new

and the $post is the auto draft. Then this function is called twice, secondly for the saved post with new post status

for CPT it returns the actual old status and new status and $post is the actual post and it is called just once

actually I prefer the way it works for CPT as it actualy returns the old and new post status, what should be the proper function. But it seems, that the problem is somewhere deeper, e.g. that you are saving posts&pages twice, but not doing it for CPT
"	thomask
20571	problems with slug and view in custom post types		Post Types	3.3.1	normal	minor	Awaiting Review	defect (bug)	new		2012-04-29T23:27:56Z	2012-04-30T06:39:19Z	"when creating custom post type, there are 2 minor problems
1. when setting rewrite to false, it is not possible to edit slug (edit button missing) - this is wrong as slug is needed e.g. for get_post queries by name
2. if the post is set '''not''' publicly_queryable, then anyway the post edit screen shows ""View [custom post name]"" and ""Preview"" button, which then points to 404 screen. "	thomask
15995	query is separating post_type 'post' from custom post_types when retrieving custom field		Post Types	3.0.3	normal	normal	Awaiting Review	defect (bug)	new	dev-feedback	2010-12-27T12:37:39Z	2011-02-02T19:46:24Z	"{{{
query_posts( 
	array( 'post_type' => array(
		'post',
		'custom_1',
		'custom_2'
		),
	'orderby' => 'title',
	'order'=>'ASC' )
	);
}}}

It doesn't matter which parameter you take for 'orderby' it will separate the post_type 'post' from the custom post_types as shown in the example below:

custom_1,	title = AAA[[BR]]
custom_2,	title = DDD[[BR]]
custom_1,	title = GGG[[BR]]
post,		title = BBB[[BR]]
post,		title = EEE[[BR]]

I cannot believe that this is intended. The proper output should to be:

custom_1,	title = AAA[[BR]]
post,		title = BBB[[BR]]
custom_2,	title = DDD[[BR]]
post,		title = EEE[[BR]]
custom_1,	title = GGG[[BR]]"	bowstreet
19954	wp_insert_post should look if default category is nessesary		Post Types		normal	normal	Future Release	defect (bug)	new	has-patch	2012-02-03T14:58:14Z	2012-10-18T14:31:27Z	"When creating an post object with get_default_post_to_edit(), wp_insert_post() will ignored the set category.
It doesn't look if the post has already a good category."	markoheijnen
21945	wp_list_categories feed links unaware of custom type		Post Types	3.4.1	normal	normal	Awaiting Review	defect (bug)	new		2012-09-20T19:40:27Z	2012-09-20T20:35:47Z	"wp_list_categories accepts a taxonomy argument to specify a custom taxonomy, and correctly lists item of said taxonomy. However the feed links produced lack the necessary ?post_type= for the corresponding custom post types that may be used with a category.

Ideally the function could auto-detect stuff and do the right thing automatically. Less ideally it might accept another argument to define the post types used in the category. At a minimum, this should be documented, and a work-around such as the following included:


{{{
function wp_list_cat_custom_feed($txt){
  return preg_replace('/\/feed\/?/', '/feed/?post_type=foo', $txt);
}
add_filter('wp_list_categories','wp_list_cat_custom_feed');
}}}
"	belg4mit
15230	Action hook before the inserting post into the database		Post Types	3.1	normal	normal	Future Release	enhancement	new	dev-feedback	2010-10-27T09:18:46Z	2013-03-14T10:10:40Z	"Something like
{{{
do_action( 'pre_post_insert', $data, $postarr );
}}}
added to ''wp_insert_post'' function right after the ""else"" statement on line 2501 in .../wp-includes/post.php

"	johnnypea
23207	Add  $labels argument to register_post_status()		Post Types	3.0	normal	normal	Awaiting Review	enhancement	new		2013-01-15T19:32:54Z	2013-03-08T22:59:14Z	"WordPress functions '''register_taxonomy()''' and '''register_post_type()''' has '''labels''' argument. Why not add labels to '''register_post_status()'''?

The current way to add status:
{{{
$args = array(
	'label'                     => __( 'draft', 'text_domain' ),
	'label_count'               => _n_noop( 'Draft (%s)',  'Drafts (%s)', 'text_domain' ),
	'public'                    => false,
	'show_in_admin_all_list'    => true,
	'show_in_admin_status_list' => true,
	'exclude_from_search'       => true,
);

register_post_status( 'draft', $args );
}}}


The new way (using labels):
{{{
$labels = array(
	'name'                      => __( 'Draft', 'text_domain' ),
	'singular_count'            => __( 'Draft (%s)', 'text_domain' ),
	'plural_count'              => __( 'Drafts (%s)', 'text_domain' ),
	'any_other_label'           => __( 'Any Other Label', 'text_domain' )
);
$args = array(
	'labels'                    => $labels,
	'public'                    => false,
	'show_in_admin_all_list'    => true,
	'show_in_admin_status_list' => true,
	'exclude_from_search'       => true,
);

register_post_status( 'draft', $args );
}}}"	ramiy
17447	Add 'register_post_type_args' hook		Post Types	3.1	normal	normal	Awaiting Review	enhancement	new	dev-feedback	2011-05-15T21:37:32Z	2013-04-01T08:13:35Z	"I have two different use cases where I ideally would be able to hook the `register_post_type()` function:

1. To add custom attributes and custom `'supports'` values; current hooks don't allow adding support at the right time to be fully robust.

2. To disable the default rewrite logic in order to support customized rewrite logic passed as custom attributes.

I've attached a patch that adds `'pre_register_post_type'` and `'register_post_type'` hooks to `register_post_type()`."	mikeschinkel
19358	Add action to add content after the h2 of a post type screens		Post Types		normal	normal	Awaiting Review	enhancement	reopened		2011-11-25T13:20:07Z	2012-10-17T21:01:07Z	"For creating aditional content to post type screens there isn't really a good way.
The way you can do it now is with javascript or absolute positionering. This is not really a good way.

In my case I added extra content to the edit view and created tabs at the new/edit screens.
This is probably a case that would not be used a lot but it gives plugin developers create power to make the new/edit overview clean when they can used tabs. To much meta boxes are killing"	markoheijnen
23399	Add filter wp_insert_attachment_data mirroring wp_insert_post_data		Post Types	3.5	normal	minor	Awaiting Review	enhancement	new	has-patch	2013-02-05T21:36:26Z	2013-02-05T21:56:44Z	"In commercial applications it's handy to use the wp_insert_post_data filter in wp_insert_post() to control attributes of a post being inserted based on the user's role and other variables.  We're using this to force content to go through a complex approval process which runs off of the post status.

wp_insert_attachment() does not have a similar filter, which makes content approval processes difficult to implement.

This patch adds a filter named wp_insert_attachment_data filter to wp_insert_attachment() which mirrors the form and functionality in wp_insert_post()."	israelshirk
12726	Add get_post_by_*() functions	sorich87*	Post Types	3.0	normal	normal	Future Release	enhancement	accepted	has-patch	2010-03-27T05:57:13Z	2012-11-28T23:52:48Z	"Current there are get_page_by_path() and get_page_by_title() function but they hardcode the post_type of 'page'.  With support for new custom post types I'm finding a need for functionality to look up posts of custom post types:
{{{
$args = array('post_type','my_custom_post_type');
$path = 'foo-bar';
$post = get_post_by_path($path,$args);
$title = 'Foo Bar'
$post = get_post_by_title($title,$args);
}}}
Another option would be a simple get_post_by():
{{{
$args = array('post_type','my_custom_post_type');
$path = 'foo-bar';
$post = get_post_by('path',$path,$args);
$title = 'Foo Bar'
$post = get_post_by('title',$title,$args);
}}}
This code is not hard to write but looking at the functions in post.php there's not one consistent style so I'm not sure what the best approach would be to write it.  Further, I don't completely understand the significance of all the code in get_page_by_path() so wouldn't want to start with it (although I could see it being modified to use the more generic functions that I propose.)

I can make these updates if I get enough direction from the core team, or I'd happily just see them get done. :)
"	mikeschinkel
12976	Add get_post_content()/get_post_excerpt() and save_postdata()/restore_postdata() for support.		Post Types	3.0	normal	normal	Future Release	enhancement	new		2010-04-12T16:05:25Z	2012-09-05T01:54:19Z	"Currently the {{{get_the_content()}}} and {{{get_the_excerpt()}}} functions return the values from the loop but do not allow a Post object to be passed.  These functions in the patch ({{{get_post_content()}}} and {{{get_post_excerpt()}}}) save and then restore the global variables assigned by {{{setup_postdata()}}} so that {{{get_the_content()}}} can be called for a specific post.

The functions to save and restore the postdata are {{{save_postdata()}}} and {{{restore_postdata()}}} respectively, and they simply capture the values of the global variables set in {{{setup_postdata()}}} into an array and then restore them back from the array.

This is the first of a broader patch I hope to supply with functions for {{{get_post_*()}}} and {{{the_post_*()}}} that would each receive as their first parameter a Post object/post ID/post array and as a second an array of {{{$args}}} so that robust code can be written related to posts and so that there will be a set of functions for this with a ''consistent'' set of parameters."	mikeschinkel
12539	Add hook to create_initial_post_types()		Post Types	3.0	normal	normal	Future Release	enhancement	new		2010-03-07T02:51:42Z	2011-12-30T02:29:14Z	"I'd like to propose that create_initial_post_types() in wp-includes/post.php have a filter called 'initial_post_types' (or something else) that will allow a hook to remove default post types and/or modify the attributes of post types before they are registered. I've included a patch to illustrate. The same could be done with the post statues but doing so is a bit more complicated so I didn't implement that in case the core devs hate the idea.

As suggested by dd32 from #9674 I created this new ticket.
"	mikeschinkel
17584	Add post_type_supports filter	mitchoyoshitaka	Post Types		normal	trivial	Awaiting Review	enhancement	new	has-patch	2011-05-27T06:16:28Z	2013-04-03T21:59:41Z	The post_type_supports return value should be filter-able, and there's even a @todo in the code to that effect.	mitchoyoshitaka
14077	Add support for removal of multiple features from a post type in remove_po