﻿__group__,ticket,summary,owner,component,_version,priority,severity,milestone,type,_status,workflow,_created,modified,_description,_reporter
Consider for Next Major Release (has-patch),10819,Suggestion: Addition to dbDelta - returns FALSE on mySQL error,ryan,Database,2.8.4,normal,normal,Future Release,enhancement,new,dev-feedback,2009-09-20T22:07:46Z,2009-09-20T22:21:53Z,"I don't have any idea how to submit or recommend a change to the WordPress core, but I'm going to give this a shot anyway... having just spent a lot of time struggling with the dbDelta function while programming a plugin, I had a possible suggestion to make. It strikes me that said function would be a lot easier to use if something similar to the following code was added, starting on line 1363 of wp-admin/includes/upgrade.php:

	if($execute) {
		$query_error_num = 0;
		foreach($allqueries as $query) {
			//echo ""<pre style=\""border:1px solid #ccc;margin-top:5px;\"">"".print_r($query, true).""</pre>\n"";
			$qresult = $wpdb->query($query);
			if ($qresult === false) {
				$query_error_num++;
				$qerror = 'error' . $query_error_num;
				$for_update[$qerror] = ""Query error - The following query failed: "" . $query;
			}
		}
	}

	return $for_update;

There's probably a more optimized way to go about it - programming isn't my strong suit by any stretch of the means - but at least this way errors caused when *creating* tables with the function will return some kind of error message, even if it's PHP only.

Opinions?",tinwatchman
Consider for Next Major Release (has-patch),5915,Same problem as in #252: apop broken if zero occurs in banner in 2.3.3 class-pop3.php,westi*,Blog by Email,2.3.3,normal,normal,Future Release,defect (bug),accepted,has-patch,2008-02-19T05:21:02Z,2009-10-11T21:08:22Z,"While extracting the banner (function parse_banner) in preparation for apop, the empty method is called on $digit which when zero returns false and hence doesn't get put into the resultant $banner.

Example parse_banner reply with <14649.123343777@code-werk.net> but the string was ""+OK ready <14649.1203343777@code-werk.net>""
or another example
""+OK ready <14649.1203343777@code-werk.net>"" and $pop3->parse_banner give back <14419.12334323@code-werk.net>

then a md5($AuthString) must fail, because the 0 is significant by apop.

I put a workaround at http://www.babsi.de/silentapop/, that does it for me, but this touch also wp-main.php

",ASonno
Consider for Next Major Release (has-patch),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
Consider for Next Major Release (has-patch),10946,Add set_post_field(),,General,,normal,normal,Future Release,enhancement,new,has-patch,2009-10-12T16:58:43Z,2009-11-17T15:05:33Z,"get_post_field() should have a matching function that updates a certain field.

Very useful both for Core and for plugins.",scribu
Consider for Next Major Release (has-patch),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
Consider for Next Major Release (has-patch),10683,White space cleanup in atomlib.php,,Optimization,2.9,low,minor,Future Release,enhancement,new,has-patch,2009-08-25T13:53:51Z,2009-11-17T15:20:20Z,White space cleanup and unnecessary braces deleted in atomlib.php,Simek
Consider for Next Major Release (has-patch),9510,Multiple feed fixes and enhancements,,Feeds,2.7.1,high,major,Future Release,enhancement,new,has-patch,2009-04-11T09:36:47Z,2009-11-17T20:28:06Z,"Currently, the feed always returns the same subtitle, self link, alternate link and replies link no matter what the page type is. I think they should be different for each page type.",peaceablewhale
Consider for Next Major Release (has-patch),3260,"XML output (rss, atom, rdf ...) should always use UTF-8 or CDATA for user input",,Feeds,2.8.2,normal,normal,Future Release,defect (bug),new,has-patch,2006-10-18T02:33:58Z,2009-11-20T15:32:29Z,"If none UTF-8 is used, user generated text like titles or categories may contain unallowed entities. The elements <title>, <tagline>, <dc:subject>, <category> (there may be more) are not protected width <![[CDATA ]]>.

The conversion can be done width the PHP MulitByte function. If MB is not available, the <![[CDATA should be used instead.

Please contact me for development help.",deremder
Consider for Next Major Release (has-patch),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
Consider for Next Major Release (has-patch),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
Consider for Next Major Release (has-patch),7615,Show theme name when selecting page templates,,Administration,2.7,normal,normal,Future Release,enhancement,new,has-patch,2008-08-27T20:12:39Z,2009-11-20T20:33:10Z,"Currently, if a child theme inherits some templates from its parent theme and adds some itself, it's not clear when selecting a page template which templates are from which theme. The attached patch adds the theme name in parentheses after the template name.

This is just something that struck me might be an issue, so feedback on whether there is actually a real benefit to the added complexity would be welcome.",ionfish
Consider for Next Major Release (has-patch),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
Consider for Next Major Release (has-patch),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
Consider for Next Major Release (has-patch),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
Consider for Next Major Release (has-patch),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
Consider for Next Major Release (has-patch),8828,Tags and Categories are undifferentiable in Atom and RSS feeds,,Feeds,2.7,normal,normal,Future Release,enhancement,new,needs-review,2009-01-09T11:48:18Z,2009-11-23T19:48:49Z,"In RSS feeds this can be achieved using the 'domain' attributes of the category element. This is already done in Wordpress export through the wxr_post_taxonomy function, so we just have to do the same in RSS feeds. 

In Atom feeds this can be achieved using the 'scheme' attributes of the category element. The Atom standard is not explicit about what to put in this scheme attributes. There is [http://edward.oconnor.cx/2007/02/representing-tags-in-atom an interesting topic on Edward O’Connor blog]. In my proposed patch, i decided to use the 1st representation and i also considered seriously the 2nd.

In the patch, i'm also adding the 'label' attribute to the atom category element and changed the 'term' attribute to be the tag slug. Seems this are currently the best practices in the Atom community.",znarfor
Consider for Next Major Release (has-patch),10414,Some trackbacks timeout due to short timeout period,,Pings/Trackbacks,2.8.1,normal,normal,Future Release,defect (bug),new,dev-feedback,2009-07-15T07:47:35Z,2009-11-23T21:43:36Z,"A trackback by WordPress to an external blog can timeout without any network congestion. WordPress 2.8.1 timeouts if it has not received any response from the receiving system for 4 seconds although some blog system can take more than 10 seconds to accept a trackback. If the trackback fails, WordPress keeps trying to resend the trackback every time the user posts a new entry, but it never succeeds and WordPress keeps resending for ever.  It annoys the blog owner whose blog the WordPress is trying to send the trackback to.

I propose that function trackback in wp-includes/comment.php should be modified for the timeout period to be extended from 4 seconds (e.g. to 30 seconds).

This modification is different from one appeared in ticket #8665.",gnaka08
Consider for Next Major Release (has-patch),11164,Add Theme Sort Filter,,Administration,,normal,normal,Future Release,enhancement,new,has-patch,2009-11-17T16:03:18Z,2009-12-01T18:16:20Z,"I've run across the need for this in a few plugins. You can't adjust the order of themes in the theme browser as all filters are applied before the sort.

Aaron (for Incsub)",uglyrobot
Consider for Next Major Release (has-patch),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
Consider for Next Major Release (has-patch),11060,Content-Type of XML feeds is misstated as 'text/html',dd32,Feeds,2.8.6,normal,normal,Future Release,defect (bug),new,has-patch,2009-11-02T01:56:40Z,2010-02-05T13:22:33Z,"I access blog XML feeds via a caching proxy (squid).  The Content-Type in the HTTP response headers is initially reported correctly as 'text/xml', but when a subsequent request is made and the object is stale, wordpress sometimes returns a '304 Not Modified', but also incorrectly re-characterizes the Content-Type as 'text/html'.  Example:

{{{
HTTP/1.0 304 Not Modified
X-Pingback: http://wordpress.org/development/xmlrpc.php
Last-Modified: Sat, 31 Oct 2009 21:28:00 GMT
ETag: ""a4aa82a49dbe294617210eb367fa0997""
Content-type: text/html
Date: Mon, 02 Nov 2009 01:25:17 GMT
Server: LiteSpeed
Connection: close
}}}
I've seen this on 'wordpress.org/development/feed' (LiteSpeed), on a wordpress.com hosted blog (nginx), and on an independent site running wordpress (Apache).
",celejar0
Consider for Next Major Release (has-patch),11705,get_media_item()'s $form_fields do not allow for <select>,,Administration,3.0,normal,normal,Future Release,enhancement,new,has-patch,2010-01-03T21:48:51Z,2010-02-18T12:19:45Z,"get_media_item() of wp-admin/includes/media.php does not allow for <select>-style fields. This makes extending the ""Edit Media"" screen via the ""attachment_field_to_edit"" filter difficult for plugin authors to extend.",johnl1479
Consider for Next Major Release (has-patch),12120,Force Media Image Generation (for thumbnails),,Media,,normal,normal,Future Release,enhancement,new,has-patch,2010-02-03T17:53:32Z,2010-03-07T08:19:33Z,"It would be very useful to force the generation of a thumbnail images for uploaded files. With content being syndicated to feeds, e-readers, and mobile devices, the ability to have a working thumbnail is more important.

For example, if the original image has dimensions of 250x50, and the default thumbnail size in WP is 150x150, a thumbnail will not be generated because the 50 height is smaller than the 150 pixel minimum.

The fix would be to include an additional parameter to the image_resize_dimensions to allow the function the dimensions. A filter could be applied to allow the user to set which images should force the generation of a resized image (i.e. to exclude a medium and large image from being generated for a 250x50 image) by passing in the original width/height and max width/height.

in wp-includes/media.php

========

function image_resize( $file, $max_w, $max_h, $crop = false, $suffix = null, $dest_path = null, $jpeg_quality = 90 ) {

...

$force = apply_filters('image_resize_dimensions_force', $orig_w, $orig_h, $max_w, $max_h);
$dims = image_resize_dimensions($orig_w, $orig_h, $max_w, $max_h, $crop, $force);

========

function image_resize_dimensions($orig_w, $orig_h, $dest_w, $dest_h, $crop = false, $force = false) {
...

// if the resulting image would be the same size or larger we don't want to resize it
	if ( $new_w >= $orig_w && $new_h >= $orig_h && !$force )
		return false;
",atow
Consider for Next Major Release (has-patch),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
Consider for Next Major Release (has-patch),11248,Paged wp_list_comments() should always output something,,Comments,2.9,normal,normal,Future Release,defect (bug),new,has-patch,2009-11-24T06:00:23Z,2010-03-13T22:04:21Z,"Enable comment paging on your blog and visit `http://yourblog.com/a/single/post/comment-page-999999/`. Note no comments will be displayed.

There's situations where the comment form will redirect you back to the wrong page (for example if you mess with the type parameter and exclude pings). The Walker should detect if there's no comments to be displayed on the requested page and if that's the case, then display the latest page that actually has comments.",Viper007Bond
Consider for Next Major Release (has-patch),9227,"in get_the_category_list(), filter categories before constructing list",,Template,2.8,normal,normal,Future Release,enhancement,new,tested,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
Consider for Next Major Release (has-patch),12494,Allow selectable value in Walker_*Dropdown classes,,General,,normal,normal,Future Release,enhancement,new,dev-feedback,2010-03-03T06:17:50Z,2010-03-26T03:04:47Z,I think we should be able to select either term_id or term_slug as the output value for Walker_CategoryDropdown class and likewise either ID or post_name for Walker_PageDropdown class.,jfarthing84
Consider for Next Major Release (has-patch),11376,wp_mail should run MsgHTML for HTML emails,,Mail,,normal,normal,Future Release,feature request,new,dev-feedback,2009-12-09T22:47:15Z,2010-03-31T03:47:02Z,"PHPMailer has a function called [http://core.trac.wordpress.org/browser/trunk/wp-includes/class-phpmailer.php#L1720 MsgHTML] that sets the email as isHTML and automatically adds HTML and plain text versions of the message to the email.

wp_mail should run this function if $content_type is set to text/html to allow for max compatibility with email clients. 

Should note: WordPress doesn't currently send HTML emails so this is more of a benefit for plugins. But if we go down the road for HTML emails with core, this will be useful...

This is a quick fix, so I can patch it up.",batmoo
Consider for Next Major Release (has-patch),11268,Allow Image Map in KSES,,Editor,2.9,low,minor,Future Release,enhancement,new,has-patch,2009-11-26T00:12:31Z,2010-03-31T08:50:20Z,Add image maps in allowed post tags.,mtdewvirus
Consider for Next Major Release (has-patch),9102,Inverse proxy breaks permalinks,ryan,Permalinks,2.7,normal,normal,Future Release,defect (bug),new,has-patch,2009-02-12T01:58:37Z,2010-04-02T00:34:00Z,"I have a WP installation at my university's webspace (on an apache server), say http://myuni.ac.at/mydir/wordpress/ , and an inverse proxy domain http://mydomain.at/ for it.
This means that any request to the latter, eg for http://mydomain.at/2009/02/12/inverse-proxy-trouble/ , is forwarded to http://myuni.ac.at/mydir/wordpress/ , which in turn means that the REQUEST_URI there becomes /mydir/wordpress/2009/02/inverse-proxy-trouble/ . My ''home'' variable is of course set to http://mydomain.at/ (''siteurl'' is set to http://myuni.ac.at/mydir/wordpress/ -- otherwise I wouldn't be able to login to WP).

Unfortunately, when analyzing REQUEST_URI, wordpress chops off the ''home'' path, not the ''siteurl'' one. This may be okay for some purposes, but in the inverse proxy case, permalinks break. For a fix, I had to hack two wordpress core files, namely 

wp-includes/classes.php
in function parse_request: change line 162 from 

{{{
$home_path = parse_url(get_option('home'));
}}}
to
{{{
$home_path = parse_url(get_option('siteurl'));
}}}

and wp-includes/rewrite.php, in function get_pagenum_link, line 987, same modification.

This is a dirty hack, of course; so I wonder if in general, using the ''siteurl'' path is valid in any case where the ''home'' host differs from the ''siteurl'' host. If so, I suggest changing the affected files in such a manner.",Bernhard Reiter
Consider for Next Major Release (has-patch),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
Consider for Next Major Release (has-patch),11360,Don't nofollow links within the site,,Comments,2.9,normal,normal,Future Release,enhancement,new,has-patch,2009-12-08T12:24:42Z,2010-04-04T06:48:37Z,"Relative links or links with the site's own domain shouldn't be nofollowed.

This use of nofollow is damaging to the site's search engine rankings.",caesarsgrunt
Consider for Next Major Release (has-patch),12855,Add 2 filters on get_media_item(s) functions,,Media,,low,normal,Future Release,enhancement,new,has-patch,2010-04-05T11:04:08Z,2010-04-05T14:17:37Z,Allow plugin to add some content on media functions.,momo360modena
Consider for Next Major Release (has-patch),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
Consider for Next Major Release (has-patch),12670,Non-standard htaccess filename breaks mod-rewrite setup,ryan,Administration,2.9.2,normal,normal,Future Release,enhancement,assigned,has-patch,2010-03-22T17:44:41Z,2010-04-17T23:38:54Z,"I use a non-standard .htaccess filename and thus the mod-rewrite for permalinks didn't work for me as the admin script wrote to a file called .htaccess - this also made my wordpress site throw an HTTP 500 error due to the ""missing"" .htaccess file

I think it would be worth adding a check to see what the .htaccess filename is before writing it (the Apache config var is called ""AccessFileName"")

I have worked around the problem by creating a symlink from the filename I use to .htaccess.",thedotproduct
Consider for Next Major Release (has-patch),12986,Enhancement to comments_popup_link(),,Comments,,normal,normal,Future Release,feature request,new,has-patch,2010-04-13T06:25:13Z,2010-04-18T05:53:20Z,"Currently ""Comments Off"" is wrap with <span> tag, but not ""Enter your password to view comments."" if post requires password. 

The idea is to wrap ""Enter your password to view comments."" with span tag, have its own css class e.g enter-password. Also adds $css_class if set. This way, theme author can easily style it based on post / comment status condition.

And add another paramater $password so that theme author can customize the text to display if post is password protected.

Need 2nd opinion with the attached patch.

",zeo
Consider for Next Major Release (has-patch),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
Consider for Next Major Release (has-patch),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
Consider for Next Major Release (has-patch),10458,lighttpd/1.4.22 does not populate _REQUEST['action'] for wp-login.php,,General,2.8,normal,normal,Future Release,defect (bug),reopened,has-patch,2009-07-21T14:10:36Z,2010-05-10T08:50:09Z,"lighttpd/1.4.22 does not populate _REQUEST['action'] for wp-login.php, this in turn disabled any action in the switch statement breaking the ability to logout.

Symtoms of this bug are: clicking logout in wordpress 2.8 and going to the login page but not really logging out.  Clicking logout in wordpress 2.3 and being redirected right back to the /wp-admin page.

adding this code to wp-login.php, fixes the behavior and re-enables all features in wp-login.php.

I don't know the wordpress code but if there is a section which deals with idiosyncrasies of web servers that lighttpd be detected and this code be run to deal with it. 

//
// Main
//


if (strpos($_SERVER['SERVER_SOFTWARE'], 'lighttpd') !== false)
{
$_lighty_url = $base_url.$_SERVER['REQUEST_URI'];
$_lighty_url = @parse_url($_lighty_url);
$_SERVER['QUERY_STRING'] = $_lighty_url['query'];
parse_str($_lighty_url['query'], $_lighty_query);
foreach ($_lighty_query as $key => $val)
$_GET[$key] = $_REQUEST[$key] = $val;
}
",myrond
Consider for Next Major Release (has-patch),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
Consider for Next Major Release (has-patch),10545,_publish_post_hook (adding to postmeta existing hooks),,Optimization,2.8.1,normal,normal,Future Release,defect (bug),new,has-patch,2009-08-04T21:22:57Z,2010-05-14T08:14:57Z,"The problem that each time yuo press publish (assuming this is a save button) wp add to postmeta table new records even thay already exist now.


{{{
if ( get_option('default_pingback_flag') )
		$wpdb->insert( $wpdb->postmeta, $data + array( 'meta_key' => '_pingme' ) );
	$wpdb->insert( $wpdb->postmeta, $data + array( 'meta_key' => '_encloseme' ) );
}}}

shoud be (something like)
 

{{{
if ( get_option('default_pingback_flag') ){
		get_post_meta($post_id, '_pingme') ? update_post_meta($post_id, '_pingme', 1) : add_post_meta($post_id, '_pingme', 1);
		
	get_post_meta($post_id, '_encloseme') ? update_post_meta($post_id, '_encloseme', 1) : add_post_meta($post_id, '_encloseme', 1);
}}}
",butuzov
Consider for Next Major Release (has-patch),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
Consider for Next Major Release (has-patch),7092,Should support separate setting for limiting comments feed,,Feeds,2.9,normal,normal,Future Release,enhancement,reopened,has-patch,2008-06-04T15:48:34Z,2010-05-14T13:07:07Z,"Right now the comments feeds are throttled by the same limiting number the user chooses for ""posts feeds"" (posts_per_rss).

It makes sense that a blog owner would want to set a higher threshold for comments than for posts, for these reasons:

- Readers who subscribe to comment feeds are fewer in number and less likely to burden the system in aggregate.

- Comments are typically shorter per entry than posts are.

- Comments are liable to expand much more quickly than posts, making it difficult for readers to ""keep up"" without wrapping past the limit.

For instance in my blog I limit post feeds to 10 entries, but I'd like to offer a much larger limit for comments subscribers.

Establishing a ""comments_per_feed"" variable that is used in place of the ""posts_per_rss"" would accomplish this.

",redsweater
Consider for Next Major Release (has-patch),12721,Allow post_type's _edit_link to be outside of the admin.,,General,,normal,normal,Future Release,enhancement,new,tested,2010-03-26T13:07:49Z,2010-05-15T10:06:36Z,get_edit_post_link runs the post_type's _edit_link through admin_url() always forcing the edit page to be within wp-admin.  There are times where this isn't desired.  I'm submitting a patch to check that the url of the _edit_link doesn't begin with http(s?): before running it through admin_url ,prettyboymp
Consider for Next Major Release (has-patch),11381,display_page_row() generates boat loads of needless queries,,Optimization,,normal,normal,Future Release,defect (bug),new,has-patch,2009-12-10T12:41:45Z,2010-05-16T06:12:50Z,"on sites with many static pages that are spread across multiple parents, display_page_row() triggers multitudes of calls to the db.

specifically, it's repeatedly calling get_pending_comments_num(). it's also calling get_editable_user_ids() and wp_dropdown_users(), both of which do not seem to cache their results in case they're used several times on the same page.",Denis-de-Bernardy
Consider for Next Major Release (has-patch),13694,Add $args parameter to wp_create_nav_menu(),,Menus,3.0,normal,normal,Future Release,enhancement,new,dev-feedback,2010-06-02T06:55:23Z,2010-06-03T00:22:35Z,"The attached patch adds an $args parameter to wp_create_nav_menu() which simply gets passed to wp_insert_term().  This would not be used during the standard case but is important for use when a plugin uses the menu system as a building block for enhanced functionality and needs to either set a specific slug or a specific parent.

I don't need for much (any) testing so I hoping this can make it in 3.0 so I can get rid of the ugly hack in the ""Microsite Editor"" plugin I'm working on.  Thanks. :-)",mikeschinkel
Consider for Next Major Release (has-patch),14078,Don't send notifications for comments too early,,General,3.0,normal,normal,Future Release,enhancement,new,has-patch,2010-06-24T19:22:26Z,2010-06-24T19:35:03Z,"Not sure if this classes as a bug or enhancement, will call it an enhancement for now. 

In  wp_set_comment_status the notifications are currently sent out before the work is done, and there is potential for the subsequent work to fail (due to database issue etc.)  

Attached patch (attempts to) move the notification so it is only sent after the work is done. ",mrmist
Consider for Next Major Release (has-patch),8243,"Make draft pages to appear in ""recent drafts"" dashboard gadget",,Administration,2.7,normal,normal,Future Release,enhancement,new,has-patch,2008-11-16T11:08:50Z,2010-06-25T20:21:01Z,"In 2.7 beta 2, draft Pages do not appear in ""recent drafts"" dashboard gadget. It would be very nice to see draft pages there as well. Another option is to make it optional and allow one to select whether he/she wants to see draft pages in the gadget.
",asandler
Consider for Next Major Release (has-patch),13909,HTTP redirect should return a hypertext fragment,,HTTP,3.0,normal,normal,Future Release,defect (bug),new,has-patch,2010-06-15T19:15:36Z,2010-06-26T02:55:59Z,"When !WordPress redirects via the API ({{{wp_redirect}}}), a useragent which does not automatically redirect (e.g. configuration because of usability or security considerations), get's a blank page delivered (which is of no use for the user). This is because only HTTP headers are set for the redirect, but not a HTTP body. Normally Webservers and Webapplications deliver a body as well.

'''Example: Redirect on the google.com domain'''

Command: {{{curl -i http://google.com/}}}

Output:
{{{
HTTP/1.1 301 Moved Permanently
Location: http://www.google.com/
Content-Type: text/html; charset=UTF-8
Date: Tue, 15 Jun 2010 18:11:12 GMT
Expires: Thu, 15 Jul 2010 18:11:12 GMT
Cache-Control: public, max-age=2592000
Server: gws
Content-Length: 219
X-XSS-Protection: 1; mode=block

<HTML><HEAD><meta http-equiv=""content-type"" content=""text/html;charset=utf-8"">
<TITLE>301 Moved</TITLE></HEAD><BODY>
<H1>301 Moved</H1>
The document has moved
<A HREF=""http://www.google.com/"">here</A>.
</BODY></HTML>
}}}

Redirect of google.com to www.google.com; next to the headers a body is returned (some simple HTML containing the link to the redirected page).

This method is often used as a fall-back for automatic methods — if the visitor's browser does not support the automatic redirect method, the visitor can still reach the target document by following the link. [http://en.wikipedia.org/wiki/URL_redirection#Manual_redirect URL redirection (From Wikipedia, the free encyclopedia)]

'''Example: Redirect on a wordpress domain'''

This is against a trunk version wordpress setup. I made a setup with a domain www.webroot.loc and webroot.loc. The blog is w/o the www. so www.webroot.loc get's redirected to webroot.loc:

Command: {{{curl -i http://www.webroot.loc/wordpress/}}}

Output:
{{{
HTTP/1.1 301 Moved Permanently
Date: Tue, 15 Jun 2010 18:12:38 GMT
Server: Apache
X-Pingback: http://webroot.loc/wordpress/xmlrpc.php
Location: http://webroot.loc/wordpress/
Transfer-Encoding: chunked
Content-Type: text/html; charset=UTF-8
}}}

There is no http body in the response.

To increase the overall usability of wordpress a body should returned as well.",hakre
Consider for Next Major Release (has-patch),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
Consider for Next Major Release (has-patch),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
Consider for Next Major Release (has-patch),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
Consider for Next Major Release (has-patch),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
Needs Milestone,14296,Don't show previous post link on orphaned attachments,,General,3.0,normal,normal,Awaiting Review,defect (bug),new,has-patch,2010-07-13T12:52:51Z,2010-07-14T04:43:32Z,"In function adjacent_post_link(), add check if post parent not empty.",zeo
Consider for Next Major Release (has-patch),5689,smilies should not wrap on line-break,,Formatting,,low,minor,Future Release,enhancement,new,has-patch,2008-01-19T10:49:42Z,2010-07-15T01:44:30Z,When smilies are not converted to images they still should not wrap on line-break.,gpoul
Consider for Next Major Release (has-patch),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
Consider for Next Major Release (has-patch),6860,Make clean_post_cache child cleaning optional,,Optimization,2.5.1,normal,normal,Future Release,enhancement,new,has-patch,2008-04-27T22:13:40Z,2010-07-15T02:17:42Z,"clean_post_cache() makes a MySQL query in every call to clean the cache for child posts. This should be optional if the caller knows that there are no child posts or they're not cached.

Background: I need to query all posts have to clean the post cache to stay within the memory limits. Before 2.5 this was fine with clean_post_cache, but since the update the php execution time increased extremely because of this additional db query.",arnee
Consider for Next Major Release (has-patch),11581,Add category description to wp_list_bookmarks(),,General,2.9,normal,normal,Future Release,enhancement,new,has-patch,2009-12-23T20:09:22Z,2010-07-15T09:02:13Z,Add a parameter to display the link category description under the category title in wp_list_bookmarks() in bookmark-template.php. Setting a link category description is an option in the manager panel but there is not a good way to display it without modifying the core function itself a la http://www.brainshitting.com/index.php/archives/241,nedsferatu
Consider for Next Major Release (has-patch),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
Consider for Next Major Release (has-patch),7422,"pass $post_id to filters in sanitize_post_field() on post updates - same for users, etc.",,Administration,,normal,normal,Future Release,enhancement,new,has-patch,2008-07-28T21:18:05Z,2010-07-15T12:17:01Z,"the function sanitize_post_field in wp-includes/post.php calls most of the ""database writes"" post filters (e.g. content_save_pre). if a post is updated or created, the function is called in a database context ('db' == $context) and the $post_id argument is not passed to the ""database writes"" filters. while i understand this behavior on post creation ($post_id not yet available) it seems to me that on a post update the $post_id is readily available and could/should be passed to the filters as well.

an example where this would be useful is a case where i want to access a custom field value of a post that is currently being updated from the function hooked into content_save_pre. in its current form without the $post_id argument this doesn't seem to be possible.",whoismanu
Consider for Next Major Release (has-patch),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
Consider for Next Major Release (has-patch),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
Consider for Next Major Release (has-patch),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
Consider for Next Major Release (has-patch),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
Consider for Next Major Release (has-patch),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
Consider for Next Major Release (has-patch),10886,WordPress should not unnecessarily query posts at page load,junsuijin,Optimization,2.8.4,normal,normal,Future Release,defect (bug),new,has-patch,2009-10-02T01:10:15Z,2010-08-06T07:58:06Z,"For plugins like BuddyPress, with pages that have no WordPress post content, a query for posts at load time creates unnecessary overhead. I've tested this patch (with WordPress MU) and it removes 3 queries on all pages when the 'NO_QUERY' constant is defined. A very quick scan of page load times also suggests about 20% in time savings on average.

Other plugins like shopping carts and any others that needn't query the WordPress posts table can benefit from this as well.

My previous means of achieving this effect was to simply return null to the 'posts_request' filter, which removes only 2 queries per page.

The devised method uses suggestions from azaozz and sivel, and allows for setting the definition of 'NO_QUERY' using the 'init' action hook. It also still allows for further querying of the posts at a later point if necessary.

I welcome further suggestions about the patch, and any other ways this could be accomplished more effectively.",junsuijin
Needs Milestone,14551,menu item : current_page_parent : issue with Front page displays,,Menus,3.0.1,normal,normal,Awaiting Review,defect (bug),new,has-patch,2010-08-06T12:46:24Z,2010-08-10T07:46:17Z,"Settings > Reading > Front page displays: set to your latest posts
Settings > Reading > Posts page: set to anything

When the menus are building, they are only checking that something was set by the dropdown for posts page, even though the parent setting says the posts are to be on the home page.  The pages on the site have the correct logic, however the menu adds ""current_page_parent"" to the item selected in the ""Posts page"" menu, even though it's not really the parent.

The work around is to just remember if you switch from having posts on a different page back to having them on the front, you need to set the ""Posts page"" back to ""select"" and everything works correctly, but getting users in my multi-site install to do that might be asking a bit much.",hughestm@…
Needs Milestone,14584,HTML entities in category and tag elements,,Export,3.0.1,normal,normal,Awaiting Review,defect (bug),new,,2010-08-11T05:47:13Z,2010-08-11T05:47:13Z,"The script wp-admin/includes/export.php creates CDATA blocks for category and tag data which contain HTML entities. Normally, these characters should appear un-encoded in the CDATA blocks, see #4321.

I suspect this problem may have been considered at some point, but currently the line in question is commented out : http://core.trac.wordpress.org/browser/trunk/wp-admin/includes/export.php?rev=9148#L102

The solution, I think, would be to replace that comment with html_entity_decode($str) ",lavamind
Consider for Next Major Release (has-patch),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
Consider for Next Major Release (has-patch),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
Consider for Next Major Release (has-patch),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
Consider for Next Major Release (has-patch),9931,Extra class for the wrap div's in custom-header.php,,Administration,,normal,normal,Future Release,enhancement,new,has-patch,2009-05-24T17:25:40Z,2010-08-13T11:41:15Z,"I'm using custom-header.php to complete the options section for my own themes but for some themes I only need the image section to be visible>

Would it be possible to add an extra class reference to the <div class=""wrap""> sections? This would make it possible for me (and others) to ''not'' display the irrelevant sections (and thus avoid questions from users about why changes aren't reflected).

My suggestions is to go for something like this:

{{{
<div class=""wrap custom-header-text"">
<div class=""wrap custom-header-image"">
<div class=""wrap custom-header-reset"">
}}}

And perhaps that:

{{{
<div class=""wrap custom-header-text"">
<?php screen_icon(); ?>
}}}

needs to be changed into something like:

{{{
<?php screen_icon(); ?>
<div class=""wrap custom-header-text"">
}}}

to keep the icon available when you choose to hide the text section.

Cheers :)",stgoos
Consider for Next Major Release (has-patch),10652,Additional arguments required for page_template_dropdown,,Administration,2.8.4,normal,trivial,Future Release,enhancement,new,has-patch,2009-08-19T17:29:05Z,2010-08-13T12:23:56Z,"As a plugin/theme developer, it would be really useful to be able to call the page_template_dropdown function with a parameter string similar to [http://codex.wordpress.org/Template_Tags/wp_dropdown_pages wp_dropdown_pages].

For example, the current '$default' argument should accept a string of arguments where:

- 'selected' is the selected template (replaces the current $default)[[BR]]
- 'echo' can be set to 1 to return instead of output[[BR]]
- 'name' will set a name/id for the menu[[BR]]

This would make it easier to create plugin/theme options where you could select which templates you want to use for different content.

At the moment it is possible to do this by replicating and adapting this function but I think it would make more sense to use the same multi-parameter argument as [http://codex.wordpress.org/Template_Tags/wp_dropdown_pages wp_dropdown_pages] and [http://codex.wordpress.org/Template_Tags/wp_dropdown_categories wp_dropdown_categories] and include it in core?",husobj
Consider for Next Major Release (has-patch),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
Consider for Next Major Release (has-patch),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
Needs Milestone,14860,"""Updated"" message DIV jumping around Edit Post screen",,JavaScript,3.0.1,normal,minor,Awaiting Review,defect (bug),new,,2010-09-13T07:13:35Z,2010-09-14T14:33:13Z,"Okay, so I'm developing a plugin that uses a separate form tag on the Edit Posts screen to manage custom attributes. This form's inserted into the header using the ""in_admin_header"" action.

Now, to keep the same consistent formatting, I've used the same class names as used by the headings on the rest of the page:

{{{
<div class=""wrap rbs_ep"">
	<div class=""icon32""><br /></div>
	<h2>Edit Properties</h2>
	
	...
</div>
}}}

Now, whenever the page is published or updated, the ""Updated"" message box suddenly jumps from the top of the page into the form. Looking through the source for a bit, I found the culprit:

'''./wp-admin/js/common.dev :: Lines 197-199'''
{{{
// Move .updated and .error alert boxes. Don't move boxes designed to be inline.
$('div.wrap h2:first').nextAll('div.updated, div.error').addClass('below-h2');
$('div.updated, div.error').not('.below-h2, .inline').insertAfter( $('div.wrap h2:first') );
}}}

This little script is assuming that the first <h2> tag it finds is the one being displayed at the top of the page to the user. Now, I know the obvious solution here would simply be to move the form's source to the page's footer, but I still think this is a clumsy solution to an otherwise preventable issue.

Can't the Edit Page's heading be assigned an ID so the script can place the ""updated"" box more accurately? I don't want to duplicate CSS rules in my layout simply to reapply the same formatting using a different tag (e.g., ""<div class=""h2"">Edit Properties</div>""), as this'd simply be a messier approach. I think the script should be looking for a H2 tag with an ID (or at least a specific CSS class) to place the message box.",Alhadis
Consider for Next Major Release (has-patch),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
Consider for Next Major Release (has-patch),13091,edit_post action on wp_update_comment_count_now should not be fired if the comment count hasn't changed,,Comments,3.0,normal,normal,Future Release,defect (bug),new,dev-feedback,2010-04-23T06:43:15Z,2010-10-02T00:13:54Z,"wp_update_comment_count_now() is called whenever a comment status is transitioned (or a comment is deleted). However, if the comment transition is not from/to the 'approved' status (e.g., if the comment is transitioned from 'spam' to 'trash' or from 'unapproved' to 'trash'), then the associated post is not actually affected. Therefore in such cases the edit_post action shouldn't be fired, because the post has not been edited/modified in any way. I would argue that the 'wp_update_comment_count' action also should not be fired.

One solution is to check whether the comment count has changed before firing the action.  Another possible option is to call wp_update_comment_count only when a comment has transitioned in/out of the ""approved"" status. I'm inclined to prefer the former because it involves less change.

Proposed patch to follow.",solarissmoke
Consider for Next Major Release (has-patch),10141,"URL Functions for: login, logout, lostpasword and the new register",ramiy,Plugins,2.8,normal,normal,Future Release,feature request,reviewing,has-patch,2009-06-13T16:41:28Z,2010-10-10T00:01:18Z,"I want to finish the work i started on #9932.

First i complited the set of ""wp_*_url()"" functions:

'''wp_login_url($redirect)''' - exists

'''wp_logout_url($redirect)''' - exists

'''wp_lostpassword_url($redirect)''' - exists

'''wp_registration_url($redirect)''' - NEW !!!

Then i examind the '''wp_loginout($redirect)''' function and the '''wp_register( $before = '<li>', $after = '</li>' )''' function.

The old '''wp_register( $before = '<li>', $after = '</li>' )''' was depricated in favor of the new '''wp_registration($redirect)''', and moved to <wp-includes/deprecated.php>.

The new '''wp_registration()''' function uses '''wp_registration_url()''', and like all the functions in this set it accepts only the $redirect parameter.

At the end i fixed <wp-includes/default-widgets.php> and <wp-content/themes/default/sidebar.php> to use the new '''wp_registration()''' function.

(Sorry for the bad english)",ramiy
Consider for Next Major Release (has-patch),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
Needs Milestone,15222,show_option_all_included for wp_dropdown_categories,,General,3.0.1,normal,normal,Awaiting Review,enhancement,new,,2010-10-26T12:50:15Z,2010-10-26T12:51:32Z,"this little addition lets user have an option which allows searching in all categories included in dropdown only. put it below handling of show_option_all option in wp_dropdown_categories


		if($show_option_all_included)
		{
			$show_option_all = apply_filters( 'list_cats', $show_option_all_included );
			$selected = ( '0' === strval($r['selected']) ) ? "" selected='selected'"" : '';
			$vals = '';
			foreach($categories as $cat)
				$vals .= $cat->term_id.',';
			$vals = substr($vals, 0, -1);
			$output .= ""\t<option value='$vals'$selected>$show_option_all</option>\n"";
		}",roxaz
Consider for Next Major Release (has-patch),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
Consider for Next Major Release (has-patch),13605,Add filter for admin-ajax get-tagcloud's arguments for wp_generate_tag_cloud,,Administration,3.0,low,minor,Future Release,enhancement,new,has-patch,2010-05-28T20:30:43Z,2010-10-27T10:13:29Z,Patch attached.,mitchoyoshitaka
Consider for Next Major Release (has-patch),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
Consider for Next Major Release (has-patch),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
Consider for Next Major Release (has-patch),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
Consider for Next Major Release (has-patch),12431,Record comment meta in wp_new_comment,,Comments,3.0,normal,normal,Future Release,enhancement,new,has-patch,2010-02-28T21:29:43Z,2010-10-28T09:01:14Z,"Spam filter plugins usually trigger on the preprocess_comment filter, which obviously happens prior to storing the comment (and thus prior to knowing comment_ID).

Comment meta would be ideal for storing spam status information, but since the comment_ID isn't known at that point, doing so involves jumping through some hoops.

This patch provides a simple way for spam filters to include comment metadata from preprocess_comment.  They simply include values in a 'comment_meta' array like this:

{{{
add_action('preprocess_comment', 'my_spam_handler');

function my_spam_handler($comment) {
    $comment['comment_meta']['my_spam_status'] = 'not-spam';
    return $comment;
}
}}}

Each key/value pair in the comment_meta array is stored as comment metadata.
",tellyworth
Consider for Next Major Release (has-patch),9927,deprecate category_description() in favor of get_category_description(),westi*,Inline Docs,2.8,normal,minor,Future Release,enhancement,accepted,has-patch,2009-05-24T14:30:03Z,2010-10-28T10:35:19Z,,ramiy
Consider for Next Major Release (has-patch),11598,code improvements in wp_:dashboard_plugins_output(),,General,2.9,normal,normal,Future Release,enhancement,new,has-patch,2009-12-24T14:19:54Z,2010-10-28T11:36:02Z,"Smaller code changes to improve the function. Stumbeled over this while digging into #11597 and #11518.

",hakre
Consider for Next Major Release (has-patch),12491,"add a pre_template_include filter, so as to allow caching of the template file",,Optimization,3.0,normal,normal,Future Release,enhancement,new,has-patch,2010-03-03T00:29:22Z,2010-10-28T11:38:14Z,"rather than running file exists all over the place in the template loader, we should offer the possibility for a plugin to cache the information for use in subsequent pages.",Denis-de-Bernardy
Consider for Next Major Release (has-patch),13450,Filter Comments Link,,Comments,,normal,normal,Future Release,enhancement,new,has-patch,2010-05-19T01:19:50Z,2010-10-28T12:12:51Z,"This filter allows a developer to modify a post's comments link.

Useful for situations where one needs to add or modify components of the URL such as on-click javascript, or changes to the anchor text, etc...",ikailo
Consider for Next Major Release (has-patch),13867,New filter for comment RSS feed's title,,Feeds,3.0,normal,normal,Future Release,enhancement,new,has-patch,2010-06-12T21:53:07Z,2010-10-28T12:18:31Z,"I'd like to be able to customize comments titles in RSS feed.

Currently it's hardcoded and has no way to be changed, so I added 2 new filters so that plugins can edit them.

I've tested and patch is working for me.",shidouhikari
Consider for Next Major Release (has-patch),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
Consider for Next Major Release (has-patch),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_
Consider for Next Major Release (has-patch),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
Consider for Next Major Release (has-patch),13266,Admin page hooks change when plugin is translated (tied to $menu_title),westi,Plugins,3.0,normal,major,Future Release,defect (bug),new,has-patch,2010-05-05T21:07:11Z,2010-11-02T06:27:09Z,"WP3 is using the title of the parent menu item in a menu block to fire the load-hooks for the lesser menu items? Lost me? Ok an example -

Plugin Membership has this menu structure (simplified)

Membership – main heading
Membership – Top inner
Edit Member – inner
Edit Levels – inner
Edit Subs – inner
etc…

The page load hooks for the non-translated plugin are as follows:
Membership – load-toplevel_page_membership
Membership – load-toplevel_page_membership
Edit Member – load-membership_page_members
Edit Levels – load-membership_page_membershiplevels
Edit Subs – load-membership_page_membershipsubs
etc…

Now, if I use a language translation on the plugin, which for the sake of clarity here, translates the word Membership to Aaargh the page load hooks become.
Membership – load-toplevel_page_membership
Membership – load-toplevel_page_membership
Edit Member – load-aaargh_page_members
Edit Levels – load-aaargh_page_membershiplevels
Edit Subs – load-aaargh_page_membershipsubs
etc…

Thus any actions you are running on the inner pages aren’t called.",uglyrobot
Consider for Next Major Release (has-patch),10543,Incorrect (non-UTF-8) character handling in tag's name and slug,westi*,Charset,2.8.2,normal,normal,Future Release,defect (bug),accepted,needs-unit-tests,2009-08-04T05:26:11Z,2010-11-13T01:15:40Z,"Incorrect (non-UTF-8) character tag's name and slug are handled in different way: name is truncated on 1st such character, and in slug they are just removed (no truncation). WP should handle both in the same way - drop invalid characters, instead of truncation.

I found this issue recently. One of the Polish programs for adding posts to the Wordpresses does not encode tags in UTF-8 - it left them in ISO-8859-2. I notified author of this bug. Unfortunately there are many copies around, so it may take a long time before everyone upgrade.",sirzooro
Consider for Next Major Release (has-patch),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
Consider for Next Major Release (has-patch),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
Consider for Next Major Release (has-patch),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
Consider for Next Major Release (has-patch),10424,change get_filesystem_method()'s code for direct to reflect actual purpose,dd32,Filesystem,2.9,normal,normal,Future Release,defect (bug),new,has-patch,2009-07-16T11:38:41Z,2010-11-13T01:37:42Z,"due to tickets such as #10205 and #10423 I propose we add some documentation, or change the code a bit to reflect to others the intended purpose of the code.

Eg, something such as this could potentially work:
{{{
if ( file_owner($temp_file) !== false && file_owner(__FILE__) === file_owner($temp_file) ) {
//use direct
}
}}}

Too many people assume its a typo, and just a complex is_writable() call..",dd32
Consider for Next Major Release (has-patch),11384,rewrite->flush() needlessly deletes the rewrite_rules option,,Performance,2.9,normal,normal,Future Release,defect (bug),new,has-patch,2009-12-10T13:39:52Z,2010-11-13T07:30:14Z,"All sorts of cache-related plugins hook into the update_option_rewrite_rules and force-flush whatever they're caching when rewrite_rules are updated.

When a page is saved, WP_Rewrite::flush() mindlessly deletes the rewrite_rule option, triggering all sorts of cache flushing that may or may not be necessary.

The attached patch keeps the rewrite_rules option intact when a soft refresh occurs.

Tests done:

 - non-verbose rules used, page changes parent: no refresh
 - verbose rules used, page changes parent: refresh

Dunno what else needs to be testing...",Denis-de-Bernardy
Consider for Next Major Release (has-patch),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
Consider for Next Major Release (has-patch),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
Consider for Next Major Release (has-patch),12480,Moderated comments don't show blank links,,Comments,3.0,normal,normal,Future Release,defect (bug),new,has-patch,2010-03-02T18:29:09Z,2010-11-13T07:48:54Z,"Comments caught in moderation won't show the blank links inserted into them unless you edit them.

A comment with html code like <a href='http://example.com/'></a> will not show that link on the moderation page.",donncha
Consider for Next Major Release (has-patch),12609,Enabling FORCE_SSL_ADMIN breaks wp-cron.php,westi,Cron,,normal,normal,Future Release,defect (bug),new,dev-feedback,2010-03-15T16:02:29Z,2010-11-13T07:50:43Z,"I just completed a server migration and discovered that scheduled posting broke during the process. I tried a few things, including the suggestions from ticket #8923 with no luck. I realized that one change I made, on the new server, was a requirement that the admin uses SSL. After disabling FORCE_SSL_ADMIN I discovered that scheduled posts work again. It seems that I can leave FORCE_SSL_LOGIN turned on and it doesn't cause any problems. This is good enough for our security needs, but I'm sure others might want to have both enabled.",dphiffer
Consider for Next Major Release (has-patch),13041,Canonical redirection will redirect a non-exitant page to a post.,markjaquith,Canonical,3.0,normal,normal,Future Release,defect (bug),new,has-patch,2010-04-18T06:14:20Z,2010-11-13T07:53:23Z,"Following on from #12601

Canonical redirection will kick in for http://localhost/wordpress-commit/apage/something and redirect it to http://localhost/wordpress-commit/2010/02/13/something-else/

#12601 limited redirect_guess_404_permalink() to only searching in the same post_type if one was provided, for posts and pages however, which are builtin, these vars are not set. 

I'm attaching a patch which will prevent a Page -> Post redirection, but not the other way around. - this patch was originally added to the other ticket.",dd32
Consider for Next Major Release (has-patch),13208,shared code in get_mu_plugins() and get_dropins(),,General,,normal,normal,Future Release,defect (bug),new,has-patch,2010-05-02T03:22:40Z,2010-11-13T07:56:26Z,"Aka code buplication.


FYI closedir() is not necessary in PHP. It only consumes runtime and memory if you use it especially with the @ operator.",hakre
Consider for Next Major Release (has-patch),13655,Login/Install/User Edit should stripslashes() $_POST data,,Administration,3.0,normal,normal,Future Release,defect (bug),new,has-patch,2010-05-31T11:33:17Z,2010-11-13T08:05:36Z,"Following on from #13654 All Login/Registration/Install/User Edit functionality should stripslash $_POST data.

At present, it seems that we do not stripslash at all.

For existing user passwords, we should migrate passwords to their non-stripslashed versions:

 [5/31/10 6:34:11 AM] Mark Jaquith: We could migrate people.[[BR]]

 [5/31/10 6:34:13 AM] Dion (dd32): Perhaps oughta just add proper stripslashing in 3.1, and add back-compat to change password from non-stripslashed to stripslashed.. similar to the md5->phpass implementation..[[BR]]

 [5/31/10 6:35:13 AM] Mark Jaquith: Yep. If the PW doesn't match, addslashes() and compare again. If that matches, set the new PW hash. Right?[[BR]]

 [5/31/10 6:35:19 AM] Dion (dd32): yep

",dd32
Consider for Next Major Release (has-patch),12016,get_calendar can output a calendar when there are no posts,,General,3.0,normal,normal,Future Release,defect (bug),reviewing,dev-feedback,2010-01-25T17:54:31Z,2010-11-13T09:06:16Z,"If a site doesn't have any posts, get_calendar isn't supposed to display a calendar. You can visit a page or have a static home page, and a calendar is displayed. The get_calendar function is looking at global $posts to determine if the site has posts but this variable can contain data from other post_types.

r12821",mtdewvirus
Consider for Next Major Release (has-patch),13939,get_page_of_comment returns wrong page number when changing threading level,,Comments,3.0,normal,normal,Future Release,defect (bug),new,has-patch,2010-06-17T07:58:01Z,2010-11-13T10:04:51Z,"Initial discussion settings:
 * Enable threaded comments 2 levels deep
 * 5 top-level comments per page, first page by default
 * Older comments at top of each page

If I have comments on a post like:

'''cpage 1'''
 * comment-1
 * comment-2
 * comment-3
 * comment-4
 * comment-5
  * comment-6

{{{
$page = get_page_of_comment(6); // returns 1 which is the correct page
}}}

If I modify the initial discussion settings by disabling threading (e.g. changing the threading level to 1), the comments change to:

'''cpage 1'''
 * comment-1
 * comment-2
 * comment-3
 * comment-4
 * comment-5
'''cpage 2'''
 * comment-6

{{{
$page = get_page_of_comment(6); // returns 1 which is incorrect
}}}

This function doesn't follow the same algorithm as what is used to display the comments

This can potentially happen whenever you decrease the threading level from x to x-n",laceous
Consider for Next Major Release (has-patch),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
Consider for Next Major Release (has-patch),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
Consider for Next Major Release (has-patch),14541,Add boolean at remove_meta_box action,,General,3.0.1,normal,normal,Future Release,enhancement,new,has-patch,2010-08-05T09:09:51Z,2010-11-18T10:09:59Z,"Add the possibility of getting the status of the remove_meta_box action by boolean.
Can be useful if you want to add/remove other metaboxes if one other is present or not.",Rahe
Consider for Next Major Release (has-patch),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
Consider for Next Major Release (has-patch),15515,content_save_pre et al don't supply context,,Plugins,,normal,normal,Future Release,enhancement,new,has-patch,2010-11-20T06:19:48Z,2010-11-21T03:17:29Z,"All of the `{field}_save_pre` filters don't provide any additional parameters with context. The `{field}_edit_pre` (when editing) and `post_{field}` (when displaying) filters pass the $post_id variable as a second parameter. The `{field}_save_pre` filter is the odd one out.

Currently if a plugin uses (for example) the `content_save_pre` filter and needs to know anything about the post (eg. the post type) then it has to use the global $post object directly. It works, but it's not ideal.

Can we add some context to these hooks? All they need is a second parameter containing the $post_id variable to bring them in line with the other field filters.",johnbillion
Consider for Next Major Release (has-patch),15409,Top-Level Domain (TLD) validation function and email validation/sanitization,stephdau*,Formatting,3.1,normal,normal,Future Release,enhancement,accepted,has-patch,2010-11-12T20:40:33Z,2010-11-22T16:57:56Z,"The following patch proposes a new global function, does_value_end_in_valid_tld, to allow for a string value to be tested for as ending in a valid TLD.

TLD list as per http://data.iana.org/TLD/tlds-alpha-by-domain.txt

Regex inspired by http://gitorious.org/statusnet/mainline/blobs/master/lib/util.php#line724

The patch also implements using does_value_end_in_valid_tld() in is_email() and sanitize_email(), to start with.",stephdau
Consider for Next Major Release (has-patch),14397,slow sql query from probably is_blog_installed,,Performance,3.0,normal,normal,Future Release,defect (bug),new,dev-feedback,2010-07-23T06:38:11Z,2010-11-23T00:10:38Z,"When everything else fails, is_blog_installed uses 
$tables = $wpdb->get_col('SHOW TABLES');
which can be costly in a big multisite or even when you have many single installations on the same DB

Related question - why does is_blog_installed is even being called on wp_widgets_init()? I would assume that if the DB is not set properly not only the widgets will suffer but also the themes and the plugins which are not protected at the same way.",mark-k
Consider for Next Major Release (has-patch),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
Consider for Next Major Release (has-patch),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
Consider for Next Major Release (has-patch),8420,Disable error redirects when in DOING_AJAX,kapeels*,Administration,2.7,low,minor,Future Release,enhancement,accepted,has-patch,2008-11-29T00:28:10Z,2010-11-28T11:30:25Z,"If a DB/install error occurs in admin during ajax requests (like autosave), the response shouldn't return the whole redirected page, see $ATT (admin-ajax-install-trigger.png). If something goes awry and we're DOING_AJAX, an error message that could fit inline would be better.",janbrasna
Consider for Next Major Release (has-patch),13066,Last-Modified headers for individual comment feeds are incorrect,jgci*,Feeds,3.0,low,normal,Future Release,defect (bug),accepted,dev-feedback,2010-04-21T07:32:34Z,2010-11-28T16:18:31Z,"The WP::send_headers function currently uses get_lastcommentmodified() to set the Last-Modified header for all comment feeds. This is a problem when used for individual post comment feeds. The function gets the last modified comment across all blog posts. That means that every time a comment is posted anywhere, the Last-Modified header for ALL comment feeds is refreshed. Issues:

1. This is technically incorrect, since only the global comment feed and one specific post's comment feed have changed with the last comment (not all possible comment feeds); and 

2. It means that If-Modified-Since requests for other post comment feeds will not receive a 304 response when they should do (since their content hasn't changed). On blogs with many posts and many comment feeds, this will have a large impact on bandwidth because lots of requests will receive 200 responses where 304's would have done, just because a comment was posted on some other post.

If I've understood the flow correctly, $wp_query hasn't been fully set up at the time this function is called, so changing this behaviour would require some change in the flow of things (e.g., the handling of last modified headers for feeds moves into the do_feed() function). But doing so would mean that Last-Modified headers are correct/meaningful and that many more 304 responses can be served.

Any thoughts?",solarissmoke
Consider for Next Major Release (has-patch),14125,Seperate out non-editable options in edit site,sorich87*,Multisite,,normal,normal,Future Release,enhancement,accepted,dev-feedback,2010-06-28T04:11:36Z,2010-11-30T21:52:09Z,"In the edit site screen, blog options which are arrays are shown as SERIALIZED and the textbox is disabled. The attached patch pulls those options out of the options metabox and displays the option name in another metabox below.

Related: #14120",wpmuguru
Consider for Next Major Release (has-patch),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
Consider for Next Major Release (has-patch),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
Consider for Next Major Release (has-patch),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
Consider for Next Major Release (has-patch),13049,Wordpress should not generate feeds for 404 pages,,Feeds,3.0,low,normal,Future Release,defect (bug),reopened,dev-feedback,2010-04-19T11:32:20Z,2010-12-05T22:04:49Z,"Say I try to visit: `http://my.blog.tld/non-existent-slug/`, (where non-existent-slug is not a valid slug) I get a the normal 404 template.

However, if I try to visit `http://my.blog.tld/non-existent-slug/feed/`, then the response is a bit weird. A 404 response header is sent but the content is nonetheless sent through the feed template. And so you get something like this:

{{{
<?xml version=""1.0"" encoding=""UTF-8""?><rss version=""0.92"">
<channel>
  <title>A Sandbox &#187; Page not found</title>
  <link>http://my.blog.tld</link>
  <description>Just another WordPress weblog</description>
  <lastBuildDate>Mon, 19 Apr 2010 11:17:05 +0000</lastBuildDate>
  <docs>http://backend.userland.com/rss092</docs>
  <language>en</language>
  <!-- generator=""WordPress/3.0-beta1"" -->
</channel>
</rss>
}}}

Assuming this isn't intentional (I can't think why it would be), this should be changed so that the content is the normal 404 template.",solarissmoke
Consider for Next Major Release (has-patch),14102,Additional CSS class in wp_list_pages when a page has children,,Formatting,3.0,normal,normal,Future Release,enhancement,new,has-patch,2010-06-26T13:28:23Z,2010-12-06T20:35:17Z,"A great addition to the wp_list_pages function would be to add an extra CSS class of 'page_has_children' (or similar) to a list item for when it has child pages.

This would enable theme authors to style the list items with CSS to differentiate between those pages that have child pages, and those that don't at whatever depth you are viewing in really simple CSS.

Here is how it could be implemented in the WP3.0 codebase. I have simply amended the 'start_el' function as shown below.

'''FILE: wp-includes/classes.php - from line 1173'''

{{{

/**
 * @see Walker::start_el()
 * @since 2.1.0
 *
 * @param string $output Passed by reference. Used to append additional content.
 * @param object $page Page data object.
 * @param int $depth Depth of page. Used for padding.
 * @param int $current_page Page ID.
 * @param array $args
 */
function start_el(&$output, $page, $depth, $args, $current_page) {
	if ( $depth )
		$indent = str_repeat(""\t"", $depth);
	else
		$indent = '';

	extract($args, EXTR_SKIP);
	$css_class = array('page_item', 'page-item-'.$page->ID);
	
	//JA ADDITION START 1 of 2 - DETECT IF PAGE HAS CHILDREN START
	$has_children = wp_list_pages('&child_of='.$page->ID.'&echo=0');
	//JA ADDITION END 1 of 2 - DETECT IF PAGE HAS CHILDREN
	
	if ( !empty($current_page) ) {
		$_current_page = get_page( $current_page );
		if ( isset($_current_page->ancestors) && in_array($page->ID, (array) $_current_page->ancestors) )
			$css_class[] = 'current_page_ancestor';
		if ( $page->ID == $current_page )
			$css_class[] = 'current_page_item';

		//JA ADDITION START 2 of 2 - DETECT IF PAGE HAS CHILDREN START
		if ( !empty($has_children) )
			$css_class[] = 'page_has_children';
		//JA ADDITION START 2 of 2 - DETECT IF PAGE HAS CHILDREN END

		elseif ( $_current_page && $page->ID == $_current_page->post_parent )
			$css_class[] = 'current_page_parent';
	} elseif ( $page->ID == get_option('page_for_posts') ) {
		$css_class[] = 'current_page_parent';
	}

	$css_class = implode(' ', apply_filters('page_css_class', $css_class, $page));

	$output .= $indent . '<li class=""' . $css_class . '""><a href=""' . get_page_link($page->ID) . '"" title=""' . esc_attr( wp_strip_all_tags( apply_filters( 'the_title', $page->post_title, $page->ID ) ) ) . '"">' . $link_before . apply_filters( 'the_title', $page->post_title, $page->ID ) . $link_after . '</a>';

	if ( !empty($show_date) ) {
		if ( 'modified' == $show_date )
			$time = $page->post_modified;
		else
			$time = $page->post_date;

		$output .= "" "" . mysql2date($date_format, $time);
	}
}

}}}
",Jonnyauk
Consider for Next Major Release (has-patch),7267,Infinite recursion in get_category_parents() and _children(),,General,,normal,normal,Future Release,defect (bug),reopened,has-patch,2008-07-09T04:54:21Z,2010-12-07T18:41:17Z,"These two functions can get stuck in a recursion loop if there's an indirect category hierarchy loop like A -> B -> C -> A.

The patch keeps track of traversed IDs and prevents repetition - there's a name for the algorithm but it escapes me.  It increases memory usage but probably not too much - certainly less than infinite recursion does.


",tellyworth
Consider for Next Major Release (has-patch),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
Consider for Next Major Release (has-patch),14159,menu_page_url not returning correct URL for custom submenus,,Plugins,3.0,normal,normal,Future Release,defect (bug),new,has-patch,2010-06-30T18:10:08Z,2010-12-10T03:34:34Z,"When using the menu_page_url() function to determine the URL to a submenu of a custom top-level menu it's not returning the correct URL. 

The function returns:
http://example.com/wp-admin/cpt_main_menu?page=cpt_sub_add_new

The correct URL is:
http://example.com/wp-admin/admin.php?page=cpt_sub_add_new

For reference my submenu is registered like so:

{{{
add_submenu_page('cpt_main_menu', 'Add New', 'Add New', 'administrator', 'cpt_sub_add_new', 'cpt_add_new');
}}}

I tested this on the custom top level menu and the URL returned is correct.  It only appears to be an issue with submenus of a custom top level menu",williamsba1
Consider for Next Major Release (has-patch),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
Consider for Next Major Release (has-patch),15732,Media Settings page description is unclear,,General,,normal,trivial,Future Release,defect (bug),new,has-patch,2010-12-08T15:26:37Z,2010-12-11T13:41:51Z,"This is pretty trivial, but it's an easy fix, so I thought I'd throw it out there.

Currently the Media Settings page reads, ""The sizes listed below determine the maximum dimensions in pixels to use when inserting an image into the body of a post.""

That isn't true, it should probably read ""The sizes listed below determine the maximum dimensions in pixels to use when adding an image to the Media Library.""

The only reason this came up, is a client of mine was confused when she changed the large dimensions to ""434x434"" and the image she had uploaded previously w/ the dimensions of 800x732 did not give her the ""Large"" option.

I'm not sure anyone else in the world has ever had this problem. So the severity is definitely trivial.",layotte
Consider for Next Major Release (has-patch),11469,Additional Admin UI hooks / filters,,Administration,2.9,normal,normal,Future Release,enhancement,new,has-patch,2009-12-17T05:54:04Z,2010-12-13T12:43:33Z,"Some might classify this as overkill, others as making Wordpress as completely extendable as people want it.

I'd like to propose the addition of numerou hooks to the Wordpress core Admin UI which would allow the addition of UI elements outside of the current constraints, such as meta boxes. 

If that doesn't make sense, I have an example to illustrate:

Given the ""Subtitle"" example from http://digwp.com/2009/10/ideas-for-plugins/, there would be a new hook named ""edit_post_form_after_title"" (or something along those lines) which would be placed directly after the post title is displayed on the screen and allow a plugin developer to insert a text field for a subtitle directly below the title field. See the attached patch.",johnl1479
Consider for Next Major Release (has-patch),15029,Make it possible to determine resource in get_ancestors(),filosofo,General,3.1,normal,normal,Future Release,defect (bug),new,has-patch,2010-10-04T10:59:12Z,2010-12-17T15:43:54Z,"In case there exists a conflict between taxonomy and post_type names, allow it to be resolved explicitly when calling `get_ancestors()`.",filosofo
Consider for Next Major Release (has-patch),10653,Update comment_author when display_name changes,,Comments,,normal,normal,Future Release,enhancement,reopened,has-patch,2009-08-19T19:43:29Z,2010-12-18T11:08:18Z,One thing that has bothered me recently is the fact that your previous comments doesn't get updated when your display_name is being updated. Which could cause some confusion. I wrote a function (see attached file for further reference) that takes care of this but I would love to see a similiar feature in the WordPress core.,mptre
Consider for Next Major Release (has-patch),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
Consider for Next Major Release (has-patch),15929,plugin_action_links filter does not include page & search context,,Plugins,,normal,normal,Future Release,enhancement,new,has-patch,2010-12-21T03:31:34Z,2010-12-21T15:16:59Z,"The default links in the plugin list tables return the user to the same context (search, page, etc.) that they clicked a link on. A plugin adding links via either of the plugin_action_links filter doesn't have access to either the page or search context.

Patch is attached.",wpmuguru
Consider for Next Major Release (has-patch),15950,Tweak canonical redirect name requests,,Canonical,3.1,normal,normal,Future Release,enhancement,new,has-patch,2010-12-22T18:09:54Z,2010-12-22T22:28:38Z,"Scenario: A website has the following two pages:

 * `example.com/foo/amazing-thing/`
 * `example.com/amazing/`

Upon requesting `example.com/amazin` the canonical redirect should favour the top-most level page. This doesn't happen as the relevant SQL query doesn't have an `ORDER BY` clause, making the behaviour unpredictable.",johnbillion
Consider for Next Major Release (has-patch),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
Consider for Next Major Release (has-patch),15965,Streamline exit call syntax,,General,3.1,normal,normal,Future Release,defect (bug),new,has-patch,2010-12-23T13:20:09Z,2010-12-23T14:45:11Z,"After review of patches in #15518 it came to my attention that {{{exit}}} is sometimes called with and sometime w/o paranthesis.

As #15518 makes use of the {{{exit;}}} variant, all occurences of {{{exit();}}} can be replaced with it.",hakre
Consider for Next Major Release (has-patch),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
Consider for Next Major Release (has-patch),15981,Quick edit (and other actions) need to cancel AJAX actions,garyc40,Administration,3.1,low,normal,Future Release,defect (bug),assigned,has-patch,2010-12-26T05:17:36Z,2010-12-26T21:03:24Z,"Right after you click to paginate, sort or try to search something, you may be inclined to click another link on the page. This happens often when I'm browsing, and on a server with a relatively slow AJAX round trip, it can happen quite commonly.

Problem: If you open Quick Edit, then the ajax results should noop. There might be other actions, but this one in particular does not lead to another page (which obviously would kill the ajax).

The reverse is also an issue. You can search, paginate, or sort when Quick Edit is open, and you lose your edit. This might be bad when quick editing a comment, as you could be losing actual content. Searching and paginating might be explicit actions, but it's not difficult to accidentally click a th and trigger a sort, especially if the first row's quick edit (or bulk edit) is open.

I'm not sure what to do here, other than a JS popup for any time a Quick/Bulk Edit is open, asking you if you want to lose your changes.

So again, two things:

 - Kill the AJAX action if Quick Edit is opened. I would consider this lower priority.

 - 'Lose your changes' confirmation for quick edit and bulk edit before an AJAX action. (We can probably fire the AJAX action and trigger the alert simultaneously, but delay processing the results until the confirm() is true.)",nacin
Consider for Next Major Release (has-patch),15946,post_date_gmt ignored in wp_insert_post(),,General,3.1,normal,normal,Future Release,defect (bug),new,has-patch,2010-12-22T00:41:40Z,2010-12-26T22:46:25Z,"If a post is inserted with `post_date_gmt` set and `post_date` not, `post_date` defaults to the current date/time, rather than being generated from `post_date_gmt`",kawauso
Consider for Next Major Release (has-patch),14565,After Category Quick Edit Update Parent Category Dropdown,,Administration,3.0.1,normal,trivial,Future Release,defect (bug),new,has-patch,2010-08-08T22:07:45Z,2010-12-26T23:09:36Z,"On a clean install I went to Posts -> Categories and used Quick Edit to rename 'Uncategorized' to 'Rename-Test' I then went to create a new Category using the form on the left and the Parent drop down still lists 'Uncategorized'.

Should this be updated without have to reload the page?",Dempsey
Consider for Next Major Release (has-patch),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
Consider for Next Major Release (has-patch),16059,"wp_kses_split2() is private, no need to create a function with the sole purpose to call a function.",,General,3.1,lowest,normal,Future Release,defect (bug),new,dev-feedback,2011-01-01T17:06:19Z,2011-01-01T21:41:01Z,"In the effort to remove create_function() constructs from the file (#10623, #7363) the last one was removed in 16313 / #14424.

While the analysis in the last ticket was right that create_function() is not needed, the resolution to introduce a named function was not.

Infact the anonymous callback function has been replaced with a named callback function without taking into account, that a named callback function already exists. So a function whith its sole purpose to call another function has been introduced by the google summer of code student.

The existing functions name is wp_kses_split2(), having the needed properties. The function is marked as private and not used anywhere else in the file kses.php nor the whole core php code.

It can be safely adopted to fulfill the requirements of the callback function signature.

This saves the overhead of a function call per callback call.

Additionally passing the data needs only one entry in the symbol table by using an array.",hakre
Consider for Next Major Release (has-patch),16107,WordPress Database Error Logging Extravaganza,,Database,3.0.4,normal,normal,Future Release,defect (bug),new,has-patch,2011-01-05T12:41:00Z,2011-01-05T14:33:05Z,"If PHP error logging is enabled, the wordpress database class will log errors to file by using the error_log() function. This is a PHP function.

While doing so, it does not reflect the PHP configuration setting for {{{log_errors_max_len}}} which defaults to 1024 (bytes).

While not doing so, the database class can log extremely long queries into the file creating multiple gigabytes quite quickly.",hakre
Consider for Next Major Release (has-patch),10863,Gravatars without email all end up looking generic,,Comments,,low,minor,Future Release,enhancement,new,has-patch,2009-09-26T19:26:36Z,2011-01-06T14:50:54Z,"When your blog has this option turned on

  ""Comment author must fill out name and e-mail""

and multiple users leave comments, if these users do not provide email addresses it will appear that they are all the same user as the identicon/monsterid/etc icons will be the same.

With two additional lines of code, you can substitute the IP address in place of the email to get a unique hash in order to distinguish one anonymous/non-emailed user from another.

Patch is attached",thecodepro
Consider for Next Major Release (has-patch),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
Consider for Next Major Release (has-patch),14169,Slashes not removed when $_SERVER in process_conditionals(),,General,3.0,normal,normal,Future Release,defect (bug),new,commit,2010-07-01T20:40:28Z,2011-01-06T23:42:37Z,"Since [1964] (now after [12732] in {{{wp-includes/load.php}}}) slashes are added to all values of {{{$_SERVER}}}. If then {{{$_SERVER}}} is accessed, slashes must be removed again otherwise things might not work as intended, e.g. comparing and parsing strings.",hakre
Consider for Next Major Release (has-patch),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
Consider for Next Major Release (has-patch),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
Consider for Next Major Release (has-patch),15534,Add more info to moderation emails,,Mail,3.0,normal,minor,Future Release,enhancement,new,has-patch,2010-11-21T23:43:41Z,2011-01-09T07:07:35Z,"When comments have been approved, include who approved it in the email that gets sent to admin saying there's a new comment. I.e.:

""Ryan approved this comment:
[current comment info in email]""",jane
Needs Milestone,15837,Custom Taxonomy: Admin Menu Not Selecting Current Item,,General,3.0.3,normal,normal,Awaiting Review,defect (bug),new,,2010-12-15T21:57:24Z,2011-01-09T14:01:43Z,"Story: Developing a plugin that adds a Custom Post Type and then a Taxonomy.

Problem: Adding the Taxonomy and displaying the Menu Item on the Admin section, when selecting the menu item - there seems to be a difference in functionality depending on what tag the Taxonomy hooks onto.

For example code:
{{{
      register_taxonomy(
        'mytaxonomy',
        'myposttype',
        array( 
          'labels' => array(
            'name' => 'Manage XXX',
            'add_new_item' => 'Add New XXX',
            'new_item_name' => 'New XXX Name',
            'add_new' => 'Add New XXX',
            'singular_name' => 'XXX'
          ),  
          'public' => false,
          'publicly_queryable' => true,
          'show_ui' => true,
          'hierarchical' => true,
          'rewrite' => array(
            'slug' => 'XXX',
            'with_front' => false
          ),  
          'query_var' => 'XXX'
        )
      );
}}}

The above code adds the Menu Item for the Taxonomy to the new Custom Post Type menu I created.

When I select the new Taxonomy...it ""open"" or ""behaves"" as though it expects to see it under the ""post"" tag.

It does not select the Taxonomy Menu Item as ""current"".

Expected result: Select Taxonomy Menu Item -> Menu Item obtains CSS class of ""current"".

Actual result: Select Taxonomy Menu Item -> Menu Item doesn't obtain a CSS class and IF the Posts menu was ""collapsed"" it expands.

Now - conversely if I add the Taxonomy Menu Item to the tag ""post"" - it DOES add the CSS class.

This seems to be inconsistent functionality and I believe that it's not there's something surrounding it that has to be malfunctioning.",sterlo
Needs Milestone,16180,"In Add an Image, Link URL should be empty if Size = Full Size",,Media,3.0.4,normal,normal,Awaiting Review,enhancement,new,,2011-01-10T17:00:17Z,2011-01-10T17:41:42Z,"In the '''Add an Image''' dialog, '''Link URL''' should be empty if '''Size''' is '''Full Size'''. This is because there is no value in adding a link to an image if the original, unmolested version is being displayed.

You may need to be selective about how to implement this enhancement. Examples:
 * If '''Full Size''' was not the default selection when the dialog loaded, then it may not be right to remove the '''Link URL''' field if the '''Size''' radio button is changed ''to'' '''Full Size'''.
 * If '''Full Size''' ''was'' the default selection when the dialog loaded, and this is the dialog produced just after uploading an image, then the '''Link URL''' field probably should stay empty unless someone selects a different selection for '''Size.'''",novasource
Consider for Next Major Release (has-patch),9611,Make comment feeds fail with an error code when comments are closed,,Feeds,2.8,normal,minor,Future Release,enhancement,new,dev-feedback,2009-04-21T14:12:42Z,2011-01-12T12:40:06Z,"This is mostly a suggestion as an enhancement.

When you close a post's comments and pings, it should no longer output an rss feed. Instead, it should return a not found (404) or gone (410) error and die.

Likewise, if all posts and pages on a site disallow comments and pings, the comments feeds should not be broadcast, and should return the same error code.

Thoughts?",Denis-de-Bernardy
Consider for Next Major Release (has-patch),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
Consider for Next Major Release (has-patch),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
Consider for Next Major Release (has-patch),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
Consider for Next Major Release (has-patch),15389,Make New Site & New User Network form pluggable.,,Network Admin,3.1,normal,normal,Future Release,enhancement,new,has-patch,2010-11-11T16:43:32Z,2011-01-13T05:31:13Z,"'''Problem:''' Currently the only way to add additional fields to the new site & new user network form is by dynamically injecting them using javascript.

'''Solution:''' They should either have action hooks or use the settings API. I'll provide patches for both methods.

In addition, I've added semantic ids to the current form fields so they can be selectively hidden.
",ptahdunbar
Needs Milestone,14902,weblogUpdates.extendedPing does not implement standard,josephscott,Pings/Trackbacks,3.0.1,normal,normal,Awaiting Review,defect (bug),reviewing,,2010-09-19T23:35:37Z,2011-01-13T05:48:24Z,"When a blog post is published or updated, Update Services are notified if they are listed in the Wordpress Writing Settings panel.

The services are notified by the weblog_ping() function in comment.php

That function first attempts an XMLRPC call to the service's weblogUpdates.extendedPing.  If that fails, it attempts to notify weblogUpdates.ping.

if ( !$client->query('weblogUpdates.extendedPing', get_option('blogname'), $home, get_bloginfo('rss2_url') ) ) // then try a normal ping
	$client->query('weblogUpdates.ping', get_option('blogname'), $home);

'''1) The weblogUpdates.extendedPing does not match the published standard.'''

See: 

http://www.google.com/help/blogsearch/pinging_API.html

Where 5 parameters are specified:

* Name of site
* URL of site
* URL of the page to be checked for changes
* URL of RSS, RDF, or Atom feed
* Optional a name (or ""tag"") categorizing your site content. You may delimit multiple values by using the '|' character.

The third parameter should be the page to be checked for changes, and not the RSS feed.

No 4th or 5th parameter is passed.

'''2) The weblogUpdates.extendedPing does not take advantage of notifying the service of the exact page that changed (as is provided in the standard)'''

If implemented correctly, this would allow the receiving service (perhaps a search engine) to come directly to the correct page for re-indexing, instead of trying to figure it out from the RSS feed.

I am unable to find if pingomatic.com publishes a competing version of the standard.
",Scott Schram
Consider for Next Major Release (has-patch),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
Consider for Next Major Release (has-patch),15906,validate_plugin needs all_plugins filter,,Plugins,,normal,normal,Future Release,defect (bug),new,has-patch,2010-12-20T03:13:12Z,2011-01-13T06:13:54Z,"If a plugin adds plugins to the plugin list in the plugin admin screens using the all_plugins filter, the added plugins will not validate. If the all_plugins filter is added to the validate function, then the plugin validates and activates fine.


",wpmuguru
Needs Milestone,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
Consider for Next Major Release (has-patch),15805,get_page_by_title() lacks caching,,Performance,3.1,normal,normal,Future Release,enhancement,new,has-patch,2010-12-13T21:25:18Z,2011-01-13T07:25:17Z,`get_page_by_title()` always does a database query. It should use the object cache.,Viper007Bond
Consider for Next Major Release (has-patch),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
Consider for Next Major Release (has-patch),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
Consider for Next Major Release (has-patch),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
Consider for Next Major Release (has-patch),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
Consider for Next Major Release (has-patch),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
Consider for Next Major Release (has-patch),16219,"If you can edit comments on the post, 'Slow down Cowboy' shouldn't kick in",garyc40,Comments,,normal,normal,Future Release,enhancement,assigned,has-patch,2011-01-13T19:05:44Z,2011-01-14T02:51:10Z,Currently it's for administrators only. That doesn't make much sense for those who can already moderate comments.,nacin
Consider for Next Major Release (has-patch),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
Consider for Next Major Release (has-patch),14804,Allow the_title_attribute() to accept a post ID,,General,,normal,normal,Future Release,enhancement,new,has-patch,2010-09-07T15:41:38Z,2011-01-14T03:48:09Z,"`the_title_attribute()` does not currently accept being passed a post object/ID and therefore, via its call to `get_the_title()` without an argument, always assumes the current post.  By simply allowing its `$args` array to accept and use a ""post"" value, then the function can be used to generate an attribute-friendly post title for any specified post.

Attached is the patch enabling this.  The `$args` array is amended with a ""post"" element, default of 0 (which maintains current default behavior).  Since `get_post()`, by way of `get_the_title()`, accepts a post ID or post object, either type can be assigned as value for the ""post"" element.
",coffee2code
Consider for Next Major Release (has-patch),14439,Unable to get a post associated menu items for a specific menu,,Menus,3.1,normal,major,Future Release,defect (bug),new,has-patch,2010-07-28T03:32:06Z,2011-01-15T01:23:21Z,"Hello,

The actual wp_get_associated_nav_menu_items function works well but gets menu items associated with an object from ANY menu. So a parameter needs to be added to specify a specific menu to get menu items associated with an object from a specific menu.

Patch is attached. The use of get_term() is needed because of the bug #14438",DreadLox
Consider for Next Major Release (has-patch),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
Consider for Next Major Release (has-patch),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
Consider for Next Major Release (has-patch),15811,Self-referrent links should be made avoidable in wp_list_pages / wp_page_menu,,General,,normal,normal,Future Release,enhancement,new,has-patch,2010-12-14T14:43:43Z,2011-01-15T04:55:31Z,"Having a page that links to itself is a well-recognized usability and accessibility problem.

Currently, wp_list_pages and wp_page_menu don't offer an option to avoid self-referrent links.

The patch attached to this report adds a ""self_link"" parameter to these two functions (defaulting to the current behaviour); when that parameter is set to false, the markup produced by these functions don't include a link to the current page.

Someone proposed a plugin to that effect:
http://clockinfo.com/posts/168
but it sounds like something that the core Wordpress should support.",lewebmobile
Needs Milestone,16204,Add hooks to enable access to pages in the admin when the menu layout has been changed by plugin,westi,Administration,3.1,normal,normal,Awaiting Review,enhancement,reviewing,has-patch,2011-01-12T16:31:33Z,2011-01-15T08:54:45Z,"This patch and ticket is a follow on to tickets #16048 and #16050 and indirectly related to this discussion on hackers: http://lists.automattic.com/pipermail/wp-hackers/2011-January/037129.html

This patch simply adds the following hooks, all within /wp-admin/includes/plugin.php.  

 - menu_page_url
 - admin_page_parent
 - admin_page_title 
 - plugin_page_hookname 
 - user_can_access_admin_page

The patch does not attempt to unravel the many early exits of the various functions instead it simply redundantly adds the hooks at each exit point. As such it's backward compatibility can be reviewed simply by viewing the code.

The use-case for this patch is when the menus are not exactly in the format expected by WordPress (but instead desired by the client) it can sometimes take hours of trial and error to get the permissions to allow users access to the menus they should be allowed access to. 

For example, if the first submenu page for a menu page is removed from the menu, even when it makes logical sense to the user WordPress currently does not allow that menu option to be viewed. These hooks would give plugin developers the ability to modify the menus and still enable users access to the pages they need access to.",mikeschinkel
Consider for Next Major Release (has-patch),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
Consider for Next Major Release (has-patch),14445,dbdelta do not handel FULLTEXT KEY correctly and generate MySQL errors,,Database,3.0,normal,minor,Future Release,defect (bug),new,tested,2010-07-28T17:36:36Z,2011-01-16T02:11:59Z,"When using dbdelta during the update of a plugin that a Fulltext index use, dbdelta generate a MYSQL error due to duplicate index.

This is due to the array_search return always false.

I attached a posible solution to address this issue. I added a key named 'index_type' to the $index_ary. This way, when 'index_type' == fulltext, I add to $index_string ""FULLTEXT"".",edirect24
Consider for Next Major Release (has-patch),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
Consider for Next Major Release (has-patch),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
Consider for Next Major Release (has-patch),15261,Add do_action to form tag in edit-tag-form.php,,Administration,3.1,normal,normal,Future Release,enhancement,reopened,has-patch,2010-10-30T16:07:46Z,2011-01-19T23:50:20Z,"How about adding additional actions to the form tags in admin taxonomy pages like ''edit-tag-form.php''?

An example can be found in ''user-edit.php'' line 183:


{{{
<form id=""your-profile"" ... method=""post""<?php do_action('user_edit_form_tag'); ?>>
}}}
",linguasite
Needs Milestone,16258,nav menus dont save the right type of menu items,,Administration,3.0.4,normal,minor,Awaiting Review,defect (bug),new,reporter-feedback,2011-01-16T12:57:50Z,2011-01-20T20:47:27Z,"the new Navigation menus when the flag is set ""Automatically add new top-level pages"" when adding a new page to the menu and saves the new menuitem will change from ""page"" to ""userdefined"" as type.

It is always only the last item in the menu there is changeing. ",J0rDZ
Consider for Next Major Release (has-patch),10790,"No feedback given to commenter when ""Name"" field empty",,Comments,2.8.4,normal,normal,Future Release,defect (bug),new,dev-feedback,2009-09-15T17:43:44Z,2011-01-21T05:44:40Z,"On my installation, name and email are not required to post a comment. I must approve every comment before it appears. If a user chooses to give their name anyway, then after they post their comment, they get a screen that says ""Blah says:"" and below that ""Your comment is awaiting moderation."" This is expected behavior.

However, if the user does not give their name, then they do not get any sort of confirmation that their comment was sent. It is sent successfully, but the user should have confirmation, otherwise they will likely try more than once before giving up in frustration.

I have tested this bug using Firefox 3.0, with and without JS enabled, and Internet Explorer 6.",WK1
Consider for Next Major Release (has-patch),14036,"Post 404 errors due to a base post's name matching the Permalink option ""category base""",,Permalinks,3.0,normal,normal,Future Release,defect (bug),new,dev-feedback,2010-06-22T02:12:58Z,2011-01-21T09:09:24Z,"When the ""category base"" option under Settings>Permalinks is set as a value, one can still create a post with the same value used as the new post's name and thus its permalink path. Thus, when a user tries to navigate to the post via its permalink, Wordpress thinks the user wants to access a category and gives a 404 error.

Here's an example.

Say I set my category base in Settings>Permalinks to ""general."" All my categories are at mysite.com/general/... Now say I make a regular post and name it ""General."" Wordpress automatically assigns it the permalink ""mysite.com/general"". So, on my menus that list this post, this will be the link. However, when a user visits this link, Wordpress is set to recognize /general/ as the category base and it gives the user a 404 error. All subposts under ""General"" also have a permalink that begins with mysite.com/general/ and thus are seen as categories by apache mod_rewrite and become 404 as well.

Solution: users should not be able to have base pages whose names (and thus permalinks) are exact matches to the Settings>Permalinks>Category base value.",sniper231
Needs Milestone,16323,Hierarchical Custom Post Type Bug - invalid name query var generated,,Permalinks,3.0.4,normal,normal,Awaiting Review,defect (bug),new,,2011-01-20T20:07:41Z,2011-01-21T13:19:02Z,When starting off with the post type set to non-hierarchical and then setting the hierarchical parameter in register_post_type() to true Wordpress will generate an invalid name query var (see attached files). If a generate a new rewrite rule in my functions file (e.g. service/(.*?)/(.*?)/?$' => 'index.php?post_type=service&name=$matches[2]) this appears to fix the problem. Removing the custom rewrite rule will cause the error to reappear.,jrcowher
Consider for Next Major Release (has-patch),16346,Slug field too narrow in Post Edit,,Administration,3.1,normal,minor,Future Release,enhancement,new,has-patch,2011-01-22T18:56:24Z,2011-01-22T19:39:41Z,"When you edit a post, there is a Slug panel at the bottom where you can edit the slug. The field displaying the text of the slug is set inline to 13, which is not nearly wide enough to show more than 15 letters.",ABTOP
Needs Milestone,16369,Tag to category and categories to tag converter links,,Administration,,normal,normal,Awaiting Review,enhancement,new,has-patch,2011-01-25T10:44:06Z,2011-01-25T13:44:28Z,"In the Post Tags and Categories pages, links are made available to direct the users to the Categories and Tags Converter in Tools.

While it is normal that these links go to the Tools>Import page as long as the Categories and Tags Converter is not installed, once it is, the links should go one step further and bring the user directly inside the Categories and Tags Converter.",paolal
Consider for Next Major Release (has-patch),14279,wp_new_comment ignores comment_date_gmt and comment_date,,Comments,3.0,normal,normal,Future Release,defect (bug),new,has-patch,2010-07-12T14:07:06Z,2011-01-27T08:08:52Z,"wp_new_comment takes in a $comment array, but then ignores the comment_date and comment_date_gmt passed into it, instead replacing them with the current time. 

It should only set them if the data passed in is empty or not a date/time. ",johneckman
Needs Milestone,14698,Adding custom menu items in a WP managed menu,,Menus,3.0.1,normal,minor,Awaiting Review,enhancement,reopened,,2010-08-25T21:22:12Z,2011-01-29T17:52:21Z,"In Walker:walk() line 932 of classes.php (WP version 3.0.1), the comparison of the parent ID to 0 is done so using ==.  This is an issue if you're trying to manually insert a menu item for a term within a menu consisting of posts.  I would like to be able to set the parent_id to something like 'term:4' (with 4 being the ID of the term).  But because it is a string and comparing a string to zero with == will always equate to false.

I suggest that line 932 is changed from:
{{{
if ( 0 == $e->$parent_field )
}}}
to:
{{{
if ( empty( $e->$parent_field ) )
}}}

The end result I'm looking for is a way to take an existing menu and add in sub-items for a particular item that contains all the terms from a given taxonomy.  Then for each of the term items, add child items for all of the custom posts associated to the term.  For the time being, I'm using a negative db_id to bypass the comparison issue.

Here's a sample of my code:
{{{
function my_get_nav_menu_items($items, $menu, $args) {
  if ($menu->slug != 'primary') {
    return $items;
  }
  $findAProgram = null;
  foreach ($items as $item) {
    if ($item->post_name = 'find-a-program') {
      $findAProgram = $item;
      break;
    }
  }
  if ($findAProgram) {
    $order = count($items);
    foreach (get_terms('program-focus') as $term) {
      $posts = get_posts(""taxonomy=program-focus&term={$term->term_slug}&post_type=programs"");
      if (!empty($posts)) {
        $term = wp_setup_nav_menu_item($term);
        $term->menu_item_parent = $findAProgram->db_id;
        // set db_id to negitive value to avoid collisions with posts with the same ID
        // This is needed due to the non-strict equality check in classes.php
        // line 932 in Walker::walk().  I would love to use a string for the
        // term ID's (something like 'term:4'), but ""any string"" == 0 will
        // always return false.
        $term->db_id = -1*$term->ID;
        $term->menu_order = $order++;
        $items[] = $term;
        foreach ($posts as $post) {
          $post = wp_setup_nav_menu_item($post);
          $post->menu_item_parent = $term->db_id;
          $post->menu_order = $order++;
          $items[] = $post;
        }
      }
    }
  }
  return $items;
}
add_filter('wp_get_nav_menu_items', 'my_get_nav_menu_items', 10, 3);
}}}

",mackeyn@…
Consider for Next Major Release (has-patch),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
Consider for Next Major Release (has-patch),14302,Object Property getters and setters,filosofo*,Post Types,3.0,normal,normal,Future Release,enhancement,accepted,has-patch,2010-07-13T23:19:07Z,2011-01-31T15:47:34Z,"Currently, if you want to get or set a post object's property:
 * You have to know which database table it's located in
 * If that property is in the posts table, you have to set all properties to set any, via `wp_update_post` or `wp_insert_post`.
 * If that property is in the postmeta table, you have to specify that it be returned as a singular value (instead of an array of values)

My patch lets WP figure out where a particular value is stored, so you don't have to, with two new functions:

mixed '''get_post_property''' ( int ''$object_id'', string ''$prop_name'' [, bool ''$force_single'' ] )

bool '''set_post_property''' ( int ''$object_id'', string ''$prop_name'', mixed ''$prop_value'' )",filosofo
Needs Milestone,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
Needs Milestone,16408,get_bloginfo('template_url') is not returning valid URLs.,,General,3.0.3,normal,normal,Awaiting Review,defect (bug),new,,2011-01-30T08:04:50Z,2011-02-01T04:04:00Z,"There seems to be a general consensus on the #wordpress IRC channel that URLs cannot contain spaces. I agree with this, and I'm almost sure the entire internet community would to. Based on this axiom, get_bloginfo('template_url') should return URLs with spaces properly encoded, otherwise, it's not returning a valid URL, hence it's not returning a URL at all. I'm guessing that get_bloginfo('template_url') is suppose to return a URL, so this must mean that it's not currently (as of version 3.0.3) doing what it's suppose to.

As for what a properly encoded space character in a URL would be, I'm not exactly sure. I know it's either %20 or +, but I wont make the decision as to which of these it is.

If you by any chance believe that URLs *should* contain spaces, then that's another problem related to wp_enqueue_script. wp_enqueue_script removes spaces from it's URL. Again, if you think URLs should contain spaces, then wp_enqueue_script should include them.

Either way you think about it, get_bloginfo (including bloginfo) or wp_enqueue_script contains a defect. You may argue that you should not use spaces in your directory/file names to begin with, but this argument is irrelevant.

Thank you. I would appreciate this issue not being overlooked. :)",figaroo
Consider for Next Major Release (has-patch),7054,Generated avatars should not be shown on moderation pages.,ryan,Comments,,normal,normal,Future Release,enhancement,reopened,has-patch,2008-05-28T15:53:22Z,2011-02-01T04:44:25Z,"When moderating a lot of comments or checking the akismet queue the presence of an avatar can assist when checking for spammers. If generated avatars are shown on those pages it will increase the time to check comments and could lead to spam being inadvertently approved.

These 2 pages should not show generated avatars.

/edit-comments.php?comment_status=moderated

/edit-comments.php?page=akismet-admin

This does mean that avatar-free users who have had a previous comment approved would not have their generated avatar shown. In this case their avatar would need to be shown.",podz
Needs Milestone,16431,Adding include to wp_list_comments(),,General,,normal,normal,Awaiting Review,enhancement,new,,2011-02-01T04:27:50Z,2011-02-01T07:23:31Z,"I have been building a simple forum on Wordpress using posts as questions, top-level comments as answers, replies as comments on answers. 

Choosing a best answer is available, which adds the ID of the chosen answer (comment) ti the postmeta of the question. 

I would like to arrange my answers so that the first one is the chosen best answer, and below you can view the normal flow of answers.

It would be nice if this could be done using wp_list_comments(). I would call it once and use ""include"" to show just the one comment, and then I would call it again without the include to show the usual flow of comments. 

I believe this might be generally helpful in other cases as well though.  ",danielpataki
Needs Milestone,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
Needs Milestone,16400,Add hook to delete_plugins() on successful delete,,Plugins,3.0.4,normal,normal,Awaiting Review,enhancement,new,has-patch,2011-01-28T20:16:18Z,2011-02-01T09:09:25Z,"Add an action or filter to the end of /wp-admin/includes/plugin.php delete_plugins()'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's contents (particularly in the wp-content folder) I need to be able to trigger an svn commit.

See also Ticket # 16399 ",scottconnerly
Needs Milestone,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
Needs Milestone,16399,Add a hook to the plugin editor page when the write is successful,,Plugins,3.0.4,normal,normal,Awaiting Review,enhancement,new,has-patch,2011-01-28T20:06:30Z,2011-02-01T09:34:54Z,"Add an action or filter to the end of plugin-editor.php'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's contents (particularly in the wp-content folder) I need to be able to trigger an svn commit. 

See also: Ticket # 16396",scottconnerly
Consider for Next Major Release (has-patch),10569,Allow filtering of reply text with comment context,,Comments,,normal,normal,Future Release,enhancement,new,has-patch,2009-08-08T13:55:54Z,2011-02-01T16:30:36Z,"I know you can specify the reply text for comments, but you can't make them specific to each comment such as ""`Reply to comment #1234 by Joe`"".  This will let you do that by adding a filter called `comment_reply_link_text` to `get_comment_reply_link()` that passes along $args, $comment, and $post (just like the existing `comment_reply_link` filter).

I know you COULD do this with some processing on the link, but it would require pulling comment and post IDs from the URL and/or onclick, then replacing the text in the link itself.  This way would be a lot simpler and only adds a single filter.",aaroncampbell
Needs Milestone,15533,wp_get_nav_menu_items order doesn't work,,Menus,3.0,normal,minor,Awaiting Review,defect (bug),new,,2010-11-21T22:18:01Z,2011-02-02T13:27:25Z,"Argument order doesn't work when output is ARRAY_A since on the end of function wp_get_nav_menu_items there is a usort on the $items array what will be returned.

Since out ARRAY_A is the default output this can give strange behaviour.

The code that gives the problem:

{{{
	if ( ARRAY_A == $args['output'] ) {
		$GLOBALS['_menu_item_sort_prop'] = $args['output_key'];
		usort($items, '_sort_nav_menu_items');
		$i = 1;
		foreach( $items as $k => $item ) {
			$items[$k]->$args['output_key'] = $i++;
		}
	}
}}}",markoheijnen
Needs Milestone,16182,object_term_cache is never cleared for custom post types with non-shared taxonomy,,General,3.0,normal,major,Awaiting Review,defect (bug),new,,2011-01-10T22:47:56Z,2011-02-02T19:38:14Z,"wp_insert_post() calls clean_post_cache() after updating the post.  However, when clean_object_term_cache() is called, it passes is hard coded to pass in the post_type of 'post'.  So the object_term_cache is never cleared for any taxonomies that are part of the post object type's taxonomies.",prettyboymp
Needs Milestone,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
Consider for Next Major Release (has-patch),11325,Image cropping doesn't work for small areas,,Media,2.9,normal,normal,Future Release,defect (bug),new,dev-feedback,2009-12-04T19:46:08Z,2011-02-03T14:22:23Z,"Image cropping works for JPEG images, but not for PNGs. The crop button is disabled.

Rev.179738",caesarsgrunt
Needs Milestone,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
Consider for Next Major Release (has-patch),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
Needs Milestone,16462,Plugin Editor does not work for Must-Use Plugins,,General,3.1,normal,normal,Awaiting Review,enhancement,new,,2011-02-05T12:11:50Z,2011-02-05T12:11:50Z,"Since [10737] (WP 2.8), WordPress has support for so called [http://hakre.wordpress.com/2010/05/01/must-use-and-drop-ins-plugins/ Must-Use Plugins]. Since [13233] (WP 3.0) those are listed in the admin panel.

By default, Plugins can be edited on the ''Edit Plugins'' page ({{{/wp-admin/plugin-editor.php}}}).

On WordPress 3.0.4 it's not possible to edit Must-Use plugins.

User who can edit plugins should be enabled to edit the ''must-use''-variant of plugins as well.

Related: #11861
",hakre
Consider for Next Major Release (has-patch),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
Needs Milestone,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
Consider for Next Major Release (has-patch),7051,Delete blacklisted comments rather than mark them as spam,,Comments,2.5.1,normal,normal,Future Release,enhancement,new,has-patch,2008-05-28T11:37:11Z,2011-02-08T04:10:40Z,Comments that are blacklisted because of the Blacklist keys on options-discussion.php should be deleted immediately instead of being marked as spam. Patch attached.,donncha
Needs Milestone,16487,Bug wp_new_user_notification() when using it in multisite mode,,General,3.0.5,normal,normal,Awaiting Review,defect (bug),new,dev-feedback,2011-02-08T09:04:08Z,2011-02-08T12:07:48Z,"In the file ""wp-includes/pluggable.php""
into the function named ""wp_new_user_notification""

$blogname = wp_specialchars_decode(get_option('blogname'), ENT_QUOTES);

This is correct but, in mutisite mode,

that one return the site name where you are logged into, not the blogname you are going to create.
$message .= wp_login_url() . ""\r\n"";

for example, i try to create test1.mynamesite.com
i'm logged on primarysite.mynamesite.com with my super admin account.

Into the mail i recieved, with ""Your Username and password""
the url is ""http://primarysite.mynamesite.com/wp_login.php""

it had to be ""http://test1.mynamesite.com/wp_login.php"".

In the other mail recieved with the complete message, acces code and url, all is perfect, just in the mail when adding the user to the new site.",wp_user59
Needs Milestone,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
Consider for Next Major Release (has-patch),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
Consider for Next Major Release (has-patch),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
Consider for Next Major Release (has-patch),16472,set_query_var() / get_query_var() does not work for NULL values,,General,,normal,normal,Future Release,defect (bug),new,has-patch,2011-02-06T16:08:06Z,2011-02-09T16:54:38Z,"Setting a query var to NULL will convert it into an empty string:

{{{
$name = 'test';
$value = NULL;
set_query_var($name, $value);
$get = get_query_var($name);
echo $value === $get ? 'same' : 'different';
var_dump($get);
}}}

This will output ""different"" and showing that the query var now is an empty string.",hakre
Consider for Next Major Release (has-patch),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
Needs Milestone,16512,Add hook after set_current_screen(),,Administration,3.1,normal,normal,Awaiting Review,enhancement,new,has-patch,2011-02-10T02:24:56Z,2011-02-10T03:00:55Z,"There needs to be a hook after {{{set_current_screen()}}} as it does a lot of work setting up the {{{$current_screen}}} global.. I'd hate to have to repeat it in {{{admin_init}}} as that's the last generic hook before {{{load-$pagenow}}}.

Patch adds new hook {{{admin_loaded}}} after {{{set_current_screen()}}}",ptahdunbar
Consider for Next Major Release (has-patch),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
Needs Milestone,16516,wp_page_menu documentation of the sort_column parameter,,General,3.0.5,normal,trivial,Awaiting Review,defect (bug),new,,2011-02-10T15:13:13Z,2011-02-10T15:13:13Z,"The [http://core.trac.wordpress.org/browser/tags/3.0.5/wp-includes/post-template.php#L810 source code documentation] for wp_page_menu reads:

{{{
* <li><strong>sort_column</strong> - How to sort the list of pages. Defaults
* to page title. Use column for posts table.</li>
}}}

The actual default value is {{{'menu_order, post_title'}}} (correctly, as per [http://core.trac.wordpress.org/ticket/10266 Ticket 10266]).

",FrancescoRizzi
Needs Milestone,16529,Missing quotes in DB_NAME on installation,,General,3.0.4,normal,normal,Awaiting Review,defect (bug),new,close,2011-02-10T23:41:47Z,2011-02-11T00:31:33Z,"A fresh installation of the database creates the file ""wp-config.php"".  This sets the MYSQL hostname.  When entering the proper information from the 5-minute installation into the MYSQL hostname field, this is incorrectly saved to the ""wp-config.php"" file *without* quotes around the host if the hostname is something other than localhost.

This makes installation problematic for users for which MySQL is not residing on the same host as their web server.  Specifically 1&1 users experience this issue.  This appears in the latest SVN pull.

see line 220 - 229 on /wp-admin/setup-config.php

patch attached.",beadon
Consider for Next Major Release (has-patch),15539,wp_mail() should allow using PHPmailer's SMTP feature,,Mail,3.1,normal,normal,Future Release,defect (bug),new,has-patch,2010-11-22T16:51:55Z,2011-02-11T05:46:09Z,"{{{wp_mail()}}} is able to use an already existing instance of PHPmailer. Unfortunately, all settings from the existing instance are then reset.


While this makes sense for things like addresses and subject, it is very bad that {{{$phpmailer->IsMail()}}} is called.

This makes it impossible to create and configure an own instance for usage with a remote MTA.

Possible solutions:

1. Simply omit the call to {{{$phpmailer->IsMail()}}}, as {{{'mail'}}} is already the default value.

2. Move the call of {{{$phpmailer->IsMail()}}} into the {{{if}}} statement at the beginning of the {{{wp_mail()}}} function, so it will only be set if the instance is not set.

3. Add a parameter to the signature of {{{wp_mail()}}} which allows to set the desired MTA backend.
",mastermind
Consider for Next Major Release (has-patch),15827,AJAX paging breaks badly when json_encode can't encode,,Administration,3.1,normal,normal,Future Release,defect (bug),assigned,has-patch,2010-12-15T14:27:33Z,2011-02-11T07:20:32Z,"If json_encode can't encode a response for some reason you get no feedback at all except for a blank list.

This seems most likely to trigger with invalid UTF8 sequences in spam comments.

With non-ajax paging you at least get all the comments displayed even if you do get a lot of ??? for the bad chars

Example Error seen:

{{{
[15-Dec-2010 14:18:38] Warning: json_encode() [<a href='function.json-encode'>function.json-encode</a>]: Invalid UTF-8 sequence in argument in /home/wpdev/public_html/wp-admin/includes/class-wp-list-table.php on line 839 [
}}}",westi
Needs Milestone,16519,pingback url is right-trimmed incorrectly,,Pings/Trackbacks,3.0,normal,normal,Awaiting Review,defect (bug),new,,2011-02-10T17:31:08Z,2011-02-12T17:23:23Z,"an url ending with %d0%b5%d1%81% was produced by pingback mechanism, that url is in pingback comment, and server returns for its request:[[BR]]
Bad Request[[BR]]
Your browser sent a request that this server could not understand.[[BR]]
[[BR]]
[[BR]]
but if it would end with %d1%81 it works. wordpress automatically fixes it. but also it does not open if it ends with %d1%8 or %d1 .",qdinar
Needs Milestone,16544,RSS2 feeds are published as text/xml rather than application/rss+xml,,Feeds,3.0.5,normal,trivial,Awaiting Review,defect (bug),new,close,2011-02-12T21:25:45Z,2011-02-13T06:00:04Z,"It seems to me that there is a bug in feed-rss.php, feed-rss2.php and feed-rss2-comments.php

All files have the following header

header('Content-Type: ' . feed_content_type('rss-http') . '; charset=' . get_option('blog_charset'), true);

Which seems to publish the feed as text/xml rather than application/rss+xml which I believe it should be.",Orakel78
Consider for Next Major Release (has-patch),12634,Media Library & Permalink Overlap,ryan,Permalinks,2.9.1,normal,normal,Future Release,defect (bug),new,has-patch,2010-03-18T15:37:23Z,2011-02-13T07:54:42Z,"The problem is: upload a media item and give it a name, such as 'test'. Create a new page titled 'test' with a permalink that reads http://www.example.org/test/.

The permalink, instead of going to the page, goes to the media item. 

For most purposes, I would imagine this behavior should be reversed.

-Tim-",tmoorewp
Consider for Next Major Release (has-patch),16345,Some submit buttons shouldn't have names,,Administration,3.1,normal,normal,Future Release,defect (bug),reopened,has-patch,2011-01-22T18:24:30Z,2011-02-13T14:38:59Z,"Technically a regression due to the submit_button implementation. What happens instead is the URL gets polluted.

Noticed especially after we moved back to GET on a bunch of screens.

In these cases, we just need the form to be sent. Don't need the context info.",nacin
Needs Milestone,16106,Error reading EXIF data from uploaded image,,Media,3.0.4,normal,normal,Awaiting Review,defect (bug),new,has-patch,2011-01-05T12:09:50Z,2011-02-14T06:13:22Z,"When the user uploads an image file with EXIF data, that data is saved to the database. exif_read_data() reads the EXIF headers from a JPEG or TIFF image file. This way you can read meta data generated by digital cameras.

In this case the EXIF 'ISOSpeedRatings' key had an array for a value, but a string was expected. So the subsequent trim() call failed.

Patch attached.",4D4M
Consider for Next Major Release (has-patch),15659,Entity escaping needed for comments list table,,Administration,,normal,normal,Future Release,defect (bug),new,has-patch,2010-12-03T07:05:52Z,2011-02-14T06:32:02Z,"Perhaps only as a result of the fact that the URL will be truncated for display, it is possible that URLs will have entities in URLs such as &amp; truncated, thereby creating a non-well-formed entity for application/xhtml+xml . The following patch fixes it (quotation escaping is not needed since this is element content).

This is an easy fix which I hope can be applied given that its lack breaks reviewing the important comments editing page. Thanks.",brettz95
Consider for Next Major Release (has-patch),16568,Network install disables site when blog_id is not 1,,Multisite,3.0.5,normal,normal,Future Release,defect (bug),new,has-patch,2011-02-15T20:07:03Z,2011-02-16T01:31:33Z,"This is an edge case and only occurs when MySQL is configured to skip numbers in auto number fields.

The network install inserts the blog record and allows MySQL to assign the blog_id. The blog prefix logic in wpdb depends on the blog_id of the main blog being 1.

The manual fix for this is to edit the DB and change the blog_id of the main blog to 1. Between being an edge case and a relatively easy fix, this isn't severe, imo.

Forum thread: http://wordpress.org/support/topic/database-error-when-enabling-mutlisite",wpmuguru
Consider for Next Major Release (has-patch),16271,Better handling of translating comments notification,,I18N,3.1,normal,normal,Future Release,defect (bug),new,has-patch,2011-01-17T17:26:03Z,2011-02-16T06:22:49Z,"Comments...


{{{
Author :
E-mail :
URL    :
Whois  :
Excerpt:
}}}

Pingback...


{{{
Website:
URL    :
}}}

It is not possible to manage translation with the same length of ""Excerpt"" and ""Website"" to have ""URL"" with the same number of spaces (required for ""URL"" which is the same for both types)...

BTW, Why it is ""Excerpt"" when there is the whole text of every comment in notification email?",pavelevap
Needs Milestone,16578,TinyMCE plugins are not loaded as .dev.js when SCRIPT_DEBUG is enabled,,General,3.1,normal,minor,Awaiting Review,enhancement,new,,2011-02-17T06:58:15Z,2011-02-17T13:31:40Z,"In trunk, when SCRIPT_DEBUG is enabled, TinyMCE does not load plugins using  `.dev.js` scripts. It would be nice if it did.",solarissmoke
Needs Milestone,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
Consider for Next Major Release (has-patch),16134,Check capabilities/role before adding comment links to email,,Comments,3.0.4,normal,normal,Future Release,defect (bug),new,has-patch,2011-01-07T10:23:06Z,2011-02-19T20:35:22Z,"Currently the Trash it, Delete it, Spam it are added to comment notifcation emails, which are sent to the author.

However, the author may have had their role changed down to a lower-role (or had capability removed) since they wrote the post, and no longer would have permissions to use the links added to the email. 

It may also be the case that a subscriber user was assigned as the Post Author (perhaps as a sort of Guest Author) for a post, and never had the permissions to use those links.

Can some sort of check be added, before these links be added to the email?",GaryJ
Consider for Next Major Release (has-patch),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
Consider for Next Major Release (has-patch),16555,Post format metabox shows duplicate 'standard' format,,General,3.1,low,normal,Future Release,defect (bug),new,has-patch,2011-02-13T23:01:55Z,2011-02-20T17:38:15Z,"Having 'standard' within add_theme_support makes the standard option show up twice within the post format metabox on the write/edit screen.

{{{add_theme_support( 'post-formats', array( 'standard', 'aside', 'chat', 'gallery', 'link', 'image', 'quote', 'status', 'video', 'audio' ) );}}}

Patch fixes this by skiping over standard since it's hardcoded in the metabox.",ptahdunbar
Needs Milestone,16609,"Misleading ""Error establishing a database connection""",,Multisite,3.0.5,normal,minor,Awaiting Review,defect (bug),new,dev-feedback,2011-02-21T17:31:10Z,2011-02-21T17:31:10Z,"Multisite install shows:

""Error establishing a database connection""

Even if credentials are OK when it doesn't find the domain entry in wp_blogs table, this is very misleading, would be helpful to have the same meaningful error message that /wp-admin shows.

I posted this problem originally at http://wordpress.org/support/topic/misleading-error-establishing-a-database-connection",roberto.carvajal
Needs Milestone,16615,More inline docs needed to explain DB errors esp. dead_db() and effects of WP_DEBUG,,Inline Docs,,normal,normal,Awaiting Review,enhancement,new,needs-docs,2011-02-22T21:42:58Z,2011-02-23T06:29:19Z,"'''The Problem: DB Error reporting can't be modified'''

I'm trying to set my sites up for some scheduled downtime of our (separate) MySQL server. I am hoping that I can show cached pages if they are requested, but show a 'We are down for scheduled maintenance' message when a user loads a page that needs the database. 

In the process I'm seeing there are many different places in the code that fire depending on exactly how broken the database is. Specifically, there are some scenarios where `dead_db()`, which is totally different from the rest of the messages, will fire. dead_db() is cool because it promises to let us use a `/wp-content/db-error.php` file to control output in case of a db error, but currently it is just frustrating because most types of db error (server missing, db missing) don't cause `dead_db()` to fire, but instead use `$wpdb::bail()`. These bail()-based errors are used in wp-db.php. 

However `dead_db()` CAN still fire, which I know because our site often has database outages that result in the H2 from `dead_db()` being shown. I think it's a certain mix of ""the mysql server and database seem to exist, but are failing to respond to actual queries"". That said, I'm pretty sure that the scenarios where dead_db still fires are ones also covered by some of the `$wpdb::bail()` situations, and would be better off handled by one consistent system of errors. dead_db() should either be used for all DB related errors or deprecated, otherwise it is just an awkward red-herring for developers.

'''The Solution: Better filters on `$wpdb::bail()`'''

I think that all these messages need to be pluggable somehow and it should be clear how to do so when looking at the code itself. Asking people who want to change a wp_die() message to find it in the code is reasonable, but it should be clear from there how to change it. Ideally there would be a filter in the function that calls bail() that lets you edit the text and/or forward the user to another URL where a maintenance message lives. It should be of of those situations where finding the source of the message also finds the means of changing it.

The simplest answer would be a filter added in `$wpdb::bail()` that used the $error_code to identify the specific message. In the database errors the $error_code passed to bail() are useful slug-type strings like 'db_select_fail'. Something like:


{{{
apply_filters('wpdb_bail', $error_code, $message);
wp_die($message);
}}}



This would give people a lot of control, and could easily be referred to in a comment before any given instance of `$wpdb::bail()`.

To make the $error_code easier to find I think it's also worth reformatting the code used to call `$wpdb::bail()`. Currently it takes this form:

{{{
$this->bail( sprintf( /*WP_I18N_DB_CONN_ERROR*/""
...
SUPER LONG HTML MESSAGE
...
""/*/WP_I18N_DB_CONN_ERROR*/, $details['db_host'] ), 'db_connect_fail' );
}}}

This makes it hard to notice the 'db_connect_fail' string all the noise. Instead the message perparation and bail() call should be on two lines, one for defining the message and another that only calls bail (with an explanation about the $error_message and filter above it).

Looking at it deeper I imagine I can achieve what I want by hooking into the 'wp_die_handler' filter, checking for the exact HTML generated by the DB error (the `$message` value in the code above), and doing something based on that, but it's obviously a house of cards for future updates where the text might change. It will also be easily foiled by any translation of the `$message` which will change its output.


",jeremyclarke
Consider for Next Major Release (has-patch),11101,Gallery column width calculation needs more granularity,,Gallery,,normal,minor,Future Release,enhancement,new,has-patch,2009-11-08T07:36:13Z,2011-02-23T10:12:06Z,"In line 712 of wp-includes/media.php where the column width is calculated for the gallery css snippet:


{{{
$columns = intval($columns);
        $itemwidth = $columns > 0 ? floor(100/$columns) : 100;

        $selector = ""gallery-{$instance}"";

        $output = apply_filters('gallery_style', ""
                <style type='text/css'>
                        #{$selector} {
                                margin: auto;
                        }
                        #{$selector} .gallery-item {
                                float: left;
                                margin-top: 10px;
                                text-align: center;
                                width: {$itemwidth}%;                   }
}}}


itemwidth should be calculated as 

{{{
$itemwidth = $columns > 0 ? round(100/$columns,1) : 100;
}}}

This gives the width better precision. I've read that IE ignores the decimal, but it works on at least Firefox, so there is no reason not to let it have a decimal value. You could even increase the number of decimal points.",akozak
Needs Milestone,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
Needs Milestone,16635,Handle grouped MIME-Types,,Media,3.1,normal,minor,Awaiting Review,enhancement,new,has-patch,2011-02-24T13:41:14Z,2011-02-24T13:41:14Z,"I'm trying to add a filter in the Media Library for common archive file types. The problem is that there are a lot of MIME-Types for archive files and none have a common prefix. Wildcards are not a solution here.

POC:
{{{
add_filter('post_mime_types', 'modify_post_mime_types');

function modify_post_mime_types($post_mime_types) {
	$type = 'application/zip,application/x-tar';
	$labels = array(
		__('Archive'), 
		__('Manage Archives'), 
		__ngettext_noop('Archive <span class=""count"">(%s)</span>', 'Archives <span class=""count"">(%s)</span>')
	);

	$post_mime_types[$type] = $labels;

	return $post_mime_types;
}
}}}

I've tried using ""|"" (regexp) as a separator:
{{{
$type = 'application/zip|application/x-tar';
}}}
This works ok in wp_match_mime_types but fails in wp_post_mime_type_where.

I've found two possible solutions:

1) Change 
{{{
$post_mime_types = array_map('trim', explode(',', $post_mime_types));
}}}
to 
{{{
$post_mime_types = array_map('trim', preg_split('/,|\|/', $post_mime_types));
}}}
in wp_post_mime_type_where and use ""|"" as a separator;

2) Handle this in wp_match_mime_type (see code in attached file) and use "","" as a separator.

I'm aware that this is not a widely used filter but in my case this enhancement makes a lot of sense. If it works for images why shouldn't it work for archives? Also, why is wp_post_mime_type_where designed for comma-separated lists of MIME-Types if it's never used that way?",sergiu.paraschiv
Consider for Next Major Release (has-patch),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
Needs Milestone,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
Needs Milestone,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
Consider for Next Major Release (has-patch),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
Consider for Next Major Release (has-patch),16683,"Nonce failure error message causes a warning, and also ugly error.",,Administration,3.1,normal,normal,Future Release,defect (bug),new,has-patch,2011-02-27T04:05:15Z,2011-02-27T07:25:36Z,"{{{
( ! ) Notice: Undefined offset: 4 in C:\www\wordpress-commit\wp-includes\functions.php on line 2624
Call Stack
#	Time	Memory	Function	Location
1	0.1991	455408	{main}( )	..\options-permalink.php:0
2	15.8632	23506944	check_admin_referer( )	..\options-permalink.php:69
3	15.8637	23507168	wp_nonce_ays( )	..\pluggable.php:839
4	15.8638	23507240	wp_explain_nonce( )	..\functions.php:2657


Your attempt to change your permalink structure to: has failed.
}}}

I left the permalink page open for a few hours, and just went to update it. Upon clicking update, I was given the above error (see attached jpeg). It feels pretty clunky and average to have a simple text like that.

The warning looks to be caused by the nonce error not being set possibly..",dd32
Needs Milestone,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
Consider for Next Major Release (has-patch),16686,$user argument of get_edit_profile_url() should be optional,,General,3.1,normal,normal,Future Release,enhancement,new,has-patch,2011-02-27T05:40:21Z,2011-02-27T09:54:36Z,It should default to the current user.,nacin
Needs Milestone,16672,Admin Bar and param href = FALSE,,General,3.1,normal,normal,Awaiting Review,defect (bug),new,dev-feedback,2011-02-26T00:21:52Z,2011-02-27T11:21:37Z,"Current i dont find an solution to add an element in the admin bar with a a-tag inside the li-tag. But the function add_menu has an param href and is also possible to add the value false, but the a-tag ist always visible


maybe a fix on wp-includes/class-wp-admin-bar.php

{{{
	/* Helpers */
	function recursive_render( $id, &$menu_item ) { ?>
		<?php
		$is_parent =  ! empty( $menu_item['children'] );

		$menuclass = $is_parent ? 'menupop' : '';
		if ( ! empty( $menu_item['meta']['class'] ) )
			$menuclass .= ' ' . $menu_item['meta']['class'];
		?>

		<li id=""<?php echo esc_attr( ""wp-admin-bar-$id"" ); ?>"" class=""<?php echo esc_attr( $menuclass ); ?>""><?php
			if ( ! empty( $menu_item['href'] ) ) : ?>
				<a href=""<?php echo esc_url( $menu_item['href'] ) ?>""<?php
					if ( ! empty( $menu_item['meta']['onclick'] ) ) :
						?> onclick=""<?php echo esc_js( $menu_item['meta']['onclick'] ); ?>""<?php
					endif;
				
				if ( ! empty( $menu_item['meta']['target'] ) ) :
					?> target=""<?php echo esc_attr( $menu_item['meta']['target'] ); ?>""<?php
				endif;
				if ( ! empty( $menu_item['meta']['title'] ) ) :
					?> title=""<?php echo esc_attr( $menu_item['meta']['title'] ); ?>""<?php
				endif;
				
				?>><?php
			endif;
			
			if ( $is_parent ) :
				?><span><?php
			endif;

			echo $menu_item['title'];

			if ( $is_parent ) :
				?></span><?php
			endif;

			if ( ! empty( $menu_item['href'] ) ) : ?></a><?php endif; ?>

			<?php if ( $is_parent ) : ?>
			<ul>
				<?php foreach ( $menu_item['children'] as $child_id => $child_menu_item ) : ?>
					<?php $this->recursive_render( $child_id, $child_menu_item ); ?>
				<?php endforeach; ?>
			</ul>
			<?php endif; ?>

			<?php if ( ! empty( $menu_item['meta']['html'] ) ) : ?>
				<?php echo $menu_item['meta']['html']; ?>
			<?php endif; ?>
		</li><?php
	}
}}}
",Bueltge
Needs Milestone,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
Needs Milestone,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
Needs Milestone,16696,"No synchronisation between ""most used"" and ""all categories"" in link edit",,Administration,3.1,normal,normal,Awaiting Review,defect (bug),new,has-patch,2011-02-28T07:14:37Z,2011-03-04T14:02:26Z,"There are issues with the ""all categories"" and ""most used"" tabs when editing links:

- Go to edit a link

- Click on ""Most used"" in the category section. All the listed categories are unchecked - including the ones that are checked in the ""All Categories"" tab. There is no sync between the two.

- Now check a category in the ""most used"" tab. Go to the ""all categories"" tab and you will find that the same category is now checked (as expected). Now uncheck it from the ""all categories"" tab. Go to ""most used"" and it is still checked there. The sync only works one way ( ""most used"" -> ""all categories"" ).

The first issue is because `wp_popular_terms_checklist()` assumes that you're using it in the context of a particular post, and sets checkedness based on whether the `$post` global has that term. If the `$post` global is empty (as when editing links), nothing is checked. I don't think we should be using `wp_popular_terms_checklist()` as it's context is for individual posts.

The second issue is because the IDs on the most used elements are wrong compared to what the Javascript is looking for.

Patch to follow. 

",solarissmoke
Needs Milestone,16747,'feedtype_enclosure' hooks not triggered without custom field,,Feeds,3.1,normal,trivial,Awaiting Review,defect (bug),new,has-patch,2011-03-04T13:42:07Z,2011-03-04T15:48:25Z,"file: '''wp-includes/feed.php''', functions: '''atom_enclosure()''' and '''rss_enclosure()'''

If a ""enclosure"" custom field is not provided, the ''atom_enclosure'' and ''rss_enclosure'' filters are never triggered (because they're inside an if statement).

Wouldn't it make sense to replace this  ...
{{{
function atom_enclosure() {
	if ( post_password_required() )
		return;

	foreach ( (array) get_post_custom() as $key => $val ) {
		if ($key == 'enclosure') {
			foreach ( (array) $val as $enc ) {
				$enclosure = split(""\n"", $enc);
				echo apply_filters('atom_enclosure', '<link href=""' . trim(htmlspecialchars($enclosure[0])) . '"" rel=""enclosure"" length=""' . trim($enclosure[1]) . '"" type=""' . trim($enclosure[2]) . '"" />' . ""\n"");
			}
		}
	}
}
}}}

... with this ...
{{{
function atom_enclosure() {
	if ( post_password_required() )
		return;

	$output = '';
	foreach ( (array) get_post_custom() as $key => $val ) {
		if ($key == 'enclosure') {
			foreach ( (array) $val as $enc ) {
				$enclosure = split(""\n"", $enc);
				$output = '<link href=""' . trim(htmlspecialchars($enclosure[0])) . '"" rel=""enclosure"" length=""' . trim($enclosure[1]) . '"" type=""' . trim($enclosure[2]) . '"" />' . '\n';
			}
		}
	}
	echo apply_filters('atom_enclosure',$output);
}
}}}

... so that those functions can be hooked via plugins, even if the custom field doesn't exist?

''In my particular case, I wanted to use a different--already existing--custom field name to pull the url from, but I couldn't hook '''atom_enclosure()''' because '''apply_filters()''' is only triggered if the ""enclosure"" custom field name exists.''",tcloninger
Needs Milestone,16755,PHP5-port - uniqid(),,General,3.1,normal,normal,Awaiting Review,enhancement,new,,2011-03-05T11:15:01Z,2011-03-05T11:15:01Z,"[http://www.php.net/manual/en/function.uniqid.php uniqid()] does not need a prefix (any longer).

Places in use can be checked if they need to have it passed or not.

Related: #16753",hakre
Needs Milestone,16758,PHP5-port - move of wpdb::check_database_version(),,General,3.1,normal,normal,Awaiting Review,enhancement,new,has-patch,2011-03-05T14:04:56Z,2011-03-05T14:04:56Z,"The function {{{wpdb::check_database_version()}}} is doing a check of the database version against a needed database version. The database server version is returned from $this->db_version(), the required database version is in a global variable called `$required_mysql_version`.

This keeps the database code coupled to the global variable while the class is made to be replaced, e.g. for other database abstractions (compare #14508 which is made for ''extends wpdb''). Normally the database class is a singleton in a global variable already.

Therefore this mixes global with local space twice. I suggest to de-couple wpdb a bit from that hardencoded global variable name and move the code out of the wpdb class into that alread existing global function called wp_check_mysql_version().

This should make the database interface a bit more lightweight which could be a benefit when porting to PHP5.

",hakre
Needs Milestone,16600,AdminMenu rendering code chokes on uppercase,,Administration,3.1,normal,minor,Awaiting Review,defect (bug),reopened,,2011-02-20T02:43:25Z,2011-03-05T16:28:13Z,"When registering custom taxonomies for a custom post type, if the post type name contains uppercase letters, the menu items for the custom taxonomies are not shown.

It looks like the post type name is lowercased in some parts of the core code (but no all) and so string comparisons fail.
Just isolated this behaviour, so I'm still not sure how much of the core this affects.

Moreover, when I saved posts with the intended mixed-case name, they have been saved to the DB with lowercased post_type


It it is indeed the intended behaviour, a note should be added to the Codex:
 ""Custom Post Type names must be lowercase""

The attached sample (real) code reproduces the problem by setting ""post_type_tag"" to ""DomainName"" instead of ""domain_name"". Numbers work properly, however.

Tested with latest SVN (RC4 + r17467)",jltallon
Needs Milestone,16770,"The comments field in the post table gets set to 'closed' for all posts, and commenting options change from those set",,Comments,3.1,normal,normal,Awaiting Review,defect (bug),new,,2011-03-06T00:48:21Z,2011-03-06T17:25:27Z,"these problems are documented in this forum topic. http://wordpress.org/support/topic/why-is-my-comments-closed-in-all-posts-open-in-all-pages?replies=13#post-1768692 

It has happened to me twice",linusinutah
Needs Milestone,16471,Support default values for non-existant query vars in get_query_var() et al,,General,3.0,normal,normal,Awaiting Review,enhancement,new,has-patch,2011-02-06T15:48:58Z,2011-03-07T02:43:46Z,"When using {{{get_query_var($var)}}} or {{{$GLOBALS['wp']->get($var)}}} and {{{$var}}} is the name of an unexistant query variable, those functions will return an empty string.

Next to that there is no function that provides information about whether or not a specific query variable has been set.

I therefore suggest to make both functions able to optionally return a chooseable default fallback value then the empty string we have.",hakre
Needs Milestone,16784,Introduce post_type_archive_description(),,Post Types,3.1,normal,normal,Awaiting Review,enhancement,new,,2011-03-07T10:36:40Z,2011-03-07T12:09:27Z,"if using the standard archive.php page, the common function for getting archive page name (e.g. single_tag_title) or description (e.g. tag_description) do not work - the best now is to use get_queried_object()->name resp. get_queried_object()->description

Also it is not obvious, that when you create a custom post type and taxonomy (with public=true) they are not visible on menu navigation page - you must make them visible using the top View menu (it took me a while to realize it) ",thomask
Needs Milestone,16792,"CategoryWalker, if cat_name is empty, do not append the empty a tag to the output",,General,3.1,normal,trivial,Awaiting Review,enhancement,new,has-patch,2011-03-07T22:36:29Z,2011-03-07T22:38:46Z,"If the theme is customized to skip some categories by doing something like add_filter('list_cats', 'hideSomeCatgory') and returning a null or an empty string as cat name, the CategoryWalker will append an empty html element to the output",samo9789
Consider for Next Major Release (has-patch),13575,wp_max_upload_size() is not taking memory limit into account,,General,3.0,normal,normal,Future Release,defect (bug),new,has-patch,2010-05-27T12:38:41Z,2011-03-08T15:14:43Z,"wp_max_upload_size() is not taking a memory limit into account while checking for the maximum upload size.

according to the official php documentation the memory limit is limiting file uploads as well (and post form operations).


> post_max_size - integer [[BR]][[BR]]
> Sets max size of post data allowed. This setting also affects file upload. To upload large files, this value must be larger than upload_max_filesize. If memory limit is enabled by your configure script, memory_limit also affects file uploading. Generally speaking, memory_limit should be larger than post_max_size.

[http://www.php.net/manual/en/ini.core.php#ini.post-max-size Source]",hakre
Needs Milestone,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
Needs Milestone,16753,PHP5-port - microtime() use,,General,3.1,normal,normal,Awaiting Review,enhancement,new,has-patch,2011-03-05T10:27:41Z,2011-03-08T21:31:20Z,"See [http://www.php.net/manual/en/function.microtime.php microtime()] for details.

In microtime() related code [http://www.php.net/manual/en/function.uniqid.php uniqid()] with more entropy does not need a prefix. And there is no need to seed the random number generator. See [http://www.php.net/manual/en/function.srand.php srand()] for details.",hakre
Needs Milestone,16782,PHP5-Port - WP_Error Class,,General,3.1,normal,normal,Awaiting Review,enhancement,new,dev-feedback,2011-03-07T00:45:15Z,2011-03-08T21:46:09Z,"A port of the class to PHP5.

Related: #16781, #6768, #16769
",hakre
Needs Milestone,16756,PHP5-port - Access Violations on wpdb::$prefix,,General,3.1,normal,normal,Awaiting Review,enhancement,reviewing,has-patch,2011-03-05T12:01:09Z,2011-03-08T21:46:30Z,"The to be accessed privately member {{{wpdb::$prefix}}} is accessed publicly in multiple places.

This ''would'' do fatal errors ''if'' the property would be ported to PHP 5 ''with the documented behavior''.

The errorneous usage in the places in question ''might'' reveal that implementation details were missed because the prefix can differ on multi-site setups which is not technically guaranteed when accessing the private member.

The private member was only used ""read-only"" inside the class. Probably this is a documentation issue. It's set {{{set_prefix()}}} and {{{set_blog_id()}}} functions (only) and always to the result of {{{wpdb::get_blog_prefix()}}}.",hakre
Consider for Next Major Release (has-patch),16282,PHP catchable error with get_term_link and WP3.1RC2,,Multisite,3.1,normal,major,Future Release,defect (bug),reopened,needs-unit-tests,2011-01-18T12:23:37Z,2011-03-08T23:10:45Z,"I recently updated my WP Network to 3.1RC2, and suddenly the get_term_link() I was using in the footer gave me this error:

  PHP Catchable fatal error: Object of class WP_Error could not be converted to string

It was working fine in 3.0.4",illutic
Needs Milestone,16781,is_wp_error() simplification,,General,3.1,normal,normal,Awaiting Review,enhancement,new,has-patch,2011-03-07T00:20:17Z,2011-03-09T18:18:46Z,"please review. see #2600, [3667], [http://php.net/manual/en/function.is-a.php is_a()], [http://www.php.net/manual/en/function.is-subclass-of.php is_subclass_of()]",hakre
Needs Milestone,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
Needs Milestone,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
Needs Milestone,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
Needs Milestone,16845,Notice: Undefined index: post_id  in wp-admin/media-upload.php,,General,3.1,normal,normal,Awaiting Review,defect (bug),new,,2011-03-13T08:09:22Z,2011-03-15T11:34:06Z,"Installed 3.1 on my server. when i edit a post and trying to insert a image from another site using: /wp-admin/media-upload.php?tab=type_url . im missing post_id in that url. then i dont get the ""insert into post"" button. 
error msg:
Notice: Undefined index: post_id in /var/www/blog/htdocs/wp-admin/includes/media.php on line 1639 
Notice: Undefined index: post_id in /var/www/blog/htdocs/wp-admin/includes/media.php on line 2223 ",spaam
Needs Milestone,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
Needs Milestone,16495,Make iso8601_to_datetime a bit more compliant,,Formatting,3.0.5,normal,normal,Awaiting Review,defect (bug),new,has-patch,2011-02-08T19:37:09Z,2011-03-16T07:21:44Z,"With a valid ISO 8601 date string with dashes in the date or decimal fractions for seconds, this function will fail to parse it correctly. The attached patch updates the regex to optionally accept dashes and decimal fractions for seconds (which are ignored). It also uses a variable for the regex since it was duplicated.",chrisscott
Needs Milestone,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
Consider for Next Major Release (has-patch),16865,'post' definition should use menu_position,,Administration,,normal,normal,Future Release,enhancement,new,has-patch,2011-03-16T15:03:00Z,2011-03-17T10:32:11Z,"Since WP 3.1, we don't need to hardcode the Posts $menu array, since register_post_type() is flexible enough to handle it.",scribu
Needs Milestone,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
Needs Milestone,16875,auth_redirect() minor code change,,General,3.1,normal,normal,Awaiting Review,enhancement,new,has-patch,2011-03-17T15:48:26Z,2011-03-17T15:48:26Z,While looking into #16858 I stumbled over some is_ssl() related code in auth_redirect(). Just a minor rewrite of the code to make it easier to read.,hakre
Needs Milestone,16886,Adding readonly function to wp-includes/general-template.php,,General,3.1,normal,minor,Awaiting Review,enhancement,new,has-patch,2011-03-18T16:00:34Z,2011-03-18T19:40:01Z,"A quite simple improvement, really. 

Just like the ''checked'', ''selected'' and ''disabled'' function, ''readonly'' would be a shortcut to ''__checked_selected_helper''.

I was doing a theme option page and realized that disabling fields removes the data from the data submission.

I have a bunch of fields that gets used (or not) in the theme, depending on a on/off switch. At first, depending on the switch, I was disabling the fields, but all the data is removed on submit if the switch is at off. Meaning that the user would have to reenter every fields if he wants to activate the functionality.

Putting the fields on readonly gives a nice feedback to the user that those fields are not use, depending on the switch, AND the data is kept if the user changes his mind.

So, here's the patch.

{{{
/**
 * Outputs the html readonly attribute.
 *
 * Compares the first two arguments and if identical marks as readonly
 *
 * @since 3.1.#
 *
 * @param mixed $disabled One of the values to compare
 * @param mixed $current (true) The other value to compare if not just true
 * @param bool $echo Whether to echo or just return the string
 * @return string html attribute or empty string
 */
function readonly( $readonly, $current = true, $echo = true ) {
    return __checked_selected_helper( $readonly, $current, $echo, 'readonly' );
}
}}}

",kakidcm
Consider for Next Major Release (has-patch),15281,Arin whois link is borked,,Mail,,lowest,normal,Future Release,defect (bug),new,has-patch,2010-11-01T21:33:14Z,2011-03-18T20:33:11Z,"http://ws.arin.net/cgi-bin/whois.pl?queryinput=72.233.56.138

I am tempted to propose an api.wordpress.org service, that way these links will never break, but more importantly because arin.net is one of like 7 services based on global regions, and requesting an Asian IP through arin.net doesn't work.

An IP/geo lookup in core would be prohibitive, but if we still want to keep a link (beyond the IP), then we could do this.

On the other hand, IP addresses are becoming less meaningful. Should we just kill the link?",nacin
Needs Milestone,16890,Mutliple Location response headers can trigger notices,,HTTP,,normal,normal,Awaiting Review,defect,new,has-patch,2011-03-18T17:08:33Z,2011-03-18T22:42:40Z,"The current implementation for manual cUrl redirects (safemode / openbasedir restrictions, see #11305) will do notices and fail if a response contains more than one location response header.

Technically this is possible.

In the RFC I have not found any definition so far wether or not this is violating any standard or not not. Next to that I could gather no information how a HTTP client should interprete such a response.

For my fix I will prefer the first location header over any additional one.",hakre
Consider for Next Major Release (has-patch),16881,Remove all unwanted 'nofollow' attributes from 'reply to comment' links,,Comments,3.1,normal,minor,Future Release,defect (bug),new,commit,2011-03-17T20:27:43Z,2011-03-19T06:47:58Z,"This should be a trivial fix. r16230 removed the rel=""nofollow"" attribute from ""reply to comment"" links in the comments list, for reasons discussed in #10550. In brief, the reasons are that these are not external links that we want to tell search engines not to follow in the first place, and there is actually an SEO penalty from adding the ""nofollow"" to internal links.

Unfortunately, the ""nofollow"" was not removed from all of the ""reply to comment"" and ""reply to post"" links (for instance, in code branches when the site requires login/registration to comment). This patch corrects the rest of them.

It doesn't delete the ""nofollow"" attributes we want. For instance, in `get_comment_author_link()` which escapes links to the comment author's URL.

Additionally, the patch (see line 1110) fixes a minor inconsistency between the return values of `get_comment_reply_link()` and `get_post_reply_link()` when `get_option('comment_registration')` is TRUE.

The version in `get_post_reply_link()` is missing the `class=""comment-reply-login""` and `esc_url()` wrap. I've added them.",joelhardi
Needs Milestone,15046,places where the_title is used instead of the_title_attribute,,Formatting,2.3,normal,minor,Awaiting Review,defect (bug),new,has-patch,2010-10-06T08:34:31Z,2011-03-19T15:09:52Z,"[context]
Semantic-web/metadata related plugins popups more and more.
There is no way to filter according to specific tasks (semantic, style, content, ...)
So monolithic the_title and the_author filters are increasingly used.

the_title_attribute [6132] and the_author_meta [11138] partly address the issue
[/context]

Here are the places where the 'content'-oriented function should be used instead of the 'display'
or 'semantic'-oriented versions (often in the 'title' attribute of <a>) :

default-widgets.php, author-template.php and twentyten/functions.php (patches attached)
",drzraf
Consider for Next Major Release (has-patch),9134,cannot remove the link to comments in feeds,,Feeds,2.7,lowest,trivial,Future Release,defect (bug),new,has-patch,2009-02-15T03:24:36Z,2011-03-20T18:49:34Z,"In feed-rss2.php, '''etc.''' there is no easy to turn off the comments link, for blogs that
have no, and don't allow, comments. So the link
{{{
<comments><?php comments_link(); ?></comments>
}}}
is just a waste. Same with
{{{
<wfw:commentRss><?php echo get_post_comments_feed_link(); ?></wfw:commentRss>
}}}
Yes. I can turn off comments, and remove all comments, but I cannot
remove ''the link'' to comments (without hacking the core.)
",jidanni
Needs Milestone,16906,Bogus call to wp_kses_no_null(),,General,3.1,normal,normal,Awaiting Review,defect,new,has-patch,2011-03-20T21:44:21Z,2011-03-20T21:45:23Z,Nullchars and \ have been already replaced in string in question one line above. See [http://core.trac.wordpress.org/browser/tags/3.1/wp-includes/kses.php#L943 wp_kses_no_null()].,hakre
Needs Milestone,16903,PHP5-Port - Superfluous code in _deep_replace(),,General,,normal,normal,Awaiting Review,enhancement,new,has-patch,2011-03-20T16:44:21Z,2011-03-20T21:47:44Z,"Since PHP 5.0.0 the count parameter was added, see [http://www.php.net/manual/en/function.str-replace.php str_replace].

(in earlier PHP 4.x versions, arrays were already supported)",hakre
Needs Milestone,11884,mod_rewrite optimization,,Optimization,3.0,normal,normal,Awaiting Review,enhancement,reopened,close,2010-01-13T11:56:10Z,2011-03-21T11:34:41Z,"Slightly edited version of the one suggested in:

http://wordpress.org/extend/ideas/topic.php?id=3524

{{{
# BEGIN WordPress
RewriteEngine on
RewriteBase /

RewriteRule \.(gif|jpe?g|png|css|js|ico)$ - [NC,L]

RewriteCond %{REQUEST_FILENAME} -f [OR]
RewriteCond %{REQUEST_FILENAME} -d
RewriteRule ^ - [L]

RewriteRule . /index.php [L]

# END wordpress
}}}

",Denis-de-Bernardy
Needs Milestone,14789,Inconsistency in 'all' hook invocation,,General,3.0.1,normal,normal,Awaiting Review,defect (bug),reviewing,has-patch,2010-09-07T01:41:33Z,2011-03-21T11:36:19Z,"The 'all' hook (catchall hook for any hook name) is getting inconsistently called depending on how the concrete hook is being invoked: by apply_filters, apply_filters_ref_array, do_action or do_action_ref_array.

In the simple cases (apply_filters, do_action), the hook will get all parameters passed, in the ..._ref_array cases, the hook will get only two parameters passed in which the first parameter is the name of the hook (a.k.a. tag) and the second parameter is an array of all other parameters.

Every 'all' hook-function-callbacks should be called in the same way regardless whether which of the four invocation functions have been used on that pointcut.

Additionally all four routines share a lot of the same code which could benefit of a refactoring.",hakre
Needs Milestone,16916,make_clickable() and URI in context,,General,3.1,normal,normal,Awaiting Review,defect (bug),new,,2011-03-21T15:56:00Z,2011-03-21T15:56:00Z,"I just stumbled over [http://tools.ietf.org/html/rfc3986#appendix-C Appendix C.  Delimiting a URI in Context] and was wondering if this has been taken into account for the make_clickable() routine so far.

Looks like <> angle brackets are  especially recommended as a delimitier.

IIRC we ingore it so far, would be nice to support the RFC.",hakre
Consider for Next Major Release (has-patch),10831,Autoupgrade: Synchronous FTP client fails while plugin upgrade/installation (on some systems),dd32,Filesystem,2.8.4,normal,normal,Future Release,defect (bug),reviewing,has-patch,2009-09-23T15:52:29Z,2011-03-22T00:46:45Z,"Decription here
http://wordpress.org/support/topic/288093

Apache/2.2.13 (Unix) DAV/2 mod_ssl/2.2.13 OpenSSL/0.9.8k configured

PHP 5.2.10 with Suhosin-Patch 0.9.7 (cli) (built: Jul 14 2009 11:56:54)

pure-ftpd-1.0.22-1

I solved by changing some lines of code in class-ftp-sockets.php 
(_exec and _readmsg)

Below the patch:
http://darkman.it/x/class-ftp-sockets.patch
",darkman82
Needs Milestone,16882,Add support for fetching comments posted since a specific date,,Comments,3.1,normal,normal,Awaiting Review,enhancement,new,has-patch,2011-03-17T21:08:51Z,2011-03-22T14:30:12Z,"Adding a ""since"" option to wp.getComments and get_comments() could help reducing bandwidth used by mobile apps.

Probably useful for themes/plugins too",koke
Consider for Next Major Release (has-patch),8593,HTTP_HOST being manipulated improperly for redirects,markjaquith,Canonical,,normal,normal,Future Release,defect (bug),new,has-patch,2008-12-12T16:37:23Z,2011-03-22T14:49:41Z,"When redirecting a hit to the proper URL, WordPress makes some bad assumptions. Specifically, during redirects, any port information provided by the client is dropped. If I go to http://example.com:80/, I get redirected to http://example.com/. If I go to https://example.com:443/, I get redirected to https://example.com/.

Thus far, no problem has occurred because we are on on server that uses default ports. However, lets say my web server is running http on 8080 and https on 8443. Now when I go to http://example.com:8080/ and get redirected to http://example.com/, it fails. As a workaround, you can change the following settings:
WordPress address: http://example.com:8080/
Blog address: http://example.com:8080/

While this clears up the problem for http requests, you will not be able to use https becuse and attempt to go to https://example.com:8443/ now redirects to https://example.com:8080/ and it fails because the server does not speak ssl on 8080.

Additionally, when you have an https proxy in front of your web server such as pound (with http on port 80 and https on port 8443), you run into another problem caused by this same bug. In this situation if you attempt to go to https://example.com/, the proxy server accepts the request and then on the back end makes a none ssl connection to apache. Good so far, but in order to not make any assumptions, the proxy server tells apache that the request was for 'https://example.com:443/' and apache sets HTTP_HOST (very appropriately) to example.com:443. WordPress sees this request and redirects it to 'https://example.com/' by responding to the web browser with a 'Location:' header. Thus the browser sends another request for 'https://example.com/' and starts the whole process over again resulting in an infinite redirect.

As specifying a port is completely valid, this is a clear case of WordPress not handling things appropriately.",revmj
Consider for Next Major Release (has-patch),16895,wp_list_pluck cannot be used with arrays of references,,General,3.1,normal,normal,Future Release,enhancement,new,has-patch,2011-03-19T11:47:37Z,2011-03-22T16:54:44Z,"Example code:

{{{
$one = array('num' => 1);
$two = array('num' => 2);
$input = array( &$one, &$two );

$nums = wp_list_pluck($input, 'num');

var_dump($nums, $input);
}}}

Example output:
{{{
array
  0 => &int 1
  1 => &int 2
array
  0 => &int 1
  1 => &int 2
}}}
Expected output:
{{{
array
  0 => int 1
  1 => int 2
array
  0 => &
    array
      'num' => int 1
  1 => &
    array
      'num' => int 2
}}}

This is caused by wp_list_pluck using the same variable name for the input array, and then overwriting it for the return.

One such real life example, is $wp_query->comments

See patch",dd32
Needs Milestone,16943,Code Cleanup add_query_arg() + friends,,General,3.1,normal,normal,Awaiting Review,enhancement,new,needs-unit-tests,2011-03-23T05:41:22Z,2011-03-23T07:11:27Z,"This should reduce the complexity of add_query_arg() a bit.

This is partially related to PHP 5 stuff (#16918,#16920) we can make use of now.

Originated in #16932 

Related: #16942",hakre
Needs Milestone,16945,Add relative URIs containing a query in esc_url(),,General,3.1,normal,normal,Awaiting Review,enhancement,new,has-patch,2011-03-23T06:37:36Z,2011-03-23T08:18:14Z,"I'd like to enhance the esc_url function to accept an url starting with ? (query) to not require a protocol.

That's comparable with the # (fragment) case we already have in.

This is useful to create links to the current page that need a query only. Otherwise the php file must be added and for frontend pages it won't work with pretty permalinks.",hakre
Needs Milestone,16745,doubled replace in setup_postdata,,General,3.1,normal,normal,Awaiting Review,enhancement,new,has-patch,2011-03-04T11:36:53Z,2011-03-23T14:12:14Z,One less to go. Could be array'ed as well. Found in http://wordpress.stackexchange.com/questions/8031/is-it-necessary-to-use-wp-reset-query-in-a-wp-query-call,hakre
Consider for Next Major Release (has-patch),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
Consider for Next Major Release (has-patch),12432,River of comments in the Recent Comments dashboard module,garyc40,Administration,,normal,normal,Future Release,enhancement,assigned,has-patch,2010-03-01T00:23:32Z,2011-03-23T17:24:45Z,"See #11891, the 3.0 effort.

Upgrade the Recent Comments dashboard widget to pull in the 'river of comments' instead of only displaying the configured value (which winds up empty if you delete or spam those 5).",nacin
Consider for Next Major Release (has-patch),16938,list_files() refactoring,,General,3.1,low,normal,Future Release,enhancement,reviewing,close,2011-03-22T21:08:35Z,2011-03-23T19:34:13Z,I was taking a look into list_files(). I've seen that older code (Related: #16937) that's handling false and then false again and so on which can be just reduced + some clean-ups.,hakre
Consider for Next Major Release (has-patch),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
Needs Milestone,16907,Redirecting w/o using wp_redirect();,,General,3.1,normal,normal,Awaiting Review,defect,new,has-patch,2011-03-20T22:00:28Z,2011-03-23T20:38:20Z,Some places in worpdress core do not make use of the wp_redirect() function.,hakre
Consider for Next Major Release (has-patch),15782,Consolidate header Javascript,,Administration,3.1,normal,normal,Future Release,enhancement,new,has-patch,2010-12-12T05:45:53Z,2011-03-24T08:48:43Z,"As a followon to #15781

Currently there is a block of Javascript required on all admin pages, this is stored directly within admin-header.php, and iframe_header(). Unfortunately, when someone changes/adds code to one, the other is not always updated.

This inline Javascript should be moved to a function and printed on a header action in order to reduce code duplication and prevent future issues.",dd32
Consider for Next Major Release (has-patch),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
Needs Milestone,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
Needs Milestone,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
Consider for Next Major Release (has-patch),14305,Display file for localized versions as Drop-in,nacin,General,,normal,normal,Future Release,enhancement,reviewing,has-patch,2010-07-14T09:08:03Z,2011-03-26T08:37:42Z,"Localization teams can use special files (for example cs_CZ.php) to handle special problems. This file should be shown on Plugins page, probably as Drop-in, I guess...",pavelevap
Needs Milestone,16976,Don't use photo as avatar class in comments,,Comments,3.1,normal,normal,Awaiting Review,defect (bug),new,dev-feedback,2011-03-27T00:54:44Z,2011-03-27T01:07:30Z,"If you use an image in your post with class 'photo' to show it in Google's search results as a rich snippet is not possible if you make use of avatars in your comments. Google will pick the last class 'photo' image on the page to show as the search result.

Suggestion is to change the avatar class in comments to from 'photo' to 'comment-photo'. A post image is more important than a comment avatar to use for rich snippets.",Okoth1
Consider for Next Major Release (has-patch),16983,Pass $sep to 'wp_title_rss' filter,,Feeds,,normal,normal,Future Release,enhancement,new,commit,2011-03-27T21:11:14Z,2011-03-27T21:11:14Z,Same for 'get_wp_title_rss'.,scribu
Consider for Next Major Release (has-patch),16982,Deprecate post_permalink(),,General,,normal,minor,Future Release,enhancement,new,has-patch,2011-03-27T20:18:43Z,2011-03-28T06:10:47Z,"post_permalink() does nothing but call get_permalink() and already has a deprecated argument.

Let's deprecate it completely, since it's useless.",scribu
Needs Milestone,16963,wp_enqueue_script bug in ie8,,External Libraries,3.1,normal,normal,Awaiting Review,defect (bug),new,,2011-03-24T20:30:33Z,2011-03-28T19:41:42Z,"In IE 8, if you enqueue jQuery and scriptaculous, the prototype library will be included before jQuery. Because of this, jQuery will overwrite the $ method, and even though it runs noConflict() the variable is broken for both libraries. WP should be aware of this and sort the libraries for this situation. (jQuery should be first, then prototype)

Tested on WP 3.1 in IE 8 build 8.0.7601.17514",jkmassel
Needs Milestone,16942,Dead code in add_query_arg(),,General,3.1,normal,trivial,Awaiting Review,defect,new,commit,2011-03-23T02:15:56Z,2011-03-29T09:31:33Z,"As it just has been checked that $uri contains at least one ?, then exploding $uri on ? with a limit of 2 must return two elements, right?

{{{
	if ( strpos( $uri, '?' ) !== false ) {
		$parts = explode( '?', $uri, 2 );
		if ( 1 == count( $parts ) ) {
}}}

So the if clause can never be true, the code is dead.",hakre
Consider for Next Major Release (has-patch),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
Consider for Next Major Release (has-patch),16995,wp_notify_postauthor() pluggable behavior problem,,Mail,,normal,normal,Future Release,defect (bug),new,has-patch,2011-03-29T18:29:05Z,2011-03-31T04:25:05Z,"In my application  a notification must be issued even when an author comments on their own post; this is not allowed by the default WordPress implementation. Lines 1015 - 1025 in function wp_notify_postauthor reject the author's comments and moderations.
Since wp_notify_postauthor is a pluggable function, I can change this behavior by implementing my own function and replacing the default.

However, there is also a redundant test of post authorship in wp-includes/comment.php, function wp_new_comment, around lines 1344 - 1348. This means that my custom wp_notify_postauthor is never called. My specific problem can be solved by commenting out a line of code:

{{{
// $post = &get_post($commentdata['comment_post_ID']); // Don't notify if it's your own comment
}}}

A real fix for this problem should move all of the user_id validation rules out of wp_new_comment and put them in wp_notify_postauthor where they can be modified as needed.
",dglingren
Needs Milestone,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
Needs Milestone,17002,Pasting Large Amount of Text Through Paste-from-Word TinyMCE button leads to Whitescreen upon publishing,,General,3.1,normal,minor,Awaiting Review,defect (bug),new,reporter-feedback,2011-03-30T19:04:53Z,2011-04-01T16:58:15Z,"I needed to paste a large MS Word document into a WordPress page, so I used the Paste-from-Word button on the Visual Editor to do so. When I tried to publish the page, I got a whitescreen with the URL /wp-admin/post.php

After testing the problem in various ways, I determined that the problem arose only when the amount of words in the page were more than 10,000. The page posted fine when there were fewer than 10,000 words.

Using WordPress 3.1, CommentPress Theme, Mac OS X 10.6.7, Chrome browser",mkgold
Needs Milestone,17015,wp_list_pages incorrect hierarchy when using include and sorting by title,,General,3.1,normal,minor,Awaiting Review,defect (bug),new,,2011-04-01T17:02:31Z,2011-04-02T04:12:21Z,"I am using wp_list_pages to create a page hierarchy. I only want the grandchildren of specific pages, so I generate a list of page IDs to send to wp_list_pages. I sort them by page title.  The hierarchy is not handled correctly when a grandchild's title sorts before its parent.

How it should come out:[[BR]]
About Us[[BR]]
 -Board of Directors[[BR]]
   --Annual Reports[[BR]]
 -FAQ[[BR]]
 -Initiatives[[BR]]
  --Ohio...[[BR]]
  --Reach[[BR]]

How it comes out:[[BR]]
About Us[[BR]]
 -Annual Reports[[BR]]
 -Board of Directors[[BR]]
 -FAQ[[BR]]
 -Initiatives[[BR]]
  --Ohio...[[BR]]
  --Reach[[BR]]

I've moved things around and verified that this sorts correctly:[[BR]]
About Us[[BR]]
 -Board of Directors[[BR]]
   --ZZZAnnual Reports[[BR]]
 -FAQ[[BR]]
 -Initiatives[[BR]]
  --Ohio...[[BR]]
  --Reach[[BR]]

If one grandchild has a sort order above its parent, all the grandchildren are pulled above the parent in the hierarchy. For example:[[BR]]
About Us[[BR]]
 -Board of Directors[[BR]]
   --ZZZAnnual Reports[[BR]]
 -FAQ[[BR]]
 -AAAAOhio...[[BR]]
 -Reach[[BR]]
 -Initiatives[[BR]]",JohnColvin
Needs Milestone,16909,some Location headers are using relative url's (2),,General,3.1,normal,normal,Awaiting Review,defect,new,,2011-03-21T00:25:26Z,2011-04-02T13:24:37Z,"I started this in #14062 and already did some fixes for 3.1.

Just collecting some more and providing patches.",hakre
Needs Milestone,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
Needs Milestone,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
Needs Milestone,17023,add hook for media_upload_library_form(),,Media,,normal,normal,Awaiting Review,enhancement,new,has-patch,2011-04-02T17:19:35Z,2011-04-02T18:24:05Z,"The ""Media Library"" tab of the Upload Media dialog includes a date filtering dropdown.  The query which populates it returns only month/year combinations in which attachments were uploaded.  However, that query is not filterable.

Plugins which filter backend access to attachments via standard WP_Query hooks need a way to make the month/year dropdown match those filtered results.

The corresponding patch adds query filter 'media_upload_year_month_query'
",kevinB
Needs Milestone,14757,users with no posts are not exported,,Export,3.0.1,normal,normal,Awaiting Review,enhancement,reopened,dev-feedback,2010-09-01T18:14:31Z,2011-04-02T19:49:19Z,"I just exported a large standalone site and imported into a multisite setup, and I discovered that a number of users who hadn't yet posted anything didn't get moved to the new site.",sillybean
Needs Milestone,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
Consider for Next Major Release (has-patch),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
Consider for Next Major Release (has-patch),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
Needs Milestone,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
Consider for Next Major Release (has-patch),10832,Allow  different query paramter on suggest.js,azizur,JavaScript,,normal,normal,Future Release,enhancement,reviewing,has-patch,2009-09-23T16:45:34Z,2011-04-04T09:27:21Z,"The current suggest.js defaults to the ""q"" parameter for the query string.

This patch allows the user to define another parameter. If no parameter is defined, the script will default to ""q"".",yoavf
Needs Milestone,17010,Inconsistent handling of HTTP response codes,,HTTP,3.1,normal,normal,Awaiting Review,defect (bug),new,dev-feedback,2011-04-01T00:00:13Z,2011-04-06T00:20:04Z,"I noticed during some testing to see what would happen if a server returned a 404 when streaming to a file,and found some inconsistent handling of response codes between transports.

The below test checks to see if the transport returns a WP_Error or if it returns an actual response. If the second column is an integer matching the first column then the transport returned a response, if the second column is 'wp_error' then the transport returned WP_Error for that response code.

STREAMS:
{{{
100 => 100
101 => 101
102 => 102
200 => 200
201 => 201
202 => 202
203 => 203
204 => 204
205 => 205
206 => 206
207 => 207
226 => 226
300 => 300
301 => 301
302 => 302
303 => 303
304 => 304
305 => 305
306 => 306
307 => 307
400 => 400
401 => 401
402 => 402
403 => 403
404 => 404
405 => 405
406 => 406
407 => 407
408 => 408
409 => 409
410 => 410
411 => 411
412 => 412
413 => 413
414 => 414
415 => 415
416 => 416
417 => 417
422 => 422
423 => 423
424 => 424
426 => 426
500 => 500
501 => 501
502 => 502
503 => 503
504 => 504
505 => 505
506 => 506
507 => 507
510 => 510
}}}

FSOCKOPEN:
{{{
100 => 100
101 => 101
102 => 102
200 => 200
201 => 201
202 => 202
203 => 203
204 => 204
205 => 205
206 => 206
207 => 207
226 => 226
300 => 300
301 => 301
302 => 302
303 => 303
304 => 304
305 => 305
306 => 306
307 => 307
400 => wp_error
401 => wp_error
402 => wp_error
403 => wp_error
404 => wp_error
405 => wp_error
406 => wp_error
407 => wp_error
408 => wp_error
409 => wp_error
410 => wp_error
411 => wp_error
412 => wp_error
413 => wp_error
414 => wp_error
415 => wp_error
416 => wp_error
417 => wp_error
422 => wp_error
423 => wp_error
424 => wp_error
426 => wp_error
500 => 500
501 => 501
502 => 502
503 => 503
504 => 504
505 => 505
506 => 506
507 => 507
510 => 510
}}}

EXTHTTP:
{{{
100 => wp_error
101 => wp_error
102 => wp_error
200 => 200
201 => 201
202 => 202
203 => 203
204 => 204
205 => 205
206 => 206
207 => 207
226 => 226
300 => 300
301 => 301
302 => 302
303 => 303
304 => 304
305 => 305
306 => 306
307 => 307
400 => 400
401 => 401
402 => 402
403 => 403
404 => 404
405 => 405
406 => 406
407 => 407
408 => 408
409 => 409
410 => 410
411 => 411
412 => 412
413 => 413
414 => 414
415 => 415
416 => 416
417 => 417
422 => 422
423 => 423
424 => 424
426 => 426
500 => 500
501 => 501
502 => 502
503 => 503
504 => 504
505 => 505
506 => 506
507 => 507
510 => 510
}}}

CURL:
{{{
100 => wp_error
101 => wp_error
102 => wp_error
200 => 200
201 => 201
202 => 202
203 => 203
204 => 204
205 => 205
206 => 206
207 => 207
226 => 226
300 => 300
301 => 301
302 => 302
303 => 303
304 => 304
305 => 305
306 => 306
307 => 307
400 => 400
401 => 401
402 => 402
403 => 403
404 => 404
405 => 405
406 => 406
407 => 407
408 => 408
409 => 409
410 => 410
411 => 411
412 => 412
413 => 413
414 => 414
415 => 415
416 => 416
417 => 417
422 => 422
423 => 423
424 => 424
426 => 426
500 => 500
501 => 501
502 => 502
503 => 503
504 => 504
505 => 505
506 => 506
507 => 507
510 => 510
}}}

We need to define when we want to return a WP_Error, if ever.  I am thinking that returning a WP_Error is not very useful if we get a response from the server.  The response codes tested were obtained from get_status_header_desc().",sivel
Consider for Next Major Release (has-patch),12760,Escaping shortcode conditionally,markjaquith,General,3.0,low,normal,Future Release,defect (bug),assigned,dev-feedback,2010-03-29T12:21:55Z,2011-04-07T00:11:32Z,"Using additional brackets is the official way to ""escape"" a shortcode. e.g. {{{[[escaped]]}}}

Using additional brackets {{{[[shortcode]]}}} in a post works only when the plugin (function) for this shortcode is active. When deactivated, additional brackets are shown in the post. It is annoying for many users, because editors sometimes test a plugin, write about it in a post with shortcode example and after some months this plugin is deactivated. Now there will be additional brackets, breaking their example code.

Input:

{{{[[shortcode_that_does_not_exist]]}}}

Expected output, regardless of whether that plugin is active:

{{{[shortcode_that_does_not_exist]}}}

Actual output, if plugin is not active:

{{{[[shortcode_that_does_not_exist]}}}

[edited by Mark Jaquith]",pavelevap
Needs Milestone,17071,wp_count_attachments() is not filterable,,Media,,normal,normal,Awaiting Review,enhancement,new,has-patch,2011-04-07T05:05:10Z,2011-04-07T05:12:06Z,"The Media Library attachments listing and edit links can be filtered via existing WP_Query and has_cap hooks. However, corresponding attachment counts are not cleanly filterable.",kevinB
Consider for Next Major Release (has-patch),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
Needs Milestone,17077,Page parent li elements in nav menus not always given current-page-parent class,,General,3.1,normal,trivial,Awaiting Review,defect (bug),new,,2011-04-07T09:53:45Z,2011-04-07T09:54:04Z,"Using a fresh WP3.1.1, 2010 theme, Theme Unit Test data, adding a navigation menu with Parent Page as an item without any child items and then navigating in the browser to Child Page 1.

The <li> for the parent menu item doesn't get assigned the current-page-parent class.

It does get the current-page-ancestor class, and none of my themes demand the current-page-parent class specifically so I've tagged this as trivial.",andymacb
Needs Milestone,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
Needs Milestone,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
Consider for Next Major Release (has-patch),16557,Ability to disable redirect_guess_404_permalink(),,Canonical,3.1,normal,minor,Future Release,enhancement,new,dev-feedback,2011-02-14T12:37:02Z,2011-04-08T11:29:36Z,"Can you make redirect_guess_404_permalink() pluggable or have its return value pass-through a filter so that developers can override it?

I know I can remove_filter('template_redirect', 'redirect_canonical') but redirect_canonical is too useful to be disabled. Only disabling URL guessing would be great.

Thanks a lot,

MK",msafi
Consider for Next Major Release (has-patch),15595,add_menu_page position conflict,,Plugins,3.1,normal,normal,Future Release,defect (bug),reopened,has-patch,2010-11-27T19:42:27Z,2011-04-08T17:42:57Z,"If add_menu_page() gets called more than once using the same value for $position, only one menu item is added while the other is overwritten.",vegasgeek
Needs Milestone,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
Needs Milestone,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
Consider for Next Major Release (has-patch),11697,Keep private posts in the admin area / Was: Make private posts a canonical plugin,,General,2.9,normal,normal,Future Release,defect (bug),assigned,has-patch,2010-01-02T21:33:21Z,2011-04-11T23:15:01Z,"Said Matt:
> Also, a lot of the complexity of private posts could be avoided by a relatively simple change: saying they're only viewable in the dashboard. (Which I think is close to how people use them already.)

----

There are quite a few tickets related to private posts that can be viewed by users who should, and even more tickets related to private comments that can be viewed by users who aren't authorized to view the post.

There also is at least one ticket that highlights a performance issue related to private posts.

http://core.trac.wordpress.org/search?q=private

Would it be an option to turn this into a canonical plugin and begone with the problems?",Denis-de-Bernardy
Consider for Next Major Release (has-patch),10384,Make IIS Permalink support enabled based on capability not on version number,westi,Permalinks,2.8,normal,normal,Future Release,enhancement,new,commit,2009-07-11T08:37:44Z,2011-04-12T00:19:13Z,"At the moment we enable the IIS permalink support based on checks for IIS7 and then some capabilities.

We should remove the version checking and work solely on capabilities so that we don't have to revisit when IIS8 is released.",westi
Consider for Next Major Release (has-patch),9959,wp_rel_nofollow_callback adds too many rel/nofollow attributes,junsuijin*,Comments,2.8,low,minor,Future Release,defect (bug),accepted,has-patch,2009-05-28T13:54:35Z,2011-04-13T20:57:31Z,"if you insert a link in a comment, like:


{{{
<a href=""foo"" rel=""bar nofollow"">
}}}

wp_rel_nofollow_callback() turns that into:

{{{
<a href=""foo"" rel=""bar nofollow"" rel=""nofollow"">
}}}

Here's a correct implementation of a strip_nofollow() function:

http://plugins.trac.wordpress.org/browser/sem-dofollow/trunk/sem-dofollow.php

We'd probably want to do the same in WP, and then reverse it: add rel=nofollow if no rel is present, and add a nofollow to the rel if it's not in there already.",Denis-de-Bernardy
Needs Milestone,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
Needs Milestone,17150,Atom category terms and labels,,Feeds,,normal,normal,Awaiting Review,enhancement,new,has-patch,2011-04-16T22:46:37Z,2011-04-16T22:46:37Z,"An [http://tools.ietf.org/html/rfc4287#section-4.2.2 Atom category] supports both machine-facing and human-facing text through its 'term' and 'label' attributes respectively. WordPress Atom template currently outputs category or tag name as the 'term' attribute. I would like to output the category or tag's slug as 'term' and its name as 'label'

Before:
<category scheme=""!http://wordpress.org/"" term=""Open Source"" />

After:
<category scheme=""!http://wordpress.org/"" term=""open-source"" label=""Open Source"" />

Attached is a patch for get_the_category_rss() inside wp-includes/feed.php. I constructed an associative array with slug as the key and name as the value. The slug column is a unique key on the terms table and can also be used to enforce uniqueness in the array.

A possible downside: it's possible two entry categories or tags might have the same name, which would produce two identical outputted lines in RSS 2.0 and RDF feeds while correcting the previous lossy behavior in the Atom feed.",niallkennedy
Needs Milestone,17170,Attachment slugs are not unique,,General,2.8,normal,normal,Awaiting Review,defect (bug),new,dev-feedback,2011-04-18T21:02:52Z,2011-04-18T21:02:52Z,"From wp_unique_post_slug() and #9726:

{{{
Attachment slugs must be unique across all types.
}}}

It's true that attachment slugs are checked for uniqueness against all other object types, however, when inserting an object of another type any uniqueness checks do not include attachments. This means that #9539 isn't actually fixed if you attempt the steps in the order described (insert attachment first followed by conflicting page).

Fix would be to add 'attachment' to the `post_type IN` clause for hierarchical types. See attachments-hierarchically-unique.diff.

Still puzzling out why/if attachments need to be unique against non-hierarchical types since there shouldn't be collisions as attachment URLs are subpage style. However, if attachment slugs do need to be globally unique then see attachments-globally-unique.diff (not tested so much).

Related: #9726, #9539, #6437, [11467]",duck_
Needs Milestone,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
Needs Milestone,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
Needs Milestone,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
Consider for Next Major Release (has-patch),16026,Stop using ereg() and eregi(),NorwayFun,External Libraries,,normal,minor,Future Release,enhancement,new,has-patch,2010-12-29T16:48:39Z,2011-04-23T23:59:46Z,"see attached file. ereg(), eregi() and so on deprecated functions was replaced by mb_ suffix ones. also, checker for set_magic_quotes_runtime
disabler for 5.2 and 5.3 series PHP included",NorwayFun
Consider for Next Major Release (has-patch),13235,Simplify and add filtering to call to display author for media,,Media,3.0,normal,normal,Future Release,enhancement,new,commit,2010-05-03T19:13:35Z,2011-04-25T16:03:53Z,"The author displayed on the media page (upload.php) is not filterable in any way currently. This patch adds a filter for the author ('media_author'). Perhaps more filters should be added for other fields, but at the least I would like to add this filter.",sbressler
Needs Milestone,15237,Settings -> Permalinks blank on PHP 5.3.2,,Permalinks,3.0,normal,major,Awaiting Review,defect (bug),new,,2010-10-28T12:30:07Z,2011-04-26T13:34:11Z,"I've setup a brand new wordpress with a fresh db for testing this.

To replicate this, install WordPress in an environment with PHP 5.3.2: 

# run through the standard installation
# login
# click Settings -> Permalinks
# Observe the bleak, white, cold content area looking back at you

Works fine in this scenario when I revert to PHP Version 4.4.9.

I tried enabling debug mode, then in php.ini setting display_errors = On and ERROR_REPORTING = E_ALL but still couldn't view any output on the page in question.

I'm attaching the phpinfo for the broken setup to this bug.",EdwardIII
Consider for Next Major Release (has-patch),8885,get_posts() should default orderby post_date_gmt,,Optimization,2.7,normal,normal,Future Release,defect (bug),new,has-patch,2009-01-19T13:03:12Z,2011-04-27T17:40:37Z,"the function get_posts() in posts.php is defaulted to orderby post_date.  The problem with this is if entries are added in differing timezones (e.g., I changed my system timezone after x number of posts have been made), then the sorting is incorrect.  Since post_date_gmt is correct despite the timezone you are in, sorting based on this should be the default behavior.",caorongjin
Consider for Next Major Release (has-patch),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
Needs Milestone,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
Consider for Next Major Release (has-patch),11566,clean_comment_cache() does not clean $GLOBALS['comment'],,Comments,2.9,normal,normal,Future Release,defect (bug),new,has-patch,2009-12-22T21:18:23Z,2011-04-28T22:55:15Z,"I am trying to add links to comment list, which will allow to delete comments directly without need to move them to trash first (and with trash enabled). For posts/pages I found working workaround: hook `trashed_post` and `call wp_delete_post()` again from. 

Unfortunately similar approach for comments does work. As I checked, `wp_trash_comment()` calls `get_comment()`. The latter function implements simple comments cache using `$GLOBALS['comment']`. When you change comment status to `trash`, `wp_set_comment_status()` clears cache by calling `clean_comment_cache()`, but it leaves that global set. As a result my workaround does not work. 

I think that `clean_comment_cache()` should clear that global too.",sirzooro
Needs Milestone,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
Needs Milestone,17337,wp_old_slug_redirect() fails with multiple post_type query,,Canonical,3.1,normal,normal,Awaiting Review,defect (bug),new,,2011-05-06T10:36:19Z,2011-05-06T10:36:19Z,"If I have a query something like this:

{{{
[query_vars] => Array
        (
            [name] => panasonic-tv-review
            [post_type] => Array
                (
                    [0] => review
                    [1] => small_review
                )
        )
}}}

The new post slug is ""panasonic-250-tv-review"", and there is a `_wp_old_slug` meta key with the old slug. One would expect `wp_old_slug_redirect()` to kick in and do the redirect. However, `wp_old_slug_redirect()` will fail with a query with multiple post types, (looking at http://core.trac.wordpress.org/browser/trunk/wp-includes/query.php#L3494). This will knock the `$wpdb->prepare()` ass `$post_type` is now an array. 

I can write a patch for this if I can get the go ahead.",joehoyle
Needs Milestone,17340,Mark up script-loader.php versions for programmatic updating,,General,,normal,normal,Awaiting Review,enhancement,new,,2011-05-06T18:51:56Z,2011-05-08T14:51:36Z,"Whenever we update one of our dev CSS or JS files, we have to use YUI to re-minify them, and bump their version number in script-loader.php. The YUI part can be done programmatically, but it's not quite possible to bump the script-loader.php version numbers without manual intervention. If the number strings (yyyymmdd{optional-abcd suffix}) were marked up with PHP comments in a standardized way, we could automate that step as well.

Since any script would have the file name in hand, I propose the following:

{{{/*#wp-admin/css/wp-admin.dev.css#wp-includes/css/fake.dev.css*/'20110203b'}}}

That is, a PHP comment block that immediately starts with a hash (#) and is followed by one or more dev URLs that the version number applies to (multiple ones separated by another hash), and immediately followed by a version string enclosed in single quotes, in the format:

{{{/'([0-9]{4})([0-9]{2})([0-9]{2})([a-z]?)'/}}}",markjaquith
Consider for Next Major Release (has-patch),17020,Some comment queries are not filterable,,Comments,3.1,normal,normal,Future Release,enhancement,new,has-patch,2011-04-02T16:56:32Z,2011-05-09T23:21:46Z,"Although WP_Comment_Query::query() is fully filterable, some supplemental comment queries are still unfilterable.  The submitted patch adds the following hooks:

 * function get_approved_comments() - query filter 'get_approved_comments_query'

 * function wp_dashboard_recent_comments() - query filter 'dashboard_recent_comments_query'",kevinB
Needs Milestone,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
Consider for Next Major Release (has-patch),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
Consider for Next Major Release (has-patch),14363,Atom feed is broken when WordPress is served as application/xhtml+xml,,Feeds,3.0,normal,normal,Future Release,defect (bug),new,has-patch,2010-07-20T14:57:52Z,2011-05-10T18:54:37Z,"Atom feed is broken when WordPress is served as application/xhtml+xml because of the difference in html_type_rss().

The patch attached also deprecates the_excerpt_rss() with a new function called 'the_excerpt_feed'.",peaceablewhale
Needs Milestone,17374,get_pages() with child_of forgets sort,,General,3.1.2,normal,normal,Awaiting Review,defect (bug),new,,2011-05-11T10:06:17Z,2011-05-11T10:06:17Z,"If you call {{{get_pages()}}} with both the {{{child_of}}} and {{{sort_column}}}, the sorting is not applied.

{{{child_of}}} makes it select all pages (sorted) and later applies a subselect via {{{get_page_children()}}}. This subselect can mess up the sort order.

An example was reported on http://wordpress.stackexchange.com/questions/16921/get-pages-not-ordering-as-it-should

Related: #12821",janfabry
Needs Milestone,16504,Faster maybe_unserialize,,General,3.1,normal,normal,Awaiting Review,enhancement,new,has-patch,2011-02-09T11:11:52Z,2011-05-11T11:46:49Z,"In #14429 many have taken care to optimize the is_serialized speed.

The function is of good general value and most often used to ""maybe"" unserialize.

It was [http://core.trac.wordpress.org/ticket/14429#comment:3 originally smabauers] who reminded that it's only about to check what it's about to check.

''Option values'', if serialized are only serialized Array, Objects or Strings. No exceptions. And they are ''always trimmed'' strings.

As is_serialized() is of general use and might be used by plugin authors, maybe_unserialize can get a new playmate.",hakre
Needs Milestone,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
Consider for Next Major Release (has-patch),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
Needs Milestone,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
Needs Milestone,17388,Distraction free writing mode submit button text,,Editor,3.2,normal,normal,Awaiting Review,enhancement,new,,2011-05-12T12:11:09Z,2011-05-12T12:11:09Z,"The text on the submit button in distraction free writing mode should match that of the submit button on the main editing screen. Currently it always says ""Update"" for published posts, and ""Save"" for other statuses. It should say ""Save Draft"", ""Save as Pending"" etc when relevant (and change when you change the post status dropdown too).",johnbillion
Consider for Next Major Release (has-patch),9930,is_serialized() returns false on serialized doubles,westi,General,,normal,minor,Future Release,defect (bug),reopened,has-patch,2009-05-24T17:23:43Z,2011-05-12T13:32:36Z,"Test case:

{{{
<?php
    require_once('wp-load.php');
    print var_export(is_serialized(serialize(1.2E+150)));
?>
}}}

Expected: true
Got: false

serialize(1.2E+150) returns something like 'd:1.200000000000000013344651621705194036153934411236609269391465806550823148718924258603522328009361549E+150;', the plus sign after 'E' is not taken into account by the regexp",vladimir_kolesnikov
Needs Milestone,17409,Entity &amp; in menu title breaks XHTML 1.0 Strict validation,Florian,Menus,3.1.2,normal,normal,Awaiting Review,defect (bug),new,,2011-05-13T05:44:03Z,2011-05-13T05:44:03Z,"If i use &amp; in the menu title and use $my_menu =  wp_get_nav_menu_items(""my_menu"") and loop with foreach($my_menu as $menu_item) and connect for building the Menu on $menu_item->title, then an &amp; in the page title or on the menu navigation label is convertet to a simple &, witch returns the validation error ""xmlParseEntityRef: no name"".",Florat
Consider for Next Major Release (has-patch),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
Needs Milestone,17442,CSS selector #wpadminbar * overwrites accessibility generic selectors like screen-reader-text,,General,3.2,normal,normal,Awaiting Review,defect (bug),new,,2011-05-15T10:42:59Z,2011-05-15T12:52:23Z,"I just was looking to update one of my plugins for 3.1/3.2 making use of the new admin bar.

My plugin makes use of the `.screen-reader-text` CSS class but it is overwritten in the admin-bar by `#wpadminbar *`",hakre
Needs Milestone,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
Needs Milestone,17445,Give a speed kick to combined is_serialized() + is_serialized_string() + maybe_unserialize() usage,,General,3.2,normal,normal,Awaiting Review,defect (bug),new,,2011-05-15T14:13:18Z,2011-05-15T21:14:14Z,"In #17129 is_serialized_string() has been speed up by 23%. That was for the function itself.

However, that function is used in contexts that make the call to is_serialized() directly or indirectly via maybe_unserialize().

Most often these calls are redundant and must not be done at all.

If preconditions are already met, is_serialized_string() can be replaced with a simple check for the 's' or 'S' format and maybe_unserialize() can be replaced with @unserialize($data) as that's the code executed in maybe_unserialize() when is_serialze() had returned true on $data;",hakre
Needs Milestone,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
Needs Milestone,17455,Add $post_type argument to get_lastpostdate/get_lastpostmodified/_get_last_post_time,,General,,normal,normal,Awaiting Review,enhancement,new,has-patch,2011-05-16T15:05:59Z,2011-05-16T16:00:05Z,As title says. You can currently use these functions to only get the latest [modification] date of all publicly queryable content types.,duck_
Needs Milestone,17460,WP Updates througth SSH Script,bugdev,Administration,3.2,normal,normal,Awaiting Review,feature request,new,dev-feedback,2011-05-16T19:57:14Z,2011-05-16T20:45:56Z,"The current WP Update engine is very unsecure, because if there is a webserver issue or a connection timeout, memory overflow, connection issue than the wordpress update is corruptes.

More secure the update will be if we can do/execute a php script or ssh script througth the terminal, what also gives advanced informations about update errors ect.",bugdev
Needs Milestone,17472,wp_redirect() should return true on success,draca,General,3.1.2,normal,minor,Awaiting Review,defect (bug),new,has-patch,2011-05-17T12:56:39Z,2011-05-17T15:40:11Z,"Ticket #3250 added the ability for a filter to cancel a redirect request and returns false in that event.

On success, there is no return value specified so the function returns NULL per the PHP spec.  A value of true should be returned so that logic such as the following can be used:


{{{
if (! wp_redirect($redirect_url)) {
  // Handle redirect failure
}
}}}
",draca
Needs Milestone,17482,"Formalize a list of ""Object Types""",,General,,normal,normal,Awaiting Review,enhancement,new,dev-feedback,2011-05-17T23:19:14Z,2011-05-18T00:00:17Z,"I'm finding a need to use a defined list of object types for numerous things including for [http://core.trac.wordpress.org/ticket/14513#comment:77 object relationships], term relationships that relate taxonomy terms to something other than a post, data entry forms, and I am sure there are more than just these requirements ''(An ""object"" is anything in WordPress for which we can identify a name and a unique ID form the database, i.e. `$post->ID`, `$user->ID`, `$term->term_id` and so on.)''

While thinking about it this seems to be something that would be valuable to include core so I am proposing and submitting a patch for their potential inclusion.  If this is ''not'' something that the team would want to include then I'll simply incorporate them into my own code but I wanted to make sure that the team wouldn't want to include them into WordPress core instead.",mikeschinkel
Needs Milestone,17525,There should be a datetime_format option to specify whether the date or the time comes first,,General,,normal,normal,Awaiting Review,feature request,new,,2011-05-20T20:09:11Z,2011-05-20T20:09:11Z,"As a theme author it would be very useful to have a global option for formatting a full datetime (and a the_datetime() function too).

Sometimes datetimes are formatted ""$date $time"", sometimes it's ""$time $date"", sometimes it's even ""$date at $time"".

I think there should be an option for this in the general settings alongside the date and time format options.",holizz
Needs Milestone,17517,wpLink should show tags and categories as results too,,Administration,3.2,normal,normal,Awaiting Review,enhancement,new,,2011-05-19T19:38:36Z,2011-05-21T12:06:36Z,"sometimes you make a series of blogpostings about a topic with one unique tag. 

wpLink (the link assistant in wp 3.1) is very useful for finding ""old"" content, but when you want to link a tag or category you have to type in the url yourself or paste it

Possible solution:

Tabbed interface:
Tab 1 for Posts/pages
Tab 2 Tags/categories",hebbet
Consider for Next Major Release (has-patch),16793,Bulk inline post edit doesn't show categories or tags if the CPT doesn't support titles,,Administration,,normal,normal,Future Release,defect (bug),reopened,has-patch,2011-03-07T23:24:56Z,2011-05-22T17:04:59Z,"1. Register a CPT that doesn't support titles:

{{{
add_action( 'init', function() {
	register_post_type( 'foo', array(
		'show_ui' => true,
		'label' => 'Foo',
		'supports' => array( 'editor' ),
		'taxonomies' => array( 'category', 'post_tag' )
	) );
} );
}}}

2. Create a 'foo' post.

3. Go to wp-admin/edit.php?post_type=foo and choose the 'Edit' bulk action.

Expected behaviour: shows the category checkbox list and the tag textarea.

Actual behaviour: only the status dropdown is shown.
",scribu
Needs Milestone,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
Needs Milestone,17542,Remove upload file after deleting custom background,,Administration,,normal,normal,Awaiting Review,enhancement,new,has-patch,2011-05-23T08:49:25Z,2011-05-23T14:40:13Z,"I came across a comment on custom-background.php that says 
//@todo: uploaded files are not removed here.

So, I thought I will come up with this codes for the upload file deletion if user remove background.

Attached custom-background.diff

I had tested on my localhost.

Hope this contribution is useful.

Thanks.",denzel_chia
Needs Milestone,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
Needs Milestone,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
Consider for Next Major Release (has-patch),17221,Adopt a selected page hierarchy to a custom menu,,Menus,3.1,normal,normal,Future Release,enhancement,new,has-patch,2011-04-23T11:14:12Z,2011-05-26T15:40:33Z,"I don't know if this is a bug or a FR but I think it would be handy to have a option that when you make a costum menu that the parent and child pages stay in order. In other words: when you made a game page as parent and WoW as childpage that when you add those two pages at the costum menu editior that is automatic orderend as the parent child page

ps: sorry for bad english",JonezJeA
Needs Milestone,17635,Themes page should have search subtitle,,Administration,3.2,normal,normal,Awaiting Review,defect (bug),new,,2011-06-01T12:15:05Z,2011-06-01T14:26:16Z,"Most admin pages display the term that the user has searched for when displaying search results, but the Themes page (under site admin) doesn't.

[16525] seems to have excluded it in the AJAXified list tables, but gives no reasoning.",kawauso
Needs Milestone,17642,hook for category edit needed,cardy_web,Administration,3.1.2,normal,normal,Awaiting Review,enhancement,new,dev-feedback,2011-06-01T16:44:50Z,2011-06-01T16:44:50Z,"I think is needed an hook inside admin-ajax.php (line 1226) case 'inline-save-tax'
When you use ""quick edit mode"" to edit category no hooks get involved so function hooked into {action}_category are never called.
Instead everything work well using classic edit mode",cardy_web
Consider for Next Major Release (has-patch),15148,Cron Storage Abstraction,,Cron,,normal,normal,Future Release,enhancement,new,has-patch,2010-10-19T04:04:00Z,2011-06-02T07:03:36Z,Abstract cron storage to allow pluggable storage schemes.,ryan
Needs Milestone,17675,Masked Domain Issue Introduced with New Update,,Administration,3.1.3,normal,normal,Awaiting Review,defect (bug),new,reporter-feedback,2011-06-03T18:09:03Z,2011-06-03T19:59:41Z,"Hi,

I'm experiencing an issue accessing my wp-admin login page, only when using a masked domain.

My root setup is configured as so:
http://rootdomain.com/othersite/wordpress/

The domain I'm using to access it is located here:
http://redirect.com

When I use the root domain to access the login page directly, there's no problem.  But, when I go to http://redirect.com/wp-admin, or click on any login links while at the redirect.com site, the page doesn't load.  The title bar will load, but nothing else.

This is a new issue introduced with the 3.1.3 update.  The masked domain was working prior to 3.1.3.

I've tried this both on Safari & Firefox (latest versions), using Mac OS X.",ital_dj
Consider for Next Major Release (has-patch),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
Consider for Next Major Release (has-patch),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
Needs Milestone,17714,Comment/pingback handlers don't check whether the post type supports comments,,Comments,3.1,normal,normal,Awaiting Review,defect (bug),new,dev-feedback,2011-06-07T06:09:02Z,2011-06-07T06:17:45Z,"wp-comments-post and XML-RPC don't check post type support for comments before accepting them - I think they should. We can't rely solely on `$post->comment_status` because that may not always be set to ""closed"" even if the post type doesn't support comments (see also #13473)

Maybe we could add a check to `comments_open()`?",solarissmoke
Needs Milestone,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
Needs Milestone,16944,Add new 'bynetworkuser' CSS class to output from comment-template.php,,Comments,,normal,normal,Awaiting Review,enhancement,new,has-patch,2011-03-23T06:28:46Z,2011-06-08T05:23:43Z,"Currently, the comment-template.php file checks to see whether a comment author is in the wp_user table.

If they are, then WordPress will emit a 'byuser' class as part of the comment div markup.

However, this behaviour is not ideal from multisite installations. 'byuser' should be restricted on a per-blog basis.

I propose that the current behaviour be assigned to a new CSS class, 'bynetworkuser'.",jacques_chester
Needs Milestone,16805,default 'from' hostname,,Mail,3.1,normal,normal,Awaiting Review,defect (bug),new,close,2011-03-09T15:11:39Z,2011-06-08T15:27:33Z,"The logic used to create the hostname portion of default e-mail address when calling wp_mail doesn't make sense.

Lines 384-392 of wp-includes/pluggable.php read:
{{{
	if ( !isset( $from_email ) ) {
		// Get the site domain and get rid of www.
		$sitename = strtolower( $_SERVER['SERVER_NAME'] );
		if ( substr( $sitename, 0, 4 ) == 'www.' ) {
			$sitename = substr( $sitename, 4 );
		}

		$from_email = 'wordpress@' . $sitename;
	}
}}}

We assume that if www. is in the sitename that it is not part of the e-mail address. I reviewed a few RFCs and have not found where 'www.' is prohibited from the hostname portion of an e-mail address. I concede that john.smith@ www.sitename.com is now common, but it is still a legal name.

Additionally, if the $_SERVER[ 'SERVER_NAME' ] is a sub-domain such as blogs.sitename.com the e-mail is going to send from john.smith@ blogs.sitename.com.

For consistency I suggest we either remove all nth level domain names above the first or remove none. This way it will be more obvious when people need to use the wp_mail_from filter and not just appear to be random.",lonnylot
Needs Milestone,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
Needs Milestone,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
Needs Milestone,17857,WP_Embed - Split shortcode() function into two for increased flexibility,,Media,2.9,normal,normal,Awaiting Review,enhancement,new,has-patch,2011-06-21T01:52:41Z,2011-06-21T03:33:55Z,"Currently, the WP_Embed class is restricted to posts; it takes a post ID as a parameter and checks the post meta table.

What I'd like to propose is to apply a filter to the post ID and split WP_Embed::shortcode() into two functions (at http://core.trac.wordpress.org/browser/trunk/wp-includes/media.php#L1177).

In a nutshell, let the link parsing be one function and if the link is oEmbed-worthy send it to the second function for parsing.  The second function could then be easily extended for usage in 3rd-party plugins not using WP posts (like BuddyPress).

Also, the patch checks the URL against each registered WP oEmbed provider's URL scheme if oEmbed discovery is false.  This is designed to prevent unnecessary external pinging of an oEmbed provider and avertible meta caching for failed attempts.  Andy Peatling primarily wrote this part of the code, which he sent to me awhile ago.

Attached patch is against r18324.",r-a-y
Consider for Next Major Release (has-patch),17862,The second argument for wp_notify_postauthor() is unnecessary,,Comments,,normal,normal,Future Release,enhancement,new,has-patch,2011-06-21T17:04:39Z,2011-06-21T17:04:39Z,Only the comment id is needed. See patch.,scribu
Needs Milestone,16864,WP_Terms_List_Table doesn't call sanitize_term() on display,,Administration,2.9,normal,minor,Awaiting Review,defect (bug),new,has-patch,2011-03-16T12:54:07Z,2011-06-22T17:05:26Z,"Steps to reproduce:

Add this filter:

{{{
add_filter( 'category_slug', function() {
  return 'filtered';
} );
}}}

and go to {{{edit-tags.php?taxonomy=category}}}",scribu
Needs Milestone,17698,"Nav menu ""Add to menu"" buttons should be disabled if they're actually non-functional",koopersmith,Menus,3.0,normal,trivial,Awaiting Review,enhancement,reviewing,has-patch,2011-06-05T23:10:27Z,2011-06-22T17:15:41Z,"Nav menu ""add to menu"" buttons currently stay enabled, or enabled-looking, even if no .categorychecklist are checked or if no custom link URL is entered. We should dynamically specify whether that button is enabled or not, based on the options in that postbox.",mitchoyoshitaka
Needs Milestone,17725,wp_convert_hr_to_bytes() fails on large numeric values,,General,2.3,normal,normal,Awaiting Review,defect (bug),new,has-patch,2011-06-08T12:24:41Z,2011-06-22T17:17:36Z,"The {{{wp_convert_hr_to_bytes()}}} function exists to convert values in form of a memory setting into it's value in bytes.

By doing so, the function modifies the input value in every case. This modification has an issue with integer limits.

Whenever a value of $size is passed to the function that is in it's numerical part larger than [http://php.net/manual/en/reserved.constants.php PHP_INT_MAX], the input value will be capped to {{{PHP_INT_MAX}}}.

This is an integer overflow.

This applies as well when size has a shorthand ending specifier and it's numerical part is greater than PHP_INT_MAX.

To illustrate the problem on a 32 bit system:

{{{
	$setting = '2147483648';
	echo ""'$setting' are "", wp_convert_hr_to_bytes($setting), "" bytes.\n"";
	// '2147483648' are 2147483647 bytes.
}}}

It shows that the last byte is missing. Every other byte on top will be capped as well. The number of bytes given are a value equally to '2G'.

Solution: Input values should not be capped to int but to float which has allows higher values.",hakre
Consider for Next Major Release (has-patch),14157,wp-includes references should be wiped off,,General,,lowest,minor,Future Release,enhancement,new,dev-feedback,2010-06-30T14:54:49Z,2011-06-25T10:16:45Z,"I think all references to wp-includes should be wiped off and use the WPINC WP constant. This may allow for a future renaming of the wp-includes folder if needed.

E.g in script-loader.php:

$scripts->add( 'jquery-ui-core', '/wp-includes/js/jquery/ui.core.js', array('jquery'), '1.7.1' );

To:

$scripts->add( 'jquery-ui-core', '/' . WPINC. '/js/jquery/ui.core.js', array('jquery'), '1.7.1' );


",steak
Needs Milestone,17890,"""Add New Site"" screen reports invalid email addresses as missing",,Network Admin,3.1.3,normal,normal,Awaiting Review,defect (bug),new,has-patch,2011-06-25T11:32:41Z,2011-06-25T11:40:07Z,"The new site user's email is passed through `sanitize_email()` and the screen dies with 'Missing email address.' if it's `empty()`.

`sanitize_email()` returns an empty string (subject to filtering) on invalid email addresses however, so the following `is_email()` check for invalid email addresses is never even reached.

'''Steps to reproduce:'''
1. Add a new site with an email address such as foo@bar",kawauso
Needs Milestone,16934,Commented code in /wp-includes/canonical.php,,General,3.1,normal,normal,Awaiting Review,defect (bug),new,dev-feedback,2011-03-22T14:00:26Z,2011-06-25T18:57:57Z,"Timestamp: 10/16/08 19:17:04 (2 years) - Safe to remove this by now?

[9203]",hakre
Consider for Next Major Release (has-patch),11207,WordPress may display incorrect message when post is saved/published/etc,bsamrajni*,Administration,2.9,normal,normal,Future Release,defect (bug),accepted,has-patch,2009-11-20T20:23:23Z,2011-06-25T20:35:42Z,"When post is saved, WP calls `wp_insert_post_data` filter. Plugin can use it to change post status. But even post status has been changed via plugin, WP still displays message basing on action originally executed by user. Need to change this and take into account final post status too.",sirzooro
Needs Milestone,17859,Can't attach media to private posts,,Media,3.1,normal,normal,Awaiting Review,defect (bug),new,has-patch,2011-06-21T11:54:43Z,2011-06-27T14:58:10Z,"In the Media -page on the WordPress admin, one can attach unattached media to posts and pages.

However, the search does not show private posts, even with the master account.

Reproduce:
1. Upload media
2. Try to attach to a private post or page",knome
Consider for Next Major Release (has-patch),17905,Multisite doesn't delete a user's posts/links upon removal,,Multisite,3.0,normal,normal,Future Release,defect (bug),new,has-patch,2011-06-27T12:59:43Z,2011-06-27T17:06:44Z,"When the ""Delete all posts and links."" radio is selected all that happens is the user is deleted but their posts are left in tact but without a visible user. The posts should be moved to trash as well.

This is caused by removal from the blog in `network/edit.php` before the user is actually deleted where trashing of posts occurs. Since the user no longer has any assigned blogs wpmu_delete_user() doesn't call wp_delete_post().

Patch attached also cleans up confirm_delete_users slightly by using the array passed as an argument instead of $_POST['allusers'].

Related: [13918]",duck_
Needs Milestone,17913,Site-level comment options may override individual post settings. Improve communication.,,Comments,,normal,minor,Awaiting Review,enhancement,new,has-patch,2011-06-27T20:46:43Z,2011-06-27T20:46:43Z,"Post comments may be automatically closed for a  site's posts if site option 'close_comments_for_old_posts' is true and the post was published before 'close_comments_days_old' days ago. These two options are set in options-discussion and override the 'comment_status' of an individual post.

The edit posts screen's comment meta box displays comments open/close status, allowing publishers to open or close comments for a single post. It's possible the site-level discussion settings will override the individual post yet we still might display a different post comment status than the site settings allow.

1. Enable site-level option to close comments on articles ( wp-admin/options-discussion.php#close_comments_for_old_posts )
1. Enter a days value of 1 for maximum impact
1. Edit a post published over a day ago
1. View the Discussion meta box ( #commentstatusdiv )
1. Interact with the 'comment_status' field

I would like to better communicate expected failure and let the post author or editor know this particular setting has been overridden at the site options level. If the current user can manage options I might you could link to the override in the options page.

I created a new test blog, set comments to auto-close after a day, and checked allow comments in the post screen. I was wondering why comments_open() was false for the post when I was looking at a checked box on the post screen.",niallkennedy
Consider for Next Major Release (has-patch),17906,Refactor submit box code,,Administration,,normal,normal,Future Release,enhancement,new,has-patch,2011-06-27T13:27:34Z,2011-06-28T16:01:10Z,"The code for the post submit metabox is a mess. It should be cleaned up, so that changes such as #17028 can be done more easily.

Will post a patch shortly.",scribu
Needs Milestone,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
Consider for Next Major Release (has-patch),11200,Add count for approved comments filter,,Administration,,normal,normal,Future Release,enhancement,new,has-patch,2009-11-20T15:17:04Z,2011-06-29T17:28:19Z,"On wp-admin/edit-comments.php, Approved is the only filter that doesn't have a count after it.",scribu
Needs Milestone,17956,Edit all image sizes,,Media,3.2,normal,minor,Awaiting Review,enhancement,new,,2011-07-01T08:19:52Z,2011-07-01T08:19:52Z,"It would be nice that I could edit each image size seperatly instead of just ""all"", ""thumbnail"" ""all except thumbnail""",Horttcore
Needs Milestone,17296,Link Descriptions Are Truncated Without Notification,,General,3.1,normal,normal,Awaiting Review,defect (bug),new,dev-feedback,2011-05-01T03:04:09Z,2011-07-03T07:48:46Z,"When creating new links, or editing existing links, using the WordPress admin interface, link descriptions are truncated to 255 characters. This is because there is a 255 character limit defined in the link_description column in the wp_links database table.

Steps to reproduce:

1) Go to WP dashboard

2) Select Links > Add New from the menu.

3) Create a link with a description longer than 255 characters.

4) Go back to the link in the links interface; the description has been truncated.

Expected behavior:

1) The field should have a larger limit (perhaps 1024 characters?).

2) Even if we keep the limit at 255, the UI should prevent users from entering more than the limit, or notify them that the description they have entered will be truncated to the limit.

Thanks for your time!",achmafooma
Consider for Next Major Release (has-patch),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
Needs Milestone,18030,Die with HTTP status 403 forbidden when capability check fails in wp-admin,,Administration,,normal,minor,Awaiting Review,enhancement,new,has-patch,2011-07-07T22:42:29Z,2011-07-07T22:42:29Z,"The default HTTP status code of [http://core.trac.wordpress.org/browser/tags/3.2/wp-includes/functions.php#L2740 wp_die()] is a [http://www.w3.org/Protocols/rfc2616/rfc2616-sec10.html#sec10.5.1 500 Internal Service Error] communicating !WordPress encountered an ""unexpected condition which prevented it from fulfilling the request."" Multiple pages trigger wp_die() in wp-admin when a minimum user capability is not met (e.g. Cheatin', uh?). In these cases we know why the request failed and could better communicate the failure in the HTTP status code. We want to communicate the same request should not be repeated without a modification to permissions. We also would like to shift the error class from a server error (5xx) to a client error (4xx).

HTTP status [http://www.w3.org/Protocols/rfc2616/rfc2616-sec10.html#sec10.4.4 403 Forbidden] communicates the authorization failure in HTTP status form. The server can be reached, we understood your request, but we declined access to the page.

A !WordPress install could catch this unique status code in its wp_die_handler and suggest further the viewer contact the IT department, admin, etc. for additional permissions.

Patch attached for wp-admin/edit.php. If the general idea behind the change is acceptable I can broaden the patch to other occurrences of wp_die() for failed capability checks in wp-admin.",niallkennedy
Needs Milestone,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
Needs Milestone,17778,get_comment_pages_count() returns > 1 when pagination is disabled,,Comments,3.2,normal,normal,Awaiting Review,defect (bug),new,has-patch,2011-06-13T05:01:58Z,2011-07-09T11:10:47Z,"If pagination is disabled, get_comment_pages_count() will still return the number of pages possible if pagination was enabled.

As a workaround, themes & TwentyEleven are having to get to see if pagination is enabled first:
{{{
<?php if ( get_comment_pages_count() > 1 && get_option( 'page_comments' ) ) : // are there comments to navigate through ?>
}}}

I'd suggest that if comment pagination is not enabled, this function should return 0 or 1 (0 = no comments, 1 = 1 page).

The addition of an extra block after the [http://core.trac.wordpress.org/browser/trunk/wp-includes/comment.php#L740 empty comments check] would be:
{{{
if ( ! get_option('page_comments') )
	return 1;
}}}",dd32
Needs Milestone,17636,Search subtitles are handled inconsistently across admin,,Administration,3.2,normal,normal,Awaiting Review,defect (bug),new,has-patch,2011-06-01T12:15:48Z,2011-07-09T11:44:29Z,"Try the following strings in the Comments admin screen and any other:

`\'""\fs""\\\""` 

`imareallylongstringlookatmegoandgoandgoandgoandgoandgoandgoandgoandgoandgoandgoandgoandgoandgo`

The Comments screen uses `strip_slashes()` and `wp_html_excerpt()` to limit search strings to 50 characters, while other screens do not.",kawauso
Needs Milestone,18056,dc:creator needs to be escaped in RSS feed,,Feeds,3.2,normal,major,Awaiting Review,defect (bug),new,has-patch,2011-07-10T03:46:15Z,2011-07-10T03:46:15Z,"If the author name contains any special characters, they might end up in the RSS feed unescaped, causing failed feed validation and thus causing problems for many readers.

The code now is:

<dc:creator><?php the_author() ?></dc:creator>

Shouldn't this be:

<dc:creator><![CDATA[<?php the_author() ?>]]></dc:creator>

Or: 

<dc:creator><?php htmlspecialchars(the_author()) ?></dc:creator>

This might be a result of a custom author plugin not escaping these characters on the way into the database, but Wordpress should handle this more robustly to prevent plugin authors from messing things up like this.",Nettsentrisk
Needs Milestone,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
Needs Milestone,18067,update_post_thumbnail_cache - accept WP_Query instance,,Post Thumbnails,3.2,normal,minor,Awaiting Review,enhancement,new,has-patch,2011-07-11T15:03:21Z,2011-07-11T15:03:21Z,"Following what [http://core.trac.wordpress.org/ticket/15447#comment:26 scribu said in another ticket];
> ...What would be nice would be to allow update_thumbnail_cache() to be used for custom loops too. 
> 
> I'm thinking of adding an optional $_wp_query parameter. Then, knowledgeable developers could call it before rolling their custom loop.

I agree - it would be dead handy to be able to just call {{{update_post_thumbnail_cache( $my_query )}}} - see revision.",TheDeadMedic
Needs Milestone,18070,jpg vs. jpeg error when editing a LINK URL image in a post,,General,,normal,major,Awaiting Review,defect (bug),new,reporter-feedback,2011-07-11T16:21:13Z,2011-07-11T22:28:04Z,"This problem deals with an unfortunate discrepancy between file extensions .jpg and .jpeg -- The results equate to frustrating 404 errors and lightbox plugins that seem to be broken.

Here's what happens:

1) Upload an image with file extension '.jpeg' (note the 'e') and insert it into a post, with a blank 'Link URL'.

2) Now that the image is in the body of the post, edit the image's Link URL. (hover-over the image in the post and click the small icon on the upper-left that appears). If you click the 'File URL' button to auto-full the Link URL box, it will autofill the correct image address, but with a '.jpg' extension!

This lead to 404 errors, a lightbox plugin that appeared broken, and had me thinking it was an .htaccess issue from my hosting company....

NOTE: it autofills with the correct file extension when clicking the 'File URL' button is clicked upon initially inserting the image, however it fails when using the secondary menu that is available after inserting the image.

Thanks for fixing this!

(originally posted at https://wordpress.org/support/topic/bug-jpg-vs-jpeg-error-when-editing-a-link-url-image-in-a-post?replies=4)",multimule
Needs Milestone,18075,"""Scan for lost attachments"" should look for orphaned files in the /uploads/ folder",,Media,3.2,normal,normal,Awaiting Review,enhancement,new,,2011-07-11T23:19:25Z,2011-07-11T23:40:52Z,"I recently moved my blog over to another host, and just copy and pasted my /wp-content/uploads/ folder into the new destination. I've now got four years worth of media, but none of it is in the media library.

I assumed the button on the Media Library (under Unattached) would add these files to the database, but it didn't.

Extending this use case, this feature could also be used as a bulk ""these files are already on the server, I don't want to upload them"" (which is the only way to add files to the media library, no?) action.",shamess
Needs Milestone,16448,Smilies should not be placed inside of pre or code tags,,Formatting,3.1,normal,normal,Awaiting Review,enhancement,new,has-patch,2011-02-03T04:00:52Z,2011-07-13T09:46:36Z,Smilies should ignore content inside of `<pre>` and `<code>` tags. The author likely is posting code and doesn't need smilies messing it up.,Viper007Bond
Consider for Next Major Release (has-patch),11175,wp_check_invalid_utf8() should drop invalid utf-8 chars only instead of truncating string,hakre,Charset,2.9,normal,normal,Future Release,defect (bug),new,needs-unit-tests,2009-11-18T19:18:43Z,2011-07-13T09:46:51Z,"When you call wp_check_invalid_utf8() with 2nd param set to true, it tries to strip invalid utf-8. Now it removes 1st invalid utf-8 char and all chars after it, no matter if they are correct or not. Additionally it can print following notice:

Notice: iconv() [function.iconv]: Detected an illegal character in input string in .../wp-includes/formatting.php on line 437

Attached patch changes this, so function removes invalid chars only. Additionally it is less configuration-dependent, because it can use either mb_convert_encoding() or iconv().",sirzooro
Needs Milestone,18102,IE8 and wp_tiny_mce has broken Link button,,General,3.2,normal,normal,Awaiting Review,defect (bug),new,,2011-07-13T14:07:43Z,2011-07-13T17:57:57Z,"With IE8 and custom-generated WYSIWYG editors created with wp_tiny_mce, the link button doesn't work correctly.  What happens is quite interesting:

On the first click, the Add/Edit dialog link box appears full sized, but empty.

Dismissing the box and clicking the link button again will give you just the Add/Edit link dialog box's title, but not even a box.

Dismissing that box and clicking on it a third time will finally generate an Add/Edit link form in the dialog box, but it won't be functional.

As far as I can tell, there are no JavaScript errors displayed.

This works correctly in Chrome, FireFox, and IE9. The problem only exists in IE8 as far as I can tell.  I tested on 3.2 and 3.2.1

The issue occurs with a default theme, but not with all plugins disabled (because plugins are required to create such a WYSIWYG box).  The issue does NOT exist on the default post/page add/edit screens.  Examples of plugins affected are WYSIWYG Widgets (http://wordpress.org/extend/plugins/wysiwyg-widgets/) and Rich Text Tags (http://wordpress.org/extend/plugins/rich-text-tags/), although I discovered the issue while developing my own plugin.

I also put together a bare-bones plugin to help verify the issue in case that helps (see the new menu item in Settings):
http://dl.dropbox.com/u/5148765/lems_wysiwyg_test.php  (requires WP 3.2+)

While it's possible that the real problem is how we're calling wp_tiny_mce (and I certainly apologize if that's the case), all 3 of us developers have run into this issue independently.

Let me know if you need any more info!",MadtownLems
Needs Milestone,18101,Last theme reported in Feature Search is Duplicated as first theme in page 2,,Administration,3.2.1,normal,normal,Awaiting Review,defect (bug),new,,2011-07-13T13:59:36Z,2011-07-14T11:53:46Z,"Search for themes using the features filtering mode. The last theme theme of the first page (if you search for custom background feature the theme is Nona) will be duplicated as the first theme in page 2. Page count in the navigation is correct, and you will get one more theme in the end (e.g. with 121 themes, last page will have two themes instead of just one).",lorthirk
Needs Milestone,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
Needs Milestone,16750,Improve inline docs for l10n functions,,Inline Docs,3.1,normal,trivial,Awaiting Review,enhancement,new,has-patch,2011-03-04T19:22:29Z,2011-07-15T21:43:09Z,"Changes to the inline documentation in WordPress 3.1.

These are documentation changes only.",CharlesClarkson
Needs Milestone,16794,pomo/streams.php str_split() suggestion ?,,Performance,3.1,normal,minor,Awaiting Review,enhancement,new,close,2011-03-07T23:44:02Z,2011-07-16T00:03:24Z,"Hi, just passing along an idea that was suggested to me:  we have a log which crashes with this --

''Fatal error: Out of memory (allocated 23855104) (tried to allocate 9 bytes) in /var/www/html/wp-includes/pomo/streams.php on line 86''

If you look at that line:

http://core.trac.wordpress.org/browser/tags/3.1/wp-includes/pomo/streams.php#L86

you will see that it is a simple str_split(). How about if the $string argument is passed by reference ? The problem as it is explained to me is that right now the $string argument is passed by value, e.g. it is copied, so if this is a large string, it is going to take double space when it is used as an argument; instead if it is used as an argument passed by reference it will not take any extra space at all.

What do you think, would this help POMO_Reader::str_split() work with large strings ?",mrasnika
Needs Milestone,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
Needs Milestone,16866,Multisite registration uses extra redirect,spathon,General,3.1,normal,normal,Awaiting Review,enhancement,reviewing,,2011-03-16T15:08:34Z,2011-07-16T22:05:43Z,"When you are on a sub-blogg and choose register you are sent to wp-login.php?action=register and because it is a multisite it redirects to wp-signup.php. wp-signup.php then redirects to wp-signup.php on the main site. 

if
{{{
wp_redirect( apply_filters( 'wp_signup_location', site_url('wp-signup.php') ) ); // row 488 in wp-login.php
}}}
were set to network_home_url instead of site_url there would be one less redirects and risk for plugins to cause problems.


",spathon
Needs Milestone,16283,post_exists() enhancement - don't include revisions,,Administration,3.1,normal,normal,Awaiting Review,enhancement,new,dev-feedback,2011-01-18T13:33:51Z,2011-07-17T02:04:03Z,"The current post_exists() function to me has a major downside.  By default all it does it search for title, content and/or date in the wp_posts table.

The problem with this is that it includes revisions.  So for example if you have a post with title ""ABC"" but then later change it to ""DEF"", post_exists(""ABC"") will still return true with the post ID of the revision.

I would suggest either:

 a) Adding post_status not equal ""inherit"" as a default to the function.

 b) Adding a 4th parameter which allows you to pass the post_status value in.

I would be happy to code this if anyone has any feedback on what would be the best approach.",durin
Needs Milestone,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
Needs Milestone,16989,Add a parameter or filter to get_media_items() for media type.,,Media,,normal,trivial,Awaiting Review,enhancement,new,dev-feedback,2011-03-28T16:19:55Z,2011-07-17T23:18:21Z,"It's a bit confusing IMO to have all media items appearing in the gallery tab of the media upload popup as it only deals with images. I'm making an audio player plugin with soundmanager2.js that uses an extra media upload tab to organise the uploaded audio files and insert a playlist shortcode into the post.

To do this I had to take a copy of get_media_items() with my filter hardcoded in. I can share my code if desired but it's not the prettiest, I'd like a more wordpressy way of doing this in future releases when you're able.",sanchothefat
Needs Milestone,16990,WP Multisite doesn't use custom db-error.php,tmuka,Multisite,3.1,normal,minor,Awaiting Review,enhancement,new,,2011-03-28T19:19:46Z,2011-07-18T01:23:14Z,"I suppose this is a feature request. I don't see a way to configure a Multisite install to use the same wp-content/db-error.php file as a single wp site install uses. Instead where the db is down the page dies on ""Error establishing database connection"" wrapped in an <h1>.

It could be a complication of using the HyperDB plugin, but it appears that on line 104 of wp-includes/ms-settings.php when the db is down get_blog_details() obviously fails and wp-includes/ms-load.php:ms_not_installed() is called. Unfortunately ms_not_installed() does not redirect to db-error.php, and instead dies, returning
$title = /*WP_I18N_FATAL_ERROR*/'Error establishing database connection'/*/WP_I18N_FATAL_ERROR*/;

Obviously i could hack in a call to wp-includes/functions.php: dead_db() in ms-load.php, but i try to avoid any core hacking to make upgrades easier.

Does anyone have a suggestion for overriding this behavior cleanly? perhaps something in wp-WP_CONTENT_DIR/sunrise.php ?

I suppose if somebody else is interested in the simple fix, here it is. In ""function ms_not_installed"" on line 224 of wp-includes/ms-load.php, insert dead_db();
like this...

{{{
function ms_not_installed() {
dead_db(); //hacked this in so we can get use our custom db-error.php
}}}

The bottom line is that now the visitor will potentially see a more friendly error message when the db or db table is unavailable.",tmuka
Needs Milestone,18130,Editing menu items - Cancel button does not work,,Menus,3.2.1,normal,normal,Awaiting Review,defect (bug),new,reporter-feedback,2011-07-15T15:17:40Z,2011-07-20T21:46:21Z,"When editing menu items, ""Cancel"" button at the bottom does not work. I can collapse menu item with top right arrow, but ""Cancel"" link worked also for collapsing menu items in the past. Now, after clicking on ""Cancel"" there is no response...",pavelevap
Needs Milestone,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
Consider for Next Major Release (has-patch),16475,Displaying submenus in custom taxonomy of active parent,,Administration,3.1,normal,normal,Future Release,defect (bug),new,has-patch,2011-02-07T02:26:20Z,2011-07-22T09:27:13Z,"In a hierarchical taxonomy, if a top level item in the hierarchy is selected when editing a post, after save that item's orphaned children and grandchildren will also show as top level items. It flattens the hierarchy.",nick4fake
Needs Milestone,18190,Don't redirect to 404 page on empty post archives,,General,3.2.1,normal,normal,Awaiting Review,defect (bug),new,,2011-07-21T09:05:41Z,2011-07-22T13:55:20Z,"""../archive/2010/09/29"" redirects to a 404 Error because there are no posts that day.

If there are no posts, it shouldn't redirect to a 404 page. It should let the user perform the loop and show a message like this:

""Sorry, there are no posts for that date""",gazpachu
Needs Milestone,17088,Edit image icon broken in Internet Explorer 9 for referenced images with captions,,Media,3.1,normal,normal,Awaiting Review,defect (bug),new,,2011-04-08T17:14:11Z,2011-07-22T20:12:16Z,"The ""Edit Image"" icon fails in IE 9 when trying to edit an image that has been inserted from an external URL with a caption. Instead of bringing up the Edit Image screen nothing happens.

Removing the caption code for an externally referenced image allows it to then be edited normally.

To reproduce:
1. Create a new post in WP 3.1.1
2. Add an image from an external URL with a caption. You could use the following code:
{{{
[caption align=""alignnone"" width=""281"" caption=""Source: Wikipedia (by NASA)""]<img title=""France"" src=""http://upload.wikimedia.org/wikipedia/commons/thumb/c/c4/Satellite_image_of_France_in_August_2002.jpg/780px-Satellite_image_of_France_in_August_2002.jpg"" alt=""France"" width=""281"" height=""216"" />[/caption]
}}}
3. Switch to the visual editor.
4. Click on the image to bring up the two icons.
5. Click the edit image icon.

Instead of bringing up the edit image dialogue the post will scroll to the top with the cursor before the first word. Nothing else happens.

This was tested in IE 9 in an installation of 3.1.1. The same steps to reproduce will work correctly in Safari 5.0.4 and allow you to edit an image.",andrewspittle
Needs Milestone,18222,Visual clue after saving in fullscreen edit mode,,Editor,,normal,minor,Awaiting Review,enhancement,new,close,2011-07-22T19:45:00Z,2011-07-23T08:09:24Z,"You can save your current state while writing an article in fullscreen edit mode by pressing Ctrl+S.

However, there is no visual indication after this that the article has been saved or while saving.

This should be added.",mathbr
Needs Milestone,17181,IIS 7.5 Wordpress MU ms-files.php not streaming mp3 files correctly,,IIS,3.1,normal,normal,Awaiting Review,defect (bug),new,,2011-04-19T18:29:49Z,2011-07-25T15:13:15Z,"I think there is an issue with IIS and compression. 

I have two MP3s, one is around 7MB and the other around 2MB. I can ""download to folder"" for both and that works fine, but if I play in the browser the 7MB version cut off after 30seconds (I tried this on multiple MP3s larger than 5MB). I thought this had something to do with the ""Transfer-Encoding	chunked"" header. Upon further investigation I found that to disable this, I just had to specify the Content-length, which is explicitly disabled for IIS in ms-files.php (line 42). I commented out that line and now everything is working fine. I'm sure there was a reason for it, but I am not sure what for.",jacobm21
Needs Milestone,18244,Add autoload flag to update_option,,General,,normal,normal,Awaiting Review,enhancement,new,has-patch,2011-07-25T16:21:21Z,2011-07-25T16:21:21Z,I think having an autoload flag in update_option would be beneficial in terms of making sure developers aren't unknowingly autoloading every single option. I've created a patch that allows developers to define autoload using update_option and force a change if needed.,wpdavis
Needs Milestone,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
Needs Milestone,18266,WordPress does not signal DB errors when adding/updating post,,General,3.2.1,normal,normal,Awaiting Review,defect (bug),new,,2011-07-27T05:56:18Z,2011-07-27T05:56:18Z,"WordPress does not signal DB errors when adding/updating post. As I checked, `edit_post()` (defined in wp-admin/includes/post.php) calls `wp_update_post()` but does not check if it returned error. Therefore end user never gets any error message.

I found this when I tried to replace valid SQL query with some invalid one, in order to stop insert operation when custom validation done in `wp_insert_post_data` hook failed.",sirzooro
Needs Milestone,16691,Add do_action or menu description in nav-menus.php,,Menus,3.1,normal,normal,Awaiting Review,feature request,new,,2011-02-27T17:54:14Z,2011-07-27T20:08:16Z,"The nav menu feature uses the taxonomy structure but does not use i.e. the term description.
This field could be used by adding an action in wp-admin/nav-menus.php, for example in line 538 or 552.

{{{

<label class=""menu-name-label howto open-label"" for=""menu-name"">
	<span><?php _e('Menu Name'); ?></span>
	<input name=""menu-name"" id=""menu-name"" type=""text"" class=""menu-name regular-text menu-item-textbox input-with-default-title"" title=""<?php esc_attr_e('Enter menu name here'); ?>"" value=""<?php echo esc_attr( $nav_menu_selected_title  ); ?>"" />
</label>
<?php if ( !empty( $nav_menu_selected_id ) ) :
	if ( ! isset( $auto_add ) ) {
		$auto_add = get_option( 'nav_menu_options' );
		if ( ! isset( $auto_add['auto_add'] ) )
			$auto_add = false;
		elseif ( false !== array_search( $nav_menu_selected_id, $auto_add['auto_add'] ) )
			$auto_add = true;
		else
			$auto_add = false;
		}
?>
<div class=""auto-add-pages"">
	<label class=""howto""><input type=""checkbox""<?php checked( $auto_add ); ?> name=""auto-add-pages"" value=""1"" /> <?php printf( __('Automatically add new top-level pages' ), esc_url( admin_url( 'edit.php?post_type=page' ) ) ); ?></label>
</div>
<?php endif; ?>
}}}

This would allow plugin developers to add additional fields or settings for nav menus and save them on updating or saving the menu.


",linguasite
Needs Milestone,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
Needs Milestone,18272,Can not define media upload path/URL in multisite,,Multisite,3.2.1,normal,normal,Awaiting Review,defect (bug),new,,2011-07-27T22:56:44Z,2011-07-27T22:56:44Z,"We have a multisite installation with five subdomains.  We do not wish to use the default /files/yyyy/mm/filename.ext structure for uploaded media.

In Network Admin > Sites > Edit (under a subdomain) > Settings, you can set:
Upload Path (eg /var/www/pathonserver)
Upload Url Path (eg http://www.domain.com/pathonserver)
Fileupload Url (eg http://www.domain.com/pathonserver)

However WordPress does not recognise these settings and uses the default format.

If you comment out the last line on wp-includes/ms-settings.php (ie ms_upload_constants()), it does recognise the settings. ",xtraxtra
Consider for Next Major Release (has-patch),14853,WP_Scripts::do_item filter,westi*,General,3.1,normal,normal,Future Release,enhancement,accepted,has-patch,2010-09-12T04:35:59Z,2011-07-28T12:51:43Z,"There should be actions that fire after a script is printed. This would enabled this best-practices usage scenario (from http://github.com/paulirish/html5-boilerplate/blob/master/index.html ):

{{{
<!-- Grab Google CDN's jQuery. fall back to local if necessary -->
  <script src=""http://ajax.googleapis.com/ajax/libs/jquery/1.4.2/jquery.min.js""></script>
  <script>!window.jQuery && document.write('<script src=""js/jquery-1.4.2.min.js""><\/script>')</script>
}}}

The before action isn't covered by that use-case, but if we're going to have an after action, we might as well have a before one.

I've attached a patch that would allow for this. Dead simple.",mattwiebe
Consider for Next Major Release (has-patch),10856,Move unesential comment fields to the comment meta table,,Comments,2.9,normal,normal,Future Release,enhancement,new,dev-feedback,2009-09-26T03:07:47Z,2011-07-28T21:03:24Z,"The wp_comments table has 3 less-used fields that would be better placed in the new commentmeta table. These are:

- comment_author_IP

- comment_agent

- comment_karma",scribu
Needs Milestone,18275,Can't get perfect thumbnail sizes with image editor,,Media,3.2.1,normal,normal,Awaiting Review,defect (bug),new,,2011-07-28T02:37:16Z,2011-07-29T05:05:07Z,"In the media settings, I have the thumbnail set to a fixed size (218x145), and set to crop to these exact dimensions. 

Sometimes the automatic thumbnail crops off people's heads, etc, so I use the Image Editor to manually adjust the thumbnail. I select a rectangle, set the aspect ratio to 218x145, click crop, apply to thumbnail only, and save.

However, sometimes that results in an image slightly off in dimensions - for example, 215x145. 

I expect this is a rounding error. However, it happens even if I select an area much bigger than this when cropping in the Image Editor - eg 300x200. After I click crop and see the 300x200 image, I would expect the thumbnail to be automatically be created at 218x145 like it does normally based on this adjusted image - however, it appears the checkbox for using exact dimensions doesn't apply here. (In fact, if I select, say 300x300, it will make my thumbnail 145x145).

This feels like a bug to me, and makes it very hard to generate thumbnails at the size I want.",smerriman
Needs Milestone,18315,Add an index to the GUID column in the posts table,,Database,3.2.1,normal,normal,Awaiting Review,enhancement,new,has-patch,2011-08-02T04:31:01Z,2011-08-02T05:09:12Z,"Running queries on the GUID column in the posts table is slow because the column is not indexed. The attached patch adds an index.

Note, this affects ticket #18286 - I will update that ticket with appropriate patches to reflect this request.",alexkingorg
Needs Milestone,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
Consider for Next Major Release (has-patch),12264,links truncated: link_url column in wp_links table -- datatype too small,,General,2.9.2,normal,normal,Future Release,defect (bug),new,dev-feedback,2010-02-17T20:27:25Z,2011-08-03T19:55:37Z,"Here is my original post about the issue:  [http://wordpress.org/support/topic/365540?replies=3]

In short, the link_url column in the wp_links table has a datatype of VARCHAR(255).  As far as I know, there is no pre-defined limit to the length of a URL.  However, browsers typically enforce their own practical limits, the shortest of which is much larger than the 255 character limit that WP is enforcing.  Entering urls longer than 255 characters causes them to be truncated.

I tried altering the table so that link_url has a datatype of VARCHAR(1024).  This allowed me to use much larger links without them being cut off.  Therefore, I believe that the limiting factor is the DB and not some other code within WP.
",goto10
Needs Milestone,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
Needs Milestone,18326,Menu: current-menu-item problem with taxa with same name,,Menus,3.2.1,normal,minor,Awaiting Review,defect (bug),new,,2011-08-04T09:34:52Z,2011-08-04T09:34:52Z,"Hello, when two different taxonomy (e.g. tags and category, but also with custo taxa) with the same name are in the same submenu, the property current-menu-item is set to the two taxa both.

How to reproduce:
Create a category named ""Test"" (and add it to a post).
Create a tag named ""Test"" (and add it to a post).
Create a menu with this structure:
My menu
- Test (is the category archive, name it (e.g) ""Test Category"")
- Test (is the tag archive, name it (e.g) ""Test Tag"")
- Other pages

When you go to one of the two Test they have the current-menu-item property both.",rukbat
Needs Milestone,18327,remove_menu_page('index.php'); causes Notices - risk of unexpected results?,,Menus,3.2.1,normal,trivial,Awaiting Review,defect (bug),new,,2011-08-04T12:36:26Z,2011-08-04T13:01:03Z,"Thanks for the new remove_menu functions!

However if one adds action on admin menu and  does

 remove_menu_page('index.php');

This causes a lot of notices

Notice: Undefined offset: 0 in C:\web\wpbeta\wp\wp-admin\includes\menu.php on line 161

Notice: Undefined offset: 2 in C:\web\wpbeta\wp\wp-admin\menu-header.php on line 51

Notice: Undefined offset: 2 in C:\web\wpbeta\wp\wp-admin\menu-header.php on line 56

Notice: Undefined offset: 2 in C:\web\wpbeta\wp\wp-admin\menu-header.php on line 61

Notice: Undefined offset: 0 in C:\web\wpbeta\wp\wp-admin\menu-header.php on line 81

Notice: Undefined offset: 2 in C:\web\wpbeta\wp\wp-admin\menu-header.php on line 87

Notice: Undefined offset: 2 in C:\web\wpbeta\wp\wp-admin\menu-header.php on line 112

",anmari
Needs Milestone,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
Needs Milestone,17183,previous_comments_link and next_comments_link return wrong url with PATHINFO permalinks,,Permalinks,3.1.1,normal,normal,Awaiting Review,defect (bug),new,,2011-04-19T20:13:15Z,2011-08-04T21:26:32Z,"When using PATHINFO permalinks, previous_comments_link() and next_comments_link() return a wrong link, which renders paged comments useless.

Steps to reproduce:
Set permalinks to: /index.php/%post_id%/%postname%/

The functions return URLs similar to: /comments-page-1/#comments
This URL results in a file not found (if no rewrite rules are available, which should not be necessary if the PATHINFO permalink structure is used).

Expected URL: /index.php/comments-page-1/#comments
Manual opening the URL results in the expected/correct paged comments page.",FireMotion
Needs Milestone,18171,Media library - Sort on extensions,,Media,3.2.1,normal,normal,Awaiting Review,feature request,new,,2011-07-19T11:19:48Z,2011-08-06T07:51:46Z,Why is there only an option/function to view the images only? If you are looking for a word document it can be easy when you can see the documents only. This is also for PDF files and such. Maybe a function to sort on file types would be handy.,JonezJeA
Consider for Next Major Release (has-patch),16122,Paging in link-manager,,Administration,3.1,normal,normal,Future Release,enhancement,new,has-patch,2011-01-06T10:11:07Z,2011-08-06T14:42:39Z,"I think it would be a good idea to have paging (""Show on screen"" option) in the link-manager like in pages, sites, media a.s.o.",jezze
Needs Milestone,15674,Error when trying to logout,,General,3.0.2,normal,normal,Awaiting Review,defect (bug),reopened,reporter-feedback,2010-12-03T23:46:21Z,2011-08-07T20:51:51Z,"I get this error when trying to logout of WordPress 3.0.1 & 3.0.2:

""This webpage is not available. The webpage at http://my.site.com/wp-login.php?action=logout&_wpnonce=12c23f0af8 might be temporarily down or it may have moved permanently to a new web address.""

and

""Error 101 (net::ERR_CONNECTION_RESET): Unknown error.""

in Google Chrome and

""The connection was reset""

in Firefox. Both browsers running on Windows XP SP3. I tested this on another computer running Windows XP SP3 (different ISP) and got the same error in Firefox.

Strangely, I do not get these errors at all on my Mac, in both Chrome and Firefox; they both logout correctly. It also works correctly on my iPhone.

I've tried cleaning cache and cookies in both browsers, reseting my sub-domain in my host's control panel, changing to the default theme; none of which worked at all.  Must be some kind of bug, lots of reports about this in the forums.

See thread here:  http://wordpress.org/support/topic/error-when-trying-to-logout?replies=9",interconnect
Needs Milestone,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
Needs Milestone,17557,"AtomPub service sends duplicate status headers, breaking FastCGI",,AtomPub,3.2,normal,normal,Awaiting Review,defect (bug),new,has-patch,2011-05-25T20:33:33Z,2011-08-08T01:00:38Z,"The AtomPub service (wp-app.php) sends duplicate Status headers when authorization is not provided, which breaks on FastCGI setups. This is seen when you attempt to connect to the service using e.g. [https://github.com/calavera/Ape Ape], resulting in the following error message in the Apache logs:

{{{
[Wed May 25 16:09:21 2011] [error] [client 10.5.62.176] FastCGI: comm with server ""/tmp/webadmin_test"" aborted: error parsing headers: duplicate header 'Status'
}}}

This results in a 500 Internal Server Error from Apache:

{{{
HTTP/1.1 500 Internal Server Error 
Date: Wed, 25 May 2011 20:09:21 GMT 
Server: Apache 
X-Powered-By: PHP/5.2.6RC4-pl0-gentoo 
Expires: Wed, 11 Jan 1984 05:00:00 GMT 
Last-Modified: Wed, 25 May 2011 20:09:21 GMT 
Cache-Control: no-cache, must-revalidate, max-age=0 
Pragma: no-cache 
WWW-Authenticate: Basic realm=""WordPress Atom Protocol"" 
Content-Length: 735 
Connection: close 
Content-Type: text/html; charset=iso-8859-1 

<!DOCTYPE HTML PUBLIC ""-//IETF//DTD HTML 2.0//EN""> 
<html><head> 
<title>401 Credentials required.</title> 
</head><body> 
<h1>Credentials required.</h1> 
<p>The server encountered an internal error or 
misconfiguration and was unable to complete 
your request.</p> 
<p>Please contact the server administrator, 
webmaster@ufl.edu and inform them of the time the error occurred, 
and anything you might have done that may have 
caused the error.</p> 
<p>More information about this error may be available 
in the server error log.</p> 
<p>Additionally, a 500 Internal Server Error 
error was encountered while trying to use an ErrorDocument to handle the request.</p> 
<hr> 
<address>Apache Server at test.news.ufl.edu Port 80</address> 
</body></html>
}}}

Patch attached to refactor Status headers in wp-app.php to use the {{{status_header}}} function like most of the code uses.  There's also a function that handles which I have refactored to use {{{wp_redirect}}}. Affects all versions back to 2.9.2, including trunk.

Examples of this issue (and corresponding fixes) include:
* #2628
* http://trac.symfony-project.org/ticket/3191",dwc
Needs Milestone,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
Needs Milestone,18357,Add action to do stuff before the admin menu is rendered,,Administration,3.2.1,normal,trivial,Awaiting Review,enhancement,new,has-patch,2011-08-08T22:08:23Z,2011-08-08T23:34:15Z,"Here is a trivial patch to allow users to inject some stuff in the Admin pages HTML body before the menu is rendered. The new action is called 'before_admin_menu_header', feel free to use a better name.",llucax
Needs Milestone,17866,Copy adjustment in wp-admin/includes/media.php,,Media,,normal,trivial,Awaiting Review,enhancement,new,has-patch,2011-06-22T02:54:50Z,2011-08-10T15:49:33Z,"""Link Image To:"" seems preferable to ""Link URL"" in wp-admin/includes/media.php (and it is more consistent as it is already used on the ""From URL"" tab when inserting an image).",hew
Needs Milestone,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
Needs Milestone,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
Needs Milestone,18356,get_bookmarks() indefinitely caches randomly ordered results,,General,,normal,normal,Awaiting Review,defect (bug),new,has-patch,2011-08-08T18:12:45Z,2011-08-12T01:11:20Z,"The get_bookmarks() function caches the results of all requests to the function in a single cache result so it can clear all the items when a new book mark is added.  However, randomly ordered results shouldn't be cached indefinitely.  This specifically affects the Links widget as it never refreshes when set to random order.",prettyboymp
Needs Milestone,18385,"Canonical redirections not suited for Queries with multiple query vars and ""pretty permalinks"" in general",,Canonical,3.2,normal,normal,Awaiting Review,enhancement,new,dev-feedback,2011-08-12T09:05:03Z,2011-08-12T12:21:47Z,"When the Canonical code was originally written, it served it's purpose quite well. However, over the years the number of Query vars which can be used to access content via has increased, and so have the number of archive views. This has lead to increased complexity in the Taxonomy canonical code which has needlessly caused bugs.

What I'm proposing, is that it might be time to lay to rest the current `if.. elseif.. elseif..` style checks, It's not possible for 1 if branch to handle every single access point without duplicating another branch.

As a result, I've put a half-finished together alternate version of Canonical, It's based on tallying up which query vars have been used/accounted for and removing any duplicates.. It's certainly not the best, but it's fairing better with the unit tests so far.

{{{
Unit Testing: http://unit-tests.trac.wordpress.org/browser/wp-testcase/test_includes_canonical.php
Before: FF.......FFFF..FFF.....F......FFFFFF.F....F.....FF....FF...
 After: FF...........FFF..................FF..................F....
}}}

It's a work in progress, but it's worth considering IMO.

Attaching a diff, and the full file (since the diff is going to be rather unreadable in some sections)",dd32
Needs Milestone,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
Needs Milestone,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
Needs Milestone,18413,"Ability to Add Custom ""Add User"" Link",,Administration,,normal,normal,Awaiting Review,enhancement,new,,2011-08-15T14:44:54Z,2011-08-15T14:44:54Z,"For the ldap plugin i'd like to be able to utilize the current location of the ""Add New"" and ""Add Existing"" button to override it to show a button to link to the custom page for the ldap add user page.

Currently there are no hooks or filters that would allow me to add something in there - would it be possible to add in an action in there after the existing code to print out the add buttons?",axelseaa
Needs Milestone,17703,Decrement update count bubbles when you update things,koopersmith,Administration,,normal,trivial,Awaiting Review,enhancement,reviewing,has-patch,2011-06-06T01:30:31Z,2011-08-16T01:02:13Z,"This can be done via some JavaScript, including for the bulk updater case, and it looks pretty cool. :) Video attached, as well as a first-pass patch.",mitchoyoshitaka
Consider for Next Major Release (has-patch),14760,wp_get_shortlink not working on pages,,General,3.0,normal,normal,Future Release,enhancement,new,has-patch,2010-09-02T11:07:42Z,2011-08-16T18:46:32Z,"wp_get_shortlink doesn't return anything on pages.

reason:


{{{
2196   if ( isset($post->post_type) && 'post' == $post->post_type )
2197         $shortlink = home_url('?p=' . $post->ID);
}}}
",mattsay
Needs Milestone,18412,"""%20"" in an uploaded image file name breaks thumbnails",,Media,3.2.1,normal,normal,Awaiting Review,defect (bug),new,has-patch,2011-08-15T13:54:48Z,2011-08-17T00:49:37Z,"When uploading an image file where the name contains %20, it will not show thumbnails. It is still possible to edit the image in the image editor, however.",ripperdoc
Needs Milestone,17619,Soft 404 at /wp-content/plugins/,,General,,normal,minor,Awaiting Review,enhancement,new,has-patch,2011-05-30T16:31:30Z,2011-08-17T00:51:19Z,"/wp-content/plugins/index.php would be better written with a proper 404.

{{{
<?php
header('HTTP/1.0 404 Not Found'); // Silence is golden.
?>
}}}",miqrogroove
Needs Milestone,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
Needs Milestone,18417,Comment whitelist in discussion settings,,Comments,,normal,normal,Awaiting Review,feature request,new,,2011-08-15T18:48:46Z,2011-08-17T09:49:25Z,"Currently, there are methods for automatically flagging comments for moderation or blacklisting comments, but there's no way to auto-approve comments that meet a certain criteria.

In Discussion Settings, it would be nice to have ""Comment Whitelist"" option to automatically approve comments from a specific IP address, using a specific email address, or matching certain keywords.

One use case: a conference or workshop where lots of people are posting comments from the same IP address often invokes the ""Slow down, you're posting too fast"" message. Instead, we should be able to add the IP address to the whitelist (possibly temporarily) so that everyone can comment without hitting the restriction.

The concern I can think of is that this would add another large paragraph box to the Discussion Settings view.",danielbachhuber
Needs Milestone,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
Needs Milestone,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
Needs Milestone,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
Needs Milestone,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
Needs Milestone,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
Needs Milestone,18504,"Allow filtering of ""Add New [Post Type]"" URL on edit.php",,Administration,3.2.1,normal,trivial,Awaiting Review,enhancement,new,has-patch,2011-08-24T00:54:56Z,2011-08-24T12:01:54Z,"I've recently attempted to use add_filter('admin_url','filter_function'), only to discover that there are many URLs in the admin area that are not passed through the admin_url() function. While there may be a good reason for that to happen, I figured it wouldn't hurt to check the possibility of changing one of them.

The one URL I haven't been able to find a workaround to is the ""Add New [Post Type]"" button on the edit.php screen, on top the post table, which also appears when editing an existing post. From what I gather, it is generated in the following file/line [http://core.trac.wordpress.org/browser/trunk/wp-admin/edit.php#L189] for the first case, and on this one [http://core.trac.wordpress.org/browser/trunk/wp-admin/edit-form-advanced.php#L198] for the second case.

Fixing this, assuming it's possible without compromising a functionality I'm not aware of, would be as simple as replacing this:

{{{
<a href=""<?php echo $post_new_file ?>"" ...
}}}

And this:

{{{
<a href=""<?php echo esc_url( $post_new_file ) ?>"" ...
}}}

With this:

{{{
<a href=""<?php echo admin_url($post_new_file); ?>"" ...
}}}

And this:

{{{
<a href=""<?php echo esc_url( admin_url($post_new_file) ) ?>"" ...
}}}",tbuteler
Needs Milestone,18505,http 404 sent for the RSS feed when there are no posts - should be 200,,Feeds,3.2.1,normal,normal,Awaiting Review,defect (bug),new,has-patch,2011-08-24T03:33:52Z,2011-08-25T00:13:02Z,"for sites with no posts, the HTTP status code returned for the RSS feed is 404, but since the address was a valid address and it just happens that the content is empty, a 200 status should be sent.

(It annoys link checkers which then report that there are broken link at the site because by default for most themes there is a link to the RSS feed in the header) ",mark-k
Consider for Next Major Release (has-patch),14808,Add Editor Documentation Functions URL for theme-defined functions,,Editor,,normal,normal,Future Release,enhancement,new,has-patch,2010-09-08T00:57:20Z,2011-08-25T00:15:44Z,"Currently, functions that are called within template files shown on the editor are included in the list of functions that you can try and lookup documentation for.

(The $ignore_functions array only seems to be for functions defined, not called, in a file.)

As the http://api.wordpress.org/core/handbook/1.0/?function=... seems to be hard-coded in, it's not possible for themes to overwrite it for functions they've defined.

Is it possible to allow themes to define where the documentation lookup should be for their own functions?",GamajoTech
Needs Milestone,17594,Add pre_get_home_url hook for plugins,,General,3.2,normal,normal,Awaiting Review,enhancement,new,reporter-feedback,2011-05-27T20:07:46Z,2011-08-26T02:46:22Z,"We need to allow plugins to ""do stuff"" in pre_get_home_url. In profiling today, we wrote some code that, if we have this hook, would allow a reduction of computations from x (in our case, 4000) down to 1 using a pseudo-cache technique. 

While that code isn't core-worthy, having a hook to allow plugin modification would incredibly enhance the ability to make WP more efficient on scale.",technosailor
Needs Milestone,18521,Wp_mail function: email subject with multibyte chars is not encoded properly,,External Libraries,3.2.1,normal,major,Awaiting Review,defect (bug),new,,2011-08-26T08:51:11Z,2011-08-27T00:51:21Z,"'''Problem:'''
When an email with multibyte characters (like Swedish é, å, etc.) in the subject is sent from Wordpress (using wp_mail), the subject of the email at the reciever end looks like this: =?UTF-8?Q?New_site_name_Site:_J=C3=A9t_inqsfzxb_p=C3=A5_?= =?UTF-8?Q?=C3=A9?=

'''Reproduce:'''
Create the new blog with a multibyte char in the blog title and then activate it.
For example: go to /wp-content/wp-signup.php and create a new user. After that you will be asked to create a new blog. Create one and put some é and å characters in the blog title. After that you will recieve the first email (which should be ok), asking to activate the account. Activate it, then you will get the second email with the screwed subject.

'''Reason:'''
The reason is phpmailer class which double-encodes the email subject (only when sending mail using php mail() function though). The problem in these lines (wp-includes/class-phpmailer.php, taken from WP 3.2.1):
(lines 657, 663, 671, 677)
$rt = @mail($val, $this->EncodeHeader($this->SecureHeader($this->Subject)), $body, $header, $params);
$rt = @mail($to, $this->EncodeHeader($this->SecureHeader($this->Subject)), $body, $header, $params);
$rt = @mail($val, $this->EncodeHeader($this->SecureHeader($this->Subject)), $body, $header, $params);
$rt = @mail($to, $this->EncodeHeader($this->SecureHeader($this->Subject)), $body, $header);
The subject is first encoded with EncodeHeader function, and after that encoded again by mail() function itself.

'''Fix suggestion:'''
Since mail() function does proper encoding of subject, we don't need to encode it ourselves. So those lines should be replaced by:
$rt = @mail($val, $this->Subject, $body, $header, $params);
$rt = @mail($to, $this->Subject, $body, $header, $params);
$rt = @mail($val, $this->Subject, $body, $header, $params);
$rt = @mail($to, $this->Subject, $body, $header);
I've tried this on my server, and it works well.

'''Conclusion:'''
Hope it will be fixed and included in the release soon. Although, i've found the good enough temporarily solution overloading wp_mail() with a plugin, but still would be nice to see the solution in the wordpress core.",jetpackpony
Needs Milestone,18550,Add args to signup_finished action,,General,3.2.1,normal,normal,Awaiting Review,enhancement,new,,2011-08-31T00:07:01Z,2011-08-31T00:31:40Z,"In wp-signup.php there are 2 calls to do_action( 'signup_finished' );

1) When an user sings up.
2) When a new user sing up and a new site (in Multisite) is created.

It'd be good to have a way to diferenciare this differente scenarios. Also, it'd be good to have the registered user info passed to this action.
",rabino
Needs Milestone,18547,"Add rel=""nofollow"" to reply to comments link",,Comments,3.2.1,normal,minor,Awaiting Review,defect (bug),reopened,close,2011-08-30T14:20:31Z,2011-09-01T14:56:00Z,"This is an easy problem to diagnose and fix. Basically, the reply to comment links all contain a query parameter—?replytocom—in the destination URL.

Google does a poor job of ""deciding"" whether or not these are unique URLs, and as a result, these URLs are often indexed. This leads to duplicate content issues, which leads to users bitching :D

Here's a sample of some search results where the ?replytocom query parameter resulted in a bunch of duplicate indexing:

[http://www.google.co.in/search?cx=c&sourceid=chrome&ie=UTF-8&q=site:callingallgeeks.org+replytocom+#q=site:callingallgeeks.org+replytocom&hl=en&prmd=ivns&filter=0&fp=1&biw=1366&bih=667&bav=on.2,or.r_gc.r_pw.&cad=b Google]

Thanks!",pearsonified
Needs Milestone,18296,Add an action to Custom_Image_Header admin_page(),,General,,normal,minor,Awaiting Review,enhancement,new,,2011-07-29T17:31:17Z,2011-09-01T15:25:24Z,Add an action (do_action('custom_header_top');) to the admin page for themers to add more settings using the settings api.,wpsmith
Needs Milestone,18503,Delete-Plugin Error Validation Clears Form Values,,General,3.2.1,normal,minor,Awaiting Review,defect (bug),new,dev-feedback,2011-08-23T22:43:22Z,2011-09-01T17:17:22Z,"When bulk-deleting a set of plugins, if an error is encountered - all selected values are lost.

Process: 

1. Go to plugins overview screen, select several (active) plugins to delete.
2. From the bulk-action dropdown menu, select ""delete"", then ""apply""

Expected behaviour:

Error message: ""You cannot delete a plugin while it is active on the main site."" - Check marks are preserved, so you simply select ""deactivate"" and click on ""apply"" again.

Actual behaviour:

Error message: ""You cannot delete a plugin while it is active on the main site."" - All check marks lost, and you have to start all over again - which is a pain for sites with lots of plugins.",JohnONolan
Needs Milestone,18574,Add class_name support to wpdb,,General,,normal,normal,Awaiting Review,enhancement,new,dev-feedback,2011-09-02T20:03:58Z,2011-09-02T20:03:58Z,"As of PHP 5.0.0, the second parameter to mysql_fetch_object takes a class name which will be instantiated instead of stdClass. This will be handy as we upgrade core objects (see #12267 and #15458). I am using the attached patch on WordPress.com to simplify a lazy process. The effect is similar to what  does with WP_User but the code is much simpler.

The attached patch is fully backward-compatible unless you have defined classes named OBJECT, OBJECT_K, ARRAY_A, or ARRAY_N.

It could be improved by supporting the third parameter to mysql_fetch_object, an array of parameters to pass to the constructor. (For instance, you might want to pass $blog_id when constructing a WP_User). Adding this parameter would be perfectly simple if get_row did not already have a third parameter, $y, which is not used in core and should be removed because it invites wasteful queries.",andy
Needs Milestone,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
Needs Milestone,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
Needs Milestone,18527,Duplicate Menu Option or Add a Hook for Plugins,,Menus,3.3,normal,normal,Awaiting Review,enhancement,new,has-patch,2011-08-26T21:09:21Z,2011-09-04T10:25:22Z,"It would be great to add a hook for plugins to be able to add options, etc, to Appearance > Menus. One thing would be to have the option to duplicate a menu.

I have worked up a patch that accomplishes this, which would serve as a good starting point for adding duplication functionality.",wpsmith
Needs Milestone,18532,resized image dimensions incorrectly floored instead of rounded,,Media,2.5,normal,normal,Awaiting Review,defect (bug),new,has-patch,2011-08-27T16:14:29Z,2011-09-04T17:43:03Z,"Image dimensions are incorrectly floored instead of rounded to a proper number. Some attempt at ""fixup"" is done later in some processes to move them by a pixel, but still the way it's initially calculated is wrong.

'''For example:

A typical photo has a 3:2 (3/2 = 1.5) ratio.

If it's resized to 600px width, WP will make the height 399px - this is wrong.'''

It happens because of ''function wp_constrain_dimensions'' in ''media.php'' (~line 304) which floors the float using intval, which is wrong. 


{{{
	$w = intval( $current_width  * $ratio );
	$h = intval( $current_height * $ratio );
}}}

'''I propose'''

{{{
	$w = round( $current_width  * $ratio );
	$h = round( $current_height * $ratio );
}}}

Earlier in the function, both $ratio and $current_width are already handled as numbers, so they have to be valid numbers, no need to use intval for that reason, it's just being used to floor, which is bad in this case.

Using round is not a performance issue because this function is not used in realtime output for templates but typically in admin area.

Optionally while you are at it, put a filter on wp_constrain_dimensions and pass the filter all the values passed to the function before the array is returned at the end.
",_ck_
Needs Milestone,18617,Renaming menus orphans children when using global terms,,Menus,3.2.1,normal,normal,Awaiting Review,defect (bug),new,,2011-09-07T21:36:15Z,2011-09-07T21:36:15Z,"Renaming a menu when global terms is enabled will cause the menu to be disassociated from its children. This is caused by the reliance on `wp_get_nav_menu_object()` in `wp_update_nav_menu_item()` and elsewhere, where the calling function attempts to get the menu object using the old global term id rather than the new global term id. The menu items appear to be invalid because the menu term id has changed.",adambackstrom
Needs Milestone,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
Needs Milestone,18627,Google Chrome handles bulleted lists differently in Visual Editor than other browsers,,Editor,3.2.1,normal,normal,Awaiting Review,defect (bug),new,,2011-09-09T16:10:51Z,2011-09-09T16:10:51Z,"In Firefox (working functionality):

1. create brand new post or page
2. in the visual editor, click Bulleted List icon
3. In Format menu choose H1
4. Type some text (it's inside a ul >> li >> h1)
5. Press Enter

Result: a new bullet, and we've lost the H1 style (just inside a ul >> li now)

Try this with Chrome 13.x

1. create a brand new post or page
2. in the visual editor hit the Bulleted List icon
3. in the Format menu choose H1
4. Type some text (it's inside a ul >> li >> h1)
5. Press enter

Result: no new bullet. We're inside a ul >> li >> div

Also tested in IE 7 and 8 (works fine). haven't tried other WebKit browsers.",tomauger
Consider for Next Major Release (has-patch),12738,Notice Helper,john316media*,Plugins,,lowest,minor,Future Release,feature request,accepted,has-patch,2010-03-28T00:07:58Z,2011-09-09T16:40:52Z,"It would be useful if the next WP release will contain notice helper function in plugins API or somewhere in WP utils.

All plugin developers are often using standard WP admin notices which is simply a line of HTML: 


{{{
<div class=""updated fade""><p>Some message.</p></div>
}}}


I didn't find any function to produce this HTML code so I'm using my own but it's boring to move same function from one plugin to another.

My notice helper code:

{{{
    function html_notice_helper($message, $type = 'updated', $echo = true) {

        $text = '<div class=""' . $type . ' fade""><p>' . $message . '</p></div>';

        if($echo) echo $text;

        return $text;
    }
}}}

",andddd
Needs Milestone,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
Needs Milestone,17834,Quick Edit of Hierarchal Terms,,General,,normal,normal,Awaiting Review,feature request,new,,2011-06-18T12:47:23Z,2011-09-10T01:41:21Z,"Would be nice if the Quick Edit function for hierarchal terms included the ability to change the parent. In fact, you could pretty much eliminate the Edit function altogether by doing this.",DragonFlyEye
Needs Milestone,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
Needs Milestone,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
Needs Milestone,17516,Add Favorite Actions to Admin Bar,,Administration,3.2,normal,normal,Awaiting Review,defect (bug),new,,2011-05-19T18:37:03Z,2011-09-10T03:25:31Z,"With the new UI upgrade, the favorite_actions() method was removed from the main UI. After a brief discussion with Westi, it made sense to put the functionality back in as part of the adminbar.

The attached patch does that using the favorite_actions() method (which can now return the filtered list of favorite_actions as an array). We should eat our own dog food.",technosailor
Needs Milestone,17159,Return meaningful HTTP response for comment submitted with no POST body,,Comments,,normal,trivial,Awaiting Review,enhancement,new,has-patch,2011-04-17T19:45:03Z,2011-09-10T03:25:52Z,"A POST request to wp-comments-post.php currently returns a HTTP 200 response with an empty body if the body of the request was empty.

The server should die quickly and instruct the requesting agent not to repeat the request without modifications if minimum necessary key(s) are not present on $_POST.

I believe the possible creation of a comment requires at least a comment_post_ID. It's also the first $_POST key checked in the script. If the POST did not supply a comment_post_ID let's stop processing and provide a meaningful response. HTTP 400 Bad Request communicating the failure. Due to the spammy nature of the requestors we may or may not want to provide variable hints in the response.",niallkennedy
Needs Milestone,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
Needs Milestone,16908,Normalize remove_accents() data,,General,3.1,normal,normal,Awaiting Review,enhancement,new,has-patch,2011-03-20T22:54:24Z,2011-09-10T22:25:30Z,"The remove_accents() functions contains the translitaration data in diverse formats. To normalize the code, a format of arrays containing key=>value replacements where the string value of key transposes into the string value of value.

That's already common for a large part of the function.",hakre
Needs Milestone,18641,Date and post status are the wrong way around in post lists,,Administration,3.3,normal,normal,Awaiting Review,enhancement,new,has-patch,2011-09-11T20:31:41Z,2011-09-11T20:35:13Z,"On a post listing screen, a draft post that has been modified within the last 24 hours will show the following in the 'Date' column:

{{{
X hours ago
Last Modified
}}}

This doesn't make a lot of sense. Better would be:

{{{
Last Modified
X hours ago
}}}

Ideally the table cell should be treated as a whole to aid l10n and to improve the English presentation.",johnbillion
Needs Milestone,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
Consider for Next Major Release (has-patch),16433,Extend function to optionally include commenter name in comment_reply_link,merty*,Accessibility,3.0.4,low,normal,Future Release,enhancement,accepted,has-patch,2011-02-01T16:27:45Z,2011-09-12T12:05:09Z,"Screen readers recognize links and make them searchable. Unique names facilitate that search. Links need to have unique names that are descriptive and make sense when read out of context. WordPress allows users to set the text they want to display on the comment_reply_link but then this text is repeated for every comment on a post. 

WCAG Checkpoint 13.1 says: Clearly identify the target of each link. [Priority 2]

For improved accessibility it is far better to have the comment_reply_link include the commenter name. ""Reply to Tom Thumb"" and ideally, include a title on the link that includes both the commenter name and comment number. Users should have the option to filter for their custom text and to include (or not include) the commenter name. 

At the moment, anyone who wants to present an accessible front-end cannot use threaded comments unless they are prepared to generate masses of the same, generic, unhelpful link. ",Elpie
Needs Milestone,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
Needs Milestone,18653,Enhancement: Filter Taxonomy Show UI in post editor (edit-form-advanced.php),,General,3.3,normal,normal,Awaiting Review,enhancement,new,has-patch,2011-09-13T16:03:49Z,2011-09-13T17:48:45Z,"I am working on a project that maintains a ""hidden"" taxonomy. I want to expose the taxonomy selectively on various custom post types.

The attached patch filters a taxonomy's show_ui value before deciding to create a meta_box. The filter also passes the taxonomy object as well as the current post type.",transom
Needs Milestone,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
Needs Milestone,18661,Include IDs for users and sites on their respective views in the network admin,danielbachhuber*,Network Admin,,normal,normal,Awaiting Review,enhancement,accepted,has-patch,2011-09-14T16:03:45Z,2011-09-15T18:58:20Z,It would be nice if the IDs for Users and Sites were displayed in columns on their respective views in the network admin (with the option to hide in screen options of course),danielbachhuber
Consider for Next Major Release (has-patch),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
Needs Milestone,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
Needs Milestone,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
Needs Milestone,17078,is_active_sidebar() doesn't work with Numeric sidebar ID's,,General,2.8,normal,normal,Awaiting Review,defect (bug),new,,2011-04-07T10:06:54Z,2011-09-19T15:07:09Z,"This needs a small fix: 

Function is_active_sidebar( $index)  converts $index to a string

then uses wp_get_sidebars_widgets() to see if the sidebar is active

..but keys in the array wp_get_sidebars_widgets() generates can be integers if the ID's of the registered sidebars are integers",lanceo
Needs Milestone,16668,SWFUpload 2.2.1,,External Libraries,,normal,minor,Awaiting Review,enhancement,new,has-patch,2011-02-25T20:38:07Z,2011-09-19T15:24:55Z,"Update SWFUpload to version ""2.2.1 2009-03-30"" from ""2.2.0 2009-03-25.""

Changes how settings are passed to functions, using function scope instead of object scope. Looks like some other code simplification during those five days.

[http://code.google.com/p/swfupload/source/browse/swfupload/trunk/core/ SWFUpload repo]

Updates the SWF as well. Looks like an ExternalInterface change based on project commits.

Files swfupload-all.js and handlers.js left as is since they are not part of the external repo. If swfupload-all.js is a rollup it should obviously be updated.",niallkennedy
Consider for Next Major Release (has-patch),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
Consider for Next Major Release (has-patch),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
Needs Milestone,18746,Make is_tag() accept a term name or term id,,General,3.3,normal,normal,Awaiting Review,enhancement,new,has-patch,2011-09-22T13:05:15Z,2011-09-22T13:52:36Z,"The ''is_category()'' function recieves as a parameter Category ID, Category Name or Category Slug.

So is the ''is_tax()'' function, it recieves as a parameter Term ID, Term Name or Term Slug.

But the ''is_tag()'' function can recieve only Tag Slug.",ramiy
Needs Milestone,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
Needs Milestone,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
Consider for Next Major Release (has-patch),14960,Add More bulk actions to the link manager,edwardw*,General,,low,normal,Future Release,enhancement,accepted,dev-feedback,2010-09-25T22:11:35Z,2011-09-23T21:26:10Z,"Currently, the link manager supports only one bulk action, which is delete. 
If there are a lot of links, making links visible and invisible is now a tedious process. A bulk action for ""make visible"" and ""make hidden"" would be a good enhancement, IMHO.",teraom
Consider for Next Major Release (has-patch),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
Needs Milestone,18777,Add new site valid domain filter,,Network Admin,,normal,normal,Awaiting Review,enhancement,new,has-patch,2011-09-26T11:41:32Z,2011-09-26T12:02:50Z,"I've a client who wanted to add subdirectory sites in a multisite install e.g.:

example.com/department1/johnjoe

example.com/department2/fredbloggs

etc. But to do this, they had to add the site without the slash, then go back, and edit the sites URL.

So to allow support for this, ( coupled with the obligatory custom sunrise.php ) and to allow error checking ( e.g. not allowing depoortment1, and only allowing a preset number of subfolders ), I added a filter.

You'll find attached a small patch to site-new.php adding this filter",TJNowell
Consider for Next Major Release (has-patch),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
Needs Milestone,18680,Make SSL login-only possible (while leaving admin unencrypted),,General,3.2.1,normal,normal,Awaiting Review,enhancement,new,reporter-feedback,2011-09-16T05:54:33Z,2011-09-27T17:19:50Z,"There are two options to be set in wp-config.php to enforce secure connections.

With the following configuration, the login AND the backend will be done via SSL:
{{{
define( 'FORCE_SSL_ADMIN', false ); // or true
define( 'FORCE_SSL_LOGIN', true );  // or false
}}}
As those are 'FORCE' parameters, one might consider it correct that, even though one is set to 'false', both will be via HTTPS.

However, WordPress is currently missing an option to have ONLY the login data sent encrypted and go on to the admin interface via a normal (non-encrypted) connection. That scenario requires additional redirections on the webserver.",multimule
Needs Milestone,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
Needs Milestone,18729,No HTML Classes/IDs Associated With get_the_password_form() Output,,General,3.2.1,normal,normal,Awaiting Review,feature request,new,has-patch,2011-09-21T10:11:35Z,2011-09-28T06:08:31Z,"Currently get_the_password_form() outputs a password form that offers no HTML classes or IDs for proper styling:

{{{
/**
 * Retrieve protected post password form content.
 *
 * @since 1.0.0
 * @uses apply_filters() Calls 'the_password_form' filter on output.
 *
 * @return string HTML content for password form for password protected post.
 */
function get_the_password_form() {
	global $post;
	$label = 'pwbox-'.(empty($post->ID) ? rand() : $post->ID);
	$output = '<form action=""' . get_option('siteurl') . '/wp-pass.php"" method=""post"">
	<p>' . __(""This post is password protected. To view it please enter your password below:"") . '</p>
	<p><label for=""' . $label . '"">' . __(""Password:"") . ' <input name=""post_password"" id=""' . $label . '"" type=""password"" size=""20"" /></label> <input type=""submit"" name=""Submit"" value=""' . esc_attr__(""Submit"") . '"" /></p>
	</form>
	';
	return apply_filters('the_password_form', $output);
}
}}}

It would be quite useful to add classes to the form and input elements in this output so that we can properly style the password form without having to filter the output in, for example, a theme's functions.php file.
",philiparthurmoore
Consider for Next Major Release (has-patch),17851,Wrapping Sections with add_settings_section,,Administration,3.1.3,normal,normal,Future Release,enhancement,reopened,has-patch,2011-06-20T03:09:34Z,2011-09-28T18:09:53Z,"This is my first time reporting, so excuse my ignorance. I just wanted to see about enhancing the add_settings_section function.

As of now, individual sections are not wrapper in any sort of container, which makes no sense to semantic sense to me. Sections should/need to be styled differently, but as of now, you really don't have much control of that.

I propose something similar to the register_sidebar function, looking like this:

add_settings_section( $id, $title, $callback, $page, $args )

$args would accept 3 parameters: before_section, after_section, and section_class.

This way you can style each individual section with relative ease. Just a thought and enhancement to the Settings API.

Thomas",griffinjt
Needs Milestone,18816,Add 'offset' parameter and 'ancestral' boolean to wp_nav_menu,,General,,normal,normal,Awaiting Review,enhancement,new,,2011-09-29T16:13:42Z,2011-09-29T16:13:42Z,"Since we can now call wp_nav_menu multiple times and there is the very useful 'depth' parameter, I believe adding an 'offset' parameter would be very beneficial in many situations. This would allow you to start at the children of the main pages for example and combined with depth it becomes very powerful. An 'ancestral' => 'true' option could output only menu items that the current page is a descendant of. Currently if you want to display a main menu in the header and then a submenu on page.php you either need a tricky custom walker or terrible CSS 'visibility:hidden' or 'display:none' situations.",signyourbikeout
Consider for Next Major Release (has-patch),14424,"Eliminate dynamic function definitions, ie create_function",westi*,Optimization,3.0,normal,normal,Future Release,enhancement,accepted,has-patch,2010-07-26T23:05:09Z,2011-09-29T17:20:35Z,"create_function() calls are essentially a form of eval() where the body of the functions is defined at runtime rather than compile time. This patch removes all but one of the calls within the translation code.

There are a few reasons for doing this, one is apc can't cache the results of the function definition and secondly HipHop doesn't support complex create_function definitions.

Most of the references were array_filter / array_map and replaced with a simple foreach.

Others were sorting and a callback function was added.",ScottMac
Needs Milestone,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
Needs Milestone,18823,Pass $post_id  as second argument to delete_postmeta action,,General,3.2,normal,minor,Awaiting Review,enhancement,new,,2011-09-30T12:29:51Z,2011-09-30T14:38:00Z,"in every case (in WP 3.2) where a postmeta is deleted, the context is aware of the post_id or post_ids affected.  The do_action calls for added_postmeta, update_postmeta, and updated_postmeta all pass the post_id as the second argument.  For parallelism, and because it is useful, please pass it for delete_postmeta (and deleted_postmeta). 


",Vynce
Needs Milestone,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
Needs Milestone,18836,ORDER BY RAND() is slow,,Performance,,normal,minor,Awaiting Review,enhancement,new,,2011-10-01T16:59:04Z,2011-10-01T17:43:47Z,"WP_Query currently accepts 'orderby' => 'rand' which translates to ORDER BY RAND().

This is very slow when you have many posts, since it effectively calls RAND() for each row.

A faster way would be to call RAND() only once and put it in the LIMIT clause.

The only thing is that we have to make sure that the generated number is smaller than (total number of posts - number of posts to fetch).

So, this would require to do an extra query to calculate the total. It should still be faster than the current method.

If we want to get more than one post, we can get them in any order and then call shuffle() on the resulting array.",scribu
Needs Milestone,18833,Pass raw data into save_post/wp_insert_post,rmccue,Administration,,normal,normal,Awaiting Review,enhancement,new,has-patch,2011-10-01T09:15:14Z,2011-10-02T02:24:01Z,"Almost all tutorials about custom metaboxes (in addition to post meta) use `$_POST` to get the data that was submitted. Unfortunately, this breaks if a plugin uses anything that calls `wp_insert_post()` in the same request.

The patch attached here includes the `$postarr` array, which is the raw data passed in, and which is `$_POST` from `wp-admin/post.php`. This allows one to use the third parameter to the callback to set meta data instead of having to use `$_POST` directly.",rmccue
Needs Milestone,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
Needs Milestone,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
Needs Milestone,18814,wp_redirect wont allow arrays to be sent in query string,,General,3.2.1,normal,normal,Awaiting Review,enhancement,new,,2011-09-29T14:27:38Z,2011-10-03T17:04:52Z,"
The pluggable function wp-redirect will not allow arrays to be sent in a query string.  

ie: http://www.example.com/?array[]=first&array[]=second&array[]=last

The brackets are stripped out when the URL is sanitized and it becomes:

http://www.example.com/?array=first&array=second&array=last

This removes the ability to pass the array.",jacksplay
Needs Milestone,18848,Filter post listing screen by post parent,johnbillion,Administration,3.3,normal,normal,Awaiting Review,feature request,assigned,,2011-10-03T16:19:10Z,2011-10-03T18:56:58Z,"It's not possible to filter a post listing screen by post_parent. This would be super handy for hierarchical post types (eg. Pages) where you may have several levels of hierarchy and want to view only the descendants of a particular page. I'm not sure that we need a UI (eg. dropdown menu) for it, but a working URL query var would be great.

I made an attempt at patching this a while ago using the child_of parameter but it got complicated quite quickly, so I'm putting it out there as a feature request in case anyone feels like tackling it.",johnbillion
Needs Milestone,18596,Not possible to filter comment screen by post type,,Administration,3.3,normal,normal,Awaiting Review,enhancement,new,has-patch,2011-09-05T16:50:33Z,2011-10-03T20:41:20Z,"The `post_type` query var has no effect on the Comments screen so it's not possible to filter this screen by post type.

I'll work on a patch.",johnbillion
Needs Milestone,16509,Offer remote install-script as installer option,,General,,normal,normal,Awaiting Review,feature request,new,,2011-02-09T22:01:35Z,2011-10-03T23:03:55Z,"I've just tried this script

http://instantinstall.org/

and I wondered if it weren't a useful addition to have an officially supported remote install script for WP. So people could download the script instead of the entire package, upload it to their servers and let them do the heavy lifting. This would be particularly useful for people who regularly set up WP for clients.

Having a wp.org supported script would be great for people who are weary of using third party code.",youngmicroserf
Needs Milestone,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
Needs Milestone,18860,Chromeless metaboxes,,Administration,,normal,normal,Awaiting Review,enhancement,new,has-patch,2011-10-05T14:28:14Z,2011-10-06T13:39:07Z,"On the post editing screen, the title and editor portions are just conditionally echoed based on post_type_supports().

Because of this, you can't add anything between them or above them, without using JavaScript.

The proposal:

 - wrap them in callbacks and inject them through add_meta_box()
 - add a $show_handle parameter to add_meta_box()

{{{$show_handle == false}}} would mean that the handle around the box would be invisible. This would mean that you wouldn't be able to drag the title and editor boxes around, which is ok, but you would be able to re-order them in PHP.",scribu
Consider for Next Major Release (has-patch),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
Needs Milestone,18685,GET Requests with hostname in them causes wrong redirect,,General,3.2.1,normal,normal,Awaiting Review,defect (bug),new,dev-feedback,2011-09-16T14:34:54Z,2011-10-07T08:49:01Z,"Hi!

I have noticed that my Android phone when using Cyanogenmod with default browser does some ""special"" things when on 3G. (It does not happend via WiFi)

It appears that the hostname is sent with every GET-request. Its common to only send the path in a GET-request but the HTTP secification also allows for the use of hostname within a GET-request.

My test page ( http://h3x.no/dump/test.php ) shows the hostname in the REQUEST_URI via 3G, and skips the hostname when on WiFi.

This causes Wordpress(i suspect) to redirect me to the wrong page.

Example:

I want the page:
http://h3x.no/2011/09/12/getting-windows-2008-server-uptime-via-the-command-line

My phone sends me to:
http://h3x.no/2011/09/12/getting-windows-2008-server-uptime-via-the-command-line/http/h3x.no/2011/09/12/getting-windows-2008-server-uptime-via-the-command-line",Ueland
Consider for Next Major Release (has-patch),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
Needs Milestone,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
Needs Milestone,18254,Preserve image aspect ratio when editing dimensions manually in post editor,,Editor,3.2.1,normal,normal,Awaiting Review,enhancement,new,dev-feedback,2011-07-26T01:57:16Z,2011-10-09T14:09:17Z,"The dialog box that pops up when the user clicks the ""edit image"" icon that appears on hovering over an image in the visual editor has an ""Advanced settings"" tab with input fields for the pixel dimensions of the image.

When one is updated, the other does not change. A popular feature of image management software is to ""link"" the values and preserve the aspect ratio of the image.

I propose that WordPress have the option (a checkbox by the inputs?) to do this.

Sorry if this is terse; I'm about to be kicked off this library machine and I can't come back until tomorrow. Comment with anything I need to add and I'll update when I can.",voyagerfan5761
Needs Milestone,12350,Check folder permissions before uploading file,,Administration,,normal,normal,Awaiting Review,enhancement,reopened,,2010-02-23T18:41:57Z,2011-10-09T14:54:04Z,"It would be nice if wordpress - or especially the media-upload module would check if its able or has the necessary file permissions to create the upload directory.
",not2bug
Needs Milestone,18896,WP 3.2.1 dynamic menu drop-down feature not displaying properly on multiple themes.,,Menus,3.2.1,normal,major,Awaiting Review,defect (bug),new,,2011-10-10T21:31:03Z,2011-10-10T21:31:03Z,"It looks like there is a bug in the WordPress 3.2.1. dynamic menu feature or there is some code for drop-down menus that needs to be included on new themes that's not clearly outline in the codex.

After adding a WP 3.2.1 menu to my new theme( http://testing2.homesafetn.org) that was converted from html/CSS, the static menus display fine, but I could not get the drop-down menu items to display correctly. They would display as static menu items under the top level menu, or if there is room they will display to the right of the main menu items. I did some testing by downloading and activating a number of free themes and they all had problems displaying drop-down menus in WordPress using the dynamic menu feature. Two of the themes I tested with were the RedBel 1.3.1 and the BirdSite 1.02. I also tested this in three diffrent broswers (IE, Firefox, Safari) I know someone has a solution out there to make this work with drop-down menus. Because the Twenty Eleven 1.2 and Twenty Ten 1.2 themes drop-down menus using the dynamic menu feature in WP works fine! ",ggivens
Consider for Next Major Release (has-patch),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
Consider for Next Major Release (has-patch),18664,Formatting/Cleanup for wp-admin/includes/class-wp-posts-list-table.php,westi,Formatting,,lowest,trivial,Future Release,defect (bug),reviewing,has-patch,2011-09-14T20:57:51Z,2011-10-12T17:13:19Z,"wp-admin/includes/class-wp-posts-list-table.php is extremely hard to read.

Created this ticket to move conversation/patches for cleanup out of #17958",DH-Shredder
Consider for Next Major Release (has-patch),14867,HTTPS related issues in ms-blogs.php (with fix),,Multisite,,normal,normal,Future Release,defect (bug),reopened,has-patch,2010-09-14T15:09:14Z,2011-10-13T19:18:53Z,"Two functions in ms-blogs.php have issues due to hard-coding ""http://"" versus using the is_ssl() check. I have corrected them below. Just copy and paste these over the ones in your ms-blogs.php.


function get_blogaddress_by_id( $blog_id ) {
        $protocol = is_ssl() ? 'https://' : 'http://';

        $bloginfo = get_blog_details( (int) $blog_id, false ); // only get bare details!
        return esc_url( $protocol . $bloginfo->domain . $bloginfo->path );
}

function get_blogaddress_by_domain( $domain, $path ){

        $protocol = is_ssl() ? 'https://' : 'http://';

        if ( is_subdomain_install() ) {
                $url = $protocol.$domain.$path;
        } else {
                if ( $domain != $_SERVER['HTTP_HOST'] ) {
                        $blogname = substr( $domain, 0, strpos( $domain, '.' ) );

                        $url = $protocol . substr( $domain, strpos( $domain, '.' ) + 1 ) . $path;

                        // we're not installing the main blog
                        if ( $blogname != 'www.' )
                                $url .= $blogname . '/';
                } else { // main blog
                        $url = $protocol . $domain . $path;
                }
        }
        return esc_url( $url );
}",mareck
Consider for Next Major Release (has-patch),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
Consider for Next Major Release (has-patch),10425,Improvements to IIS7 Rewriting Code,ryan,Permalinks,2.8.1,low,normal,Future Release,enhancement,new,dev-feedback,2009-07-16T14:12:09Z,2011-10-16T12:57:51Z,"#8974 introduced a set of functions and changes which allow to automatically generate Rewrite Rules for Wordpress installs running on IIS7. 

There are some issues with that implementation that I think are worth being written down and discussed somewhere so here we go:

1) There's no '''""Verbose"" option''' for IIS rules; while I can't say when it would make sense to have a verbose listing of all WordPress rewrite rules in `.htaccess`/`web.config` it might be something that should be available for both systems?

2) IIS does not add '''non wordpress rules''' (`$non_wp_rules`) to the `web.config` file (`iis7_url_rewrite_rules()`) which means that any custom rewriting which plugins/users can do on apache don't work on IIS.

3) At the moment it's assumed that there is only ONE single rule needed for IIS. Especially when looking at the merge with WPMU this is going to become a problem because WPMU uses '''multiple rules'''. Every rule has to have a unique name and functions like `iis7_rewrite_rule_exists()` and `iis7_delete_rewrite_rule()` only look for one rule with name ""wordpress"". Custom Rules (see 2) also won't work without a change here. For a partial fix see misc.php in [http://trac.mu.wordpress.org/attachment/ticket/991/991-webconfig.patch Patch on MU #991])

Any comments?",bforchhammer
Needs Milestone,18968,Remove some term cache misses,,Performance,3.3,normal,normal,Awaiting Review,enhancement,new,has-patch,2011-10-17T01:44:42Z,2011-10-17T15:47:43Z,"On post listing screens a database query is performed for each taxonomy on each post. We can hit the term cache instead by using `get_the_terms()` in place of `wp_get_object_terms()` and `wp_get_post_terms()`.

By default, this change won't impact performance because the term cache isn't primed at this point, but on a site using a persistent object cache it'll hit the term cache each time instead of performing a database query. This saves `{numberofposts} × {numberoftaxonomies}` queries which can be quite a few on custom post type screens which display several taxonomy columns.",johnbillion
Consider for Next Major Release (has-patch),16167,FORCE_ADMIN_SSL broken if site runs on port different from 80,,General,3.0.4,normal,normal,Future Release,defect (bug),new,has-patch,2011-01-09T15:49:44Z,2011-10-17T23:37:51Z,"I'm running a wordpress site (http://yoush.homelinux.org:8079/) hosted at my home server. Unfortunately mu ISP blocks incoming connections on port 80, so I have to use non-standard port.

With unmodified wordpress 3.0.4, I was unable to use FORCE_ADMIN_SSL, because it caused URLs starting with

http://yoush.homelinux.org:8079/

to be converted to

https://yoush.homelinux.org:8079/

Which is definitly broken since it is impossible to serve both http and https on the same port.

To fix this, I propose removing ':port' from URL when converting http url to https.
I've created a patch for this, that seems to work for me on my site.",yoush
Consider for Next Major Release (has-patch),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
Consider for Next Major Release (has-patch),16949,Custom post types: error on page if query contains multiple post types,,General,3.1,normal,normal,Future Release,defect (bug),new,dev-feedback,2011-03-23T17:19:22Z,2011-10-18T19:53:06Z,"I'm using custom post types, and I modified the $query to include multiple post types. This works quite well, until I enter a URL to a non-existant post (modifying the last part, i.e. the post's slug).

{{{

// some HOWTO linked from the Codex suggests this,
// can't find the link right now

function add_posttypes_to_query($query)
{
	if (!is_admin() && !$query->query_vars['suppress_filters'])
	{
		if (!is_home())
			$post_type = array('video', 'post');

		$query->set('post_type', $post_type);
	}

	return $query;
}

add_filter('pre_get_posts', 'add_posttypes_to_query');
}}}

The error I get is: “Warning: Illegal offset type in isset or empty in /home/lxg/www/shops.supreme.de/supremeshops/branches/private_wp3/wp-includes/post.php on line 811”.

It appears that the function {{{get_post_type_object}}} gets the array passed if no posts were found.

Also, I realized that custom post single pages don't issue a HTTP 404 status on errors. But this may be due to local modifications. I am currently not able to set up an environment where I isolate this problem.",mastermind
Needs Milestone,18165,"Admin tables empty when installed on *nix with Apache 2.x, PHP 5.3 running as CGI with wrapper script",,Administration,3.2.1,normal,normal,Awaiting Review,defect (bug),new,reporter-feedback,2011-07-18T21:01:37Z,2011-10-18T20:27:46Z,"* Wordpress 3.2.1
* Apache 2.2.3
* PHP 5.3.5

When running with suexec through a wrapper script such as set up by Webmin, the PHP_SELF variable is ""fixed"" by PHP to point to the wrapper instead of the actual script. This in turn kills some of the admin lists (posts are empty) along with problems setting theme (Thematic) options.


To recreate, adjust '''httpd.conf''' vhost to:
{{{
<VirtualHost *:80>
  SuexecUserGroup ""#1111"" ""#2222""
  ServerName example.com
  DocumentRoot /home/example.com/www
  ErrorLog /home/example.com/logs/error_log
  CustomLog /home/example.com/logs/access_log combined
  ScriptAlias /cgi-bin/ /home/example.com/cgi-bin/
  <Directory /home/example.com/www>
    Options Indexes IncludesNOEXEC FollowSymLinks
    allow from all
    AllowOverride All
    Action application/x-httpd-php5 /cgi-bin/php5.cgi
    AddType application/x-httpd-php5 .php5
    AddType application/x-httpd-php5 .php
  </Directory>
  <Directory /home/example.com/cgi-bin>
    allow from all
  </Directory>
  RemoveHandler .php
  RemoveHandler .php5
</VirtualHost>
}}}


Add the following shell script '''/cgi-bin/php5.cgi'''
{{{
#!/bin/bash
PHPRC=$DOCUMENT_ROOT/../etc/php.ini
export PHPRC
umask 022
SCRIPT_FILENAME=$PATH_TRANSLATED
export SCRIPT_FILENAME
exec /usr/bin/php-cgi
}}}

Copy the '''php.ini''' file to '''/home/example.com/etc/'''



The problem is temporarily solved by setting the following PHP option in '''php.ini''':
{{{
cgi.fix_pathinfo = 0
}}}

Which tell PHP not to do a path gawk. I think what should be done is Wordpress should not use PHP_SELF or at least prefer using ORIG_PHP_SELF if it exists, possibly resetting PHP_SELF for downstream functions.
",magdude
Consider for Next Major Release (has-patch),17520,cite element used incorrectly,,Administration,,low,trivial,Future Release,enhancement,new,has-patch,2011-05-20T17:47:14Z,2011-10-18T21:16:34Z,"Here's what the HTML5 specification says about the cite element:
  The cite element represents the title of a work (e.g. a book, a paper, an essay, a poem, a score, a song, a script, a film, a TV show, a game, a sculpture, a painting, a theatre production, a play, an opera, a musical, an exhibition, a legal case report, etc). […]
  
  A person's name is not the title of a work — even if people call that person a piece of work — and the element must therefore not be used to mark up people's names. (In some cases, the b element might be appropriate for names; e.g. in a gossip article where the names of famous people are keywords rendered with a different style to draw attention to them. In other cases, if an element is really needed, the span element can be used.)

http://www.whatwg.org/specs/web-apps/current-work/multipage/text-level-semantics.html#the-cite-element

The element is used plugins/hello.php correctly to mark up the title ""Hello, Dolly"". But many more places it is used incorrectly to mark up an author's name.

The obvious fix would be to replace all but the one correct instance of the cite element with spans with an appropriate class.",holizz
Needs Milestone,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
Needs Milestone,16754,PHP5-port - srand(),,General,3.1,normal,normal,Awaiting Review,enhancement,new,has-patch,2011-03-05T10:42:18Z,2011-10-19T01:16:20Z,"No need to seed the random number generator.

See [http://www.php.net/manual/en/function.srand.php srand()] for details.

Related: #16753",hakre
Needs Milestone,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
Needs Milestone,16576,comment_form() fields being displayed only for non logged in users,,Comments,3.0.5,normal,normal,Awaiting Review,enhancement,new,,2011-02-16T18:15:44Z,2011-10-19T23:28:16Z,"I've just noticed this - When using the '''comment_form()''' function and adding some comment meta fields,using the fields array in the $args, these fields are being showed in the front-end only for non logged in users.
In this case, the registered users can never use these comment fields.

Look at wp-includes/comment-template, lines 1561-1573 (WP 3.0.5), it parse the $args['fields'] in the else block - 

{{{
<?php if ( is_user_logged_in() ) : ?>
	<?php echo apply_filters( 'comment_form_logged_in', $args['logged_in_as'], $commenter, $user_identity ); ?>
	<?php do_action( 'comment_form_logged_in_after', $commenter, $user_identity ); ?>
<?php else : ?>
	<?php echo $args['comment_notes_before']; ?>
	<?php
	do_action( 'comment_form_before_fields' );
	foreach ( (array) $args['fields'] as $name => $field ) {
		echo apply_filters( ""comment_form_field_{$name}"", $field ) . ""\n"";
	}
	do_action( 'comment_form_after_fields' );
	?>
<?php endif; ?>
}}}

I think it is better that added meta fields should be displayable for all users (logged in and not logged in), or even to add a parameter to let the developer decide which extra fields are shown to logged or not logged users.


",maorb
Consider for Next Major Release (has-patch),19012,get_ID and the_ID should accept $id as a parameter,ryan,Post Types,3.3,normal,normal,Future Release,enhancement,reviewing,has-patch,2011-10-20T04:56:28Z,2011-10-20T15:11:49Z,"I see throughout the WordPress code as well as throughout many plugins and themes that {{{get_ID()}}} is often accompanied by a test to see if an ID had been passed. It would be a harmless but extremely useful update to simply allow {{{get_ID()}}} and {{{the_ID()}}} to accept an optional $id and pass it through if it's numerical.

I've already gone ahead and created the patch (attached)",peterchester
Needs Milestone,16264,Add function get_pages_by_template(),,Post Types,3.1,normal,normal,Awaiting Review,feature request,new,has-patch,2011-01-16T19:38:15Z,2011-10-22T03:14:18Z,"This patch adds a function `get_pages_by_template()` to `/wp-includes/post.php`. It accepts a page template string and returns an array of post objects keyed by the pages that use the template:

{{{
$pages = get_pages_by_template( 'page-about.php' );
}}}

Using WordPress for CMS I've been finding a need to provide links to specific pages in a more robust way than hardcoding their `post_id` or even referencing their `post_name`/`URL slug` and the way I've identified that works well is to locate a page by it's page template. Here a function that a theme might write that would use the function I'm proposing be added:

{{{
function get_about_page_link() {
  $pages = get_pages_by_template( 'page-about.php' );
  if ( count( $pages ) )
    return get_page_link( get_post( $pages[0] )->ID);
  return false;
}  
}}}

Unfortunately WordPress does not have efficient functionality  in core that would allow a themer to lookup a page or a list of pages by their templates thus requiring the theme developer to resort to SQL which is ideally avoided. 

Thus I'm providing this patch to enable a themer to do this lookup without having to resort to SQL.
The patch also fixes a typo that affects phpdoc in the same file: @parem => @param.
",mikeschinkel
Needs Milestone,18946,Too long tags make the cross not moving anymore.,,Editor,3.2.1,normal,minor,Awaiting Review,defect (bug),new,,2011-10-14T13:13:48Z,2011-10-22T13:29:27Z,"If you have a long tag like a long title of a book or movie title or game title and you more the cross doesn't move with the tags.

Look to the screenshot for more info",jonezjea
Needs Milestone,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
Needs Milestone,16203,Modifications of media doesn't generate alternatives added by add_image_size(),,Media,3.0.4,normal,normal,Awaiting Review,defect (bug),new,,2011-01-12T16:03:51Z,2011-10-25T16:39:55Z,"Upload an image, then select ""Edit Image"".
Crop the image and Save.
Images with sizes added eith add_image_size() doesn't get alternatives generated as the standard sizes does.",andreaswedberg
Needs Milestone,19017,No way to add XSL to Feeds,,Feeds,3.2.1,normal,minor,Awaiting Review,defect (bug),new,has-patch,2011-10-20T16:50:31Z,2011-10-26T06:17:45Z,"To add XSL to a feed, for nicer display of feeds in browser, a line needs to be inserted before the root RSS tag.
For a plugin to add the correct code, there should be an action between `<?xml?> and `<rss>`
Perhaps something like `<?php do_action('rss2_xsl'); ?>` on line 12 of `feed-rss2.php`?",pathawks
Needs Milestone,17413,Code added by WP_List_Table::_js_vars is duplicated,sorich87,Administration,3.2,normal,normal,Awaiting Review,defect (bug),new,dev-feedback,2011-05-13T09:45:49Z,2011-10-27T17:58:16Z,"When a list table is 'ajax enabled' (e.g. comments list table on edit-comments.php), javascript code is added by WP_List_Table::_js_vars to the footer. If you look at the source code in your browser, you will see that code is duplicated.",sorich87
Needs Milestone,19055,Post type check on top of wp-admin/edit.php enhancement,,Post Types,,normal,normal,Awaiting Review,enhancement,new,dev-feedback,2011-10-26T10:04:48Z,2011-10-27T21:12:06Z,"I was looking into edit.php and I noticed that when you unregister post type 'post' on a hacky way it never would return as an invalid post type. I do know that this is just a little step to make unregistering a post type easy.

I would say that:

{{{
if ( !isset($_GET['post_type']) )
	$post_type = 'post';
elseif ( in_array( $_GET['post_type'], get_post_types( array('show_ui' => true ) ) ) )
	$post_type = $_GET['post_type'];
else
	wp_die( __('Invalid post type') );
}}}

should be:

{{{
if ( !isset($_GET['post_type']) )
	$_GET['post_type'] = 'post';

if ( in_array( $_GET['post_type'], get_post_types( array('show_ui' => true ) ) ) )
	$post_type = $_GET['post_type'];
else
	wp_die( __('Invalid post type') );
}}}

related: unregister_post_type() #14761",markoheijnen
Needs Milestone,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
Needs Milestone,19068,"admin comment search never resets URL, grows infinitely",,Administration,3.2.1,normal,normal,Awaiting Review,defect (bug),new,,2011-10-27T15:23:48Z,2011-10-28T11:53:53Z,"When searching from {{{ /wp-admin/edit-comments.php }}}
the URL will grow infinitely and never reset to it's base.

To reproduce this bug, simply search comments several times and then examine the resulting URL )by copying it to an editor). It will be over 1000 characters easily, because it's simply appending the previous searches and previous nonces for no useful reason.

Instead the form should just use {{{ /wp-admin/edit-comments.php }}} as it's submit base.

But that form should not be using GET in the first place.

Allowing overly long URLs is also a security problem as it can give a window for XSS attacks.

I wouldn't be surprised if this design flaw exists in other parts of WP admin but I'll leave that up to someone else who has more patience.

",_ck_
Needs Milestone,18910,get_blog_details query alteration for root-relative url plugin support...,,Multisite,3.2.1,normal,normal,Awaiting Review,enhancement,new,has-patch,2011-10-11T23:39:05Z,2011-10-28T22:28:13Z,"After reading through this ticket http://core.trac.wordpress.org/ticket/17048 and all of its referenced links / discussions I decided to write my own plugin to do root-relative urls.

However there is a core issue that prevents such a plugin from working when using path-based MU installs (versus subdomain installations where as it stands cannot support root relative urls... yet.)

Looks like the logic for path-based site detection was copied wholesale from the subdomain-based detection logic in the if-block just below it.  

I don't see a need to query both the path and the domain if the domain isn't going to change for a MU path-based install.  This fix proposes checking explicitly for is_subdomain_install == false and then only querying the database on the path column.  

If this patch doesn't account for some scenario in which path-based installs could actually have multiple domain addresses in the database then please add a filter to the $fields variable so that a plugin can handle the variance there.

I'm not here to start a root-relative vs absolute uri debate (I'm saving that for another day ;)  But basically the recommendation from the WP Core team is to do this in a plugin, yet we can't until this is fixed.

Thanks!
-Marcus

(ps - if you'd like to have the absolute uri / relative root debate I'm totally game! just email me :D)",MarcusPope
Needs Milestone,19085,Removing First Submenu Page in Admin Menu breaks URL for Menu Page,,Administration,3.1,normal,major,Awaiting Review,defect (bug),new,,2011-10-29T18:44:19Z,2011-10-29T20:39:29Z,"If you attempt to remove the Post Type Submenu Page in the Admin it breaks the Menu Page URL; it causes the Menu Page URL to be the same as the new first Submenu Page URL:

[[Image(http://screenshots.newclarity.net/skitched-20111029-142108.png)]]

Here is a simple class you can drop into the theme's `functions.php` file to experience this bug. This example is a minimum to trigger the error ''(I simplified the `register_post_type()` call so the example code would have fewer lines):''

{{{
<?php

class Trigger_Admin_Menu_Bug {
  static function on_load() {
    add_action( 'init', array( __CLASS__, 'init' ) );
    add_action( 'parent_file', array( __CLASS__, 'parent_file' ) );
  }
  static function init() {
    global $wpdb;
    register_post_type( 'test-cpt', array(
      'label'   => 'Test CPT',
      'show_ui' => true,
    ));
  }
  static function parent_file( $parent_file ) {
    remove_submenu_page( 'edit.php?post_type=test-cpt', 
                         'edit.php?post_type=test-cpt' );
    return $parent_file;
  }
}
Trigger_Admin_Menu_Bug::on_load();
}}}

I'd provide a patch but the admin menu code is more complex than I can fully understand.  Maybe the person who originally wrote it could fix it? 

Note: Sadly, this is a blocker for one of my client projects.  The client wants the admin menus simplified to reduce the conceptual load on their end users because we are adding many other submenu pages.  Plus I've traced through the core WP code with a debugger for many hours looking for hooks that would allow me to get around this issue, but there simply are no hooks where it would be needed to hack a fix for this.",mikeschinkel
Needs Milestone,19028,make_clickable fails when <a ...> contains \r characters,,Formatting,3.2.1,normal,minor,Awaiting Review,defect (bug),reopened,needs-unit-tests,2011-10-22T07:00:35Z,2011-11-02T00:34:43Z,"Hi.

I'm using the make_clickable php function in my project SaltOS to add the links feature to the email client and feeds reader.

I detect that when try to make clickable the urls that has the link tag and this tag contains \r characters it fails.

I fixed the problem removing all \r of the <a ...> tag but understand that can be a possible bug.

Thanks in advance.",josepsanzcamp
Needs Milestone,19109,Want display fullscreen button only html editor mode.,,Editor,3.2.1,normal,normal,Awaiting Review,feature request,new,,2011-11-02T03:18:48Z,2011-11-02T03:37:55Z,"v3.2.1 writing fullscreen mode is display button both visual mode and html mode or visual mode only.

I want to display html mode only button. Want the following specification.

1. visual mode and html mode
2. visual mode only
3. html mode only <- new

Regards.",tatsuya
Consider for Next Major Release (has-patch),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
Needs Milestone,18679,Images added via SSL admin backend are included via https in the frontend,,Media,3.2.1,normal,major,Awaiting Review,defect (bug),new,reporter-feedback,2011-09-16T05:44:52Z,2011-11-02T20:51:52Z,"When logged in to the admin interface via a secure connection (SSL / HTTPS), images that are being added to an article will reference the image URL with https:// as opposed to http://

This behaviour is inconsistent as the method the admin interface is access shall be independent of the frontend output.

It also can break output in case of using self-signed SSL certificates. In that case a client may display the blog correctly, but without any images (or error icons for the images).",multimule
Consider for Next Major Release (has-patch),2877,A Slash too much @ get_pagenum_link(),,General,2.0.3,normal,normal,Future Release,defect (bug),reopened,has-patch,2006-06-29T17:47:30Z,2011-11-05T17:38:23Z," * File: template-functions-links.php
 * Function: get_pagenum_link()

The following code is at the end of the function:

{{{
	// showing /page/1/ or ?paged=1 is redundant
	if ( 1 === $pagenum ) {
		$qstr = str_replace('page/1/', '', $qstr); // for mod_rewrite style
		$qstr = remove_query_arg('paged', $qstr); // for query style
	}
}}}

If you work with the mod_rewrite style, you will get this URL for the first page:

http://www.example.com/wordpress/index.php/
This wont work (/ at the end).

Correx:
{{{
	// showing /page/1/ or ?paged=1 is redundant
	if ( 1 === $pagenum ) {
		$qstr = str_replace('/page/1/', '', $qstr); // for mod_rewrite style
		$qstr = remove_query_arg('paged', $qstr); // for query style
	}
}}}

Notes:

 * sry for my bad english...
 * i've downloaded a german translation of wordpress 2.0.3, so maybe its just in this version... ?!
",dave@…
Needs Milestone,19135,wp_get_archives() needs a hook/filter,,General,,normal,normal,Awaiting Review,enhancement,new,dev-feedback,2011-11-03T22:12:19Z,2011-11-05T20:20:01Z,"I would expect that it would have one. It was proposed at one point: #2329

Consider the case where I want to add `rel=""nofollow""` to links in my archive:


{{{
function nofollow($string) {
    $dom = DOMDocument::loadXML($string);
    $list = $dom->getElementsByTagName('a');
    foreach($list as $a) {
        if (!$a->hasAttribute('rel')) {
            $a->setAttribute('rel', 'nofollow');
        }
    }
    return $dom->saveHTML();
}
ob_start();
wp_get_archives('type=monthly&limit=12');
echo nofollow(ob_get_clean());
}}}


That seems really ugly, especially since I already use the nofollow function in other places using `apply_filter`;

A more elegant way:
{{{
function wrap($string, $tag) {
    return ""<$tag>$string</$tag>"";
}
function nofollow($string) {
    $dom = DOMDocument::loadXML($string);
    $list = $dom->getElementsByTagName('a');
    foreach($list as $a) {
        if (!$a->hasAttribute('rel')) {
            $a->setAttribute('rel', 'nofollow');
        }
    }
    return $dom->saveHTML();
}
add_filter('wp_get_archives', 'wrap', 'ul');
add_filter('wp_get_archives', 'nofollow');
wp_get_archives('type=monthly&limit=12');
}}}",LeviMorrison
Consider for Next Major Release (has-patch),16496,Make $sample_permalink_html human-readable on Edit Post screen,,Formatting,,normal,normal,Future Release,enhancement,new,has-patch,2011-02-08T19:40:23Z,2011-11-06T12:00:31Z,"If the permalink contains words with non-latin characters (for example the permalink structure is /%category%/%postname%/ and the assigned category is non-English) the $sample_permalink_html, which is echoed by [http://core.trac.wordpress.org/browser/branches/3.1/wp-admin/edit-form-advanced.php#L260 edit-form-advanced.php], is not human readable on Edit Post screen (below the title). The editable part of the permalink (the one that comes from the title of the post) ''is'' readable.

$sample_permalink_html should be urldecoded at some stage before echoed.

Screenshot attached.",linuxologos
Needs Milestone,19110,Media File Url,,Media,,normal,normal,Awaiting Review,enhancement,new,,2011-11-02T05:58:42Z,2011-11-07T10:41:44Z,"The media file URL includes the site URL this makes running two identical copies of the same site problematic since it would require doing a search and replace through a dumped database for each synchronization.

The following is stored in the guid column: 
http://braydon.com/wp-content/uploads/2011/10/BGF028_500x606.jpg

My recommendation is to store in the guid column:
/wp-content/uploads/2011/10/BGF028_500x606.jpg

Which then could become:
http://braydon.com/wp-content/uploads/2011/10/BGF028_500x606.jpg
http://mirror1-of-braydon.com/wp-content/uploads/2011/10/BGF028_500x606.jpg
http://mirron2-of-braydon.com/wp-content/uploads/2011/10/BGF028_500x606.jpg
http://braydon.localhost/wp-content/uploads/2011/10/BGF028_500x606.jpg

Although this could cause a problem to how the guid field is to be handled, and a new column would need to be made.",braydonf
Needs Milestone,19188,Only one dashboard widget can't be moved into second column unless Screen Options is expanded,,General,2.9,normal,normal,Awaiting Review,defect (bug),new,,2011-11-06T22:02:54Z,2011-11-07T21:01:20Z,"A crazy weird issue. Since 2.9, a single dashboard widget can't be dragged (easily) into the second column unless the Screen Options are expanded. 

Screencast: http://cl.ly/3y0j1o2f3A2f3l06120R",ryanimel
Needs Milestone,17478,Disable Comments for Pages / Disable Comments for Pages Site-Wide,,General,3.1.2,normal,normal,Awaiting Review,feature request,new,,2011-05-17T19:04:25Z,2011-11-08T16:23:44Z,"Ladies and gentlemen, 

it's been suggested on the Forum that I start a new ticket here. I think it's a good idea. 

Here's a couple of suggestions that I believe if implemented would greatly improve WordPress functionality and popularity:

1) Make the Display Widget  for pages visible by default, the way it was before the WordPress 3.0. Many non-blog WordPress website owners, and many bloggers, want the comments for pages disabled, but have no idea how to do that, because the Discussion checkbox in the Screen Options panel for Pages  is deselected by default. As a result, most people new to WP 3 have no idea that Discussion Widget even exists, and have trouble disabling comments on pages. 

Disabling such comments is very necessary in many situations. For example, a page that includes only a contact form, shouldn't have comments. Most WordPress users do not need their portfolios, or their ""About"" pages commented – and so on. 

2) Create the checkbox that would allow to toggle all comments (old and new) comments for all pages with one click – and a separate checkbox that would allow to toggle all comments (old and new) for all posts – site-wide. 

Many WordPress based business websites have hundreds of pages, and it would save a lot of time if the owner or designer could just disable the comments by deselecting one checkbox. I do realize it can be easily done by commenting out the comments in the code, but wouldn't it be nicer to have it as a checkbox option? 

Some of the owners of such sites want to have a blog on their site, too - and want to have comments as a traditional part of blog functionality. That's what comments for pages and posts should be toggle-able site-wide independently from each other. 

For best experience, the post comments should also have a toggle checkbox. Some owners may want to disable comments for all posts site-wide, too. 

To see where this request is coming from, please Google ""disable comments for pages wordpress"" and you will see that the issue does cause quite a bit of confusion. 

Also please see this thread of the WordPress support forum about: http://wordpress.org/support/topic/disable-comments-for-page-option/

I hope this suggestion helps to improve WordPress – already the greatest open source CMS platform.

Best regards, 

Dimitri Vorontzov
 ",Dimitri Vorontzov
Consider for Next Major Release (has-patch),18724,Non functioning 'paged' input on theme/plugin search,,Administration,3.1,normal,minor,Future Release,defect (bug),new,has-patch,2011-09-20T13:09:04Z,2011-11-08T20:56:31Z,"In the WordPress Admin -> Install Themes -> Search ... The page number input is not functional.

Same for plugin search.",kurtpayne
Consider for Next Major Release (has-patch),17704,Automatically enqueue necessary scripts when custom meta boxes are used,,Administration,,normal,normal,Future Release,enhancement,new,has-patch,2011-06-06T05:53:43Z,2011-11-08T21:30:11Z,"Right now if you add_meta_box() to a custom page, like using add_submenu_page() and then calling do_meta_boxes(), the screen options and post box JS don't work automagically. They should.",mitchoyoshitaka
Needs Milestone,19211,WordPress should be properly capitalized in the HTML title,,General,,normal,normal,Awaiting Review,enhancement,new,has-patch,2011-11-08T23:49:59Z,2011-11-09T04:59:43Z,"The HTML title element doesn't get properly capitalized P's, only the post title does.

For example: http://gigaom.com/2011/11/08/wordpress-founder-matt-mullenweg-to-speak-at-roadmap/",evansolomon
Needs Milestone,19197,phplinter error reports against wordpress core.,,General,,normal,normal,Awaiting Review,defect (bug),new,close,2011-11-07T17:34:14Z,2011-11-09T14:42:40Z,"One of our developer has been developing phplinter which can be found here [1] which gives wordpress core rather poor grade many of which are simply due to you guys having spaces mixed with tabs and whitespace after final close tag and others generally considered bad practices and few probably more serious.

Instead of me filing indvidual bugs for all of those I think it's best that you just git pull the phplinter and run it against wordpress then point your web browser against the report and flag/fix those that are relevant and those that are not.

An simple cli example is as follow...

#phplinter -wFIH  wordpress/ -o lintreport/ 

380 files, Average score: -2.86

Worst: wp-includes/class-simplepie.php with -303.39

[1] https://github.com/robotis/PHPLinter",vikingnr1
Consider for Next Major Release (has-patch),19206,Improve internal admin menu code,,Administration,3.3,normal,normal,Future Release,defect (bug),new,has-patch,2011-11-08T17:53:44Z,2011-11-09T16:27:02Z,"The internal admin menu code is both hard to read and filled with several unnecessary branches. This makes maintaining the code quite difficult.

A few uses of list and smarter branching can considerably improve _wp_menu_output. Patch attached. Let's revisit this when we branch for 3.4.",koopersmith
Needs Milestone,18824,Password protected pages don't work if site address is different from wordpress address,,General,3.2.1,normal,normal,Awaiting Review,defect (bug),new,has-patch,2011-09-30T13:15:08Z,2011-11-09T21:44:28Z,"Hi,

On a 3.2.1 wordpress site, we notices that password protected pages didn't work.

Site address is in another domain (x.com) than wordpress address (y.com).

If we set the same domain for both of them, protected pages work again.

I think I understood what was going on:

1. the browser gets the form for the password via siteurl.
2. however the forms posts data to wordpress address (wp-pass.php), and the browser gets the cookie within this domain (and not siteurl domain)
3. the browser is redirected to siteurl, but the cookie doesn't work (domain mismatch).

I corrected wp-pass.php, by replacing get_option('siteurl') by get_option('home'), and it worked.",3singes
Consider for Next Major Release (has-patch),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
Consider for Next Major Release (has-patch),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
Needs Milestone,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
Needs Milestone,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
Consider for Next Major Release (has-patch),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
Needs Milestone,19192,Wrong term count for private posts,,General,,normal,normal,Awaiting Review,defect (bug),new,close,2011-11-07T09:00:15Z,2011-11-14T21:22:33Z,"The term manager page (wp-admin/edit-tags.php) shows wrong counts when the terms contain private posts. 

Steps to reproduce:
 - Create a private post and assign it to a category or a tag.
 - Visit the wp-admin/edit-tags.php

The term count does not change. However, when you click on the posts column, the edit posts screen will correctly show the private post.",xknown
Consider for Next Major Release (has-patch),16876,"Separate msgid ""Post"" from wp-includes/post.php:1154 for the administration menu and custom menu creation screen",,I18N,3.1,normal,normal,Future Release,enhancement,new,has-patch,2011-03-17T15:56:51Z,2011-11-15T00:34:32Z,"Hey! It seems that both the custom menu creation screen and the administration menu bar are using the same translation. Could you please separate them? Here's the relevant bit of tags/3.1/wordpress.pot:


{{{
 2700 #: wp-includes/post.php:1154
 2701 msgctxt ""post type singular name""
 2702 msgid ""Post""
 2703 msgstr """"
 2704 
 2705 #: wp-includes/post.php:1154
 2706 msgctxt ""post type singular name""
 2707 msgid ""Page""
 2708 msgstr """"
}}}



Cheers!
WJ",waclawjacek
Consider for Next Major Release (has-patch),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
Needs Milestone,18048,Ctrl+S draft save causes prompt on exit,,Administration,,normal,normal,Awaiting Review,defect (bug),new,close,2011-07-09T12:25:25Z,2011-11-15T03:45:49Z,"When you use the ""save draft"" button and leave the edit page, the ""unsaved changes"" prompt doesn't show up. However, when you save using Ctrl+S and leave - the prompt appears.",jakub.tyrcha
Needs Milestone,18988,"On install, IIS web.config missing setting for ""index.php"" as default page type",,IIS,3.2.1,normal,normal,Awaiting Review,defect (bug),new,,2011-10-18T17:50:05Z,2011-11-15T08:51:42Z,"If WordPress is installed in the root directory (e.g., www.example.com) on a server not pre-configured for PHP, ""index.php"" will not be a default page name on the server.  This leads to 404 errors when requesting the homepage (e.g., www.example.com).

A simple fix is to update the web.config for the WordPress install to add this:

<?xml version=""1.0"" encoding=""UTF-8""?>
<configuration>
    <system.webServer>
        <defaultDocument>
            <files>
                <add value=""index.php"" />
            </files>
        </defaultDocument>
        <rewrite>
            <rules>
                <rule name=""Main Rule"" stopProcessing=""true"">
                    <match url="".*"" />
                    <conditions logicalGrouping=""MatchAll"">
                        <add input=""{REQUEST_FILENAME}"" matchType=""IsFile"" negate=""true"" />
                        <add input=""{REQUEST_FILENAME}"" matchType=""IsDirectory"" negate=""true"" />
                    </conditions>
                    <action type=""Rewrite"" url=""index.php/{R:0}"" />
                </rule>
            </rules>
        </rewrite>
    </system.webServer>
</configuration>


",scdetailer
Needs Milestone,18851,search form in edit.php should keep parameters it does not understand,,Administration,,normal,normal,Awaiting Review,enhancement,new,,2011-10-03T21:48:17Z,2011-11-15T11:29:40Z,"the component is class-wp-list-table.php.

if you carry along some kind of status in the url in the post list (e.g. url=https://example.com/wp-admin/edit.php?post_type=post&my_status=""abcdefg"") the search field should not remove the parameter.",ibotty
Consider for Next Major Release (has-patch),12405,Query String based Permalinks,ryan,Permalinks,3.0,normal,normal,Future Release,enhancement,new,has-patch,2010-02-27T05:57:54Z,2011-11-15T21:33:21Z,"Here's a 80% working patch to implement query string based permalinks ({{{/?%year%/%monthnum%/%postname%/}}}) mentioned in #12404.

Try
 1. http://example.com/ (home URL)
 2. http://example.com/?nothing (query string with args that don't have anything to do with the permalink structure)
 3. http://example.com/?2010/02/hello-world/ (a post)

I'm not sure if this is the best implementation.  It's also hacked together (fixing the {{{$match}}}es on the fly instead of generating the real rewrite rules, for example).  Call it a proof of concept.

Canonical redirects don't work correctly when using query string permalinks with this patch (?p=1 doesn't redirect).",mdawaffe
Consider for Next Major Release (has-patch),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
Needs Milestone,18575,wptexturize modifies code inside tag attributes,,Formatting,3.2,normal,normal,Awaiting Review,defect (bug),new,has-patch,2011-09-02T22:36:25Z,2011-11-16T00:10:37Z,"In certain circumstances, wptexturize() will try to smart quote things inside attributes, screwing up the markup. For example:

{{{
[hello <a href=""foo[bar]('baz')"">world</a>
}}}

The tokenizer that generates $textarr will split the text like this:

{{{
0: [hello <a href=""foo[bar]
1:('baz')"">world
2:</a>
}}}

and so element 1 gets treated like non-tag text even though it's from an attribute. the easy fix is to not allow starting braces inside a brace set:

old:
{{{
$textarr = preg_split('/(<.*>|\[.*\])/Us', $text, -1, PREG_SPLIT_DELIM_CAPTURE);
}}}

new:
{{{
$textarr = preg_split('/(<[^<]*>|\[[^\[]*\])/Us', $text, -1, PREG_SPLIT_DELIM_CAPTURE);
}}}

this happens on trunk. code is in wp-includes/formatting.php. after the patch, the tokenizer works as intended:


{{{
0: [hello
1: <a href=""foo[bar]('baz')"">
2: world
3: </a>
}}}
",iamcal
Needs Milestone,18701,"""hierarchical"" argument for get_pages() does nothing",,General,3.0,normal,normal,Awaiting Review,defect (bug),new,,2011-09-19T06:48:32Z,2011-11-16T00:17:33Z,"The `hierarchical` argument for `get_pages()` is never actually used. It is in an `if` statement, but one that requires `child_of` to also be set:

{{{
if ( $child_of || $hierarchical )
	$pages = & get_page_children($child_of, $pages);
}}}

Props Vynce Montgomery for pointing this out to me.",Viper007Bond
Needs Milestone,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
Needs Milestone,18613,get_adjacent_post() doesn't find private posts,,General,,normal,normal,Awaiting Review,enhancement,new,has-patch,2011-09-07T15:52:25Z,2011-11-16T00:49:50Z,The status is always 'publish'.,scribu
Needs Milestone,18518,suggest.js: don't store the URL in the options object,,General,,normal,normal,Awaiting Review,enhancement,new,has-patch,2011-08-25T20:35:21Z,2011-11-16T00:51:03Z,"...because it prevents re-using the same instance for different URLs:

{{{
var suggest_args = {
	multiple     : true,
	delimiter    : ',',
	resultsClass : 'qc-suggest-results',
	selectClass  : 'qc-suggest-over',
	matchClass   : 'qc-suggest-match',
};

$( '#ticket-assign input' ).suggest( QC_L10N.ajaxurl + '?action=qc-user-search', suggest_args );

$( '#ticket-tags input' ).suggest( QC_L10N.ajaxurl + '?action=ajax-tag-search&tax=post_tag', suggest_args );
}}}

With the above code, both inputs will look for items in the same URL: the second one.

Attached patch fixes this.",scribu
Needs Milestone,16612,WordPress should return nocache headers for requests with comment cookies,,General,,normal,normal,Awaiting Review,enhancement,new,,2011-02-21T22:45:21Z,2011-11-16T00:51:57Z,"Most themes, when displaying the comment form, change the HTML to pre-fill username, email address, and website when comment cookies are received in the HTTP request.  Since the response does not have explicit nocache headers, per RFC2616 (http://www.ietf.org/rfc/rfc2616.txt) intermediate caches can use heuristics to determine the cache TTL for the response.  Since there is 0 freshness data in the response, it is not really possible to perform good heuristics, but in practice, caches will assign a default TTL to this type of response.  The result is that private information input by user A when submitting a comment can be returned to user B when making a request for the same URL.  

To protect ourselves against this, we should call nocache_headers() when comment cookies are sent and the comment form is being displayed.  Alternatively, we can send nocache headers for all requests with comment cookies regardless of the comment form being displayed or not (probably easier and maybe safer).

http://humboldtherald.wordpress.com/2011/01/27/gremlins/ is a story likely caused by an aggressive cache and the lack of nocache headers.",barry
Needs Milestone,18117,get_blog_details is sensitive to path's trailing slash,,Multisite,3.0,normal,normal,Awaiting Review,defect (bug),new,dev-feedback,2011-07-14T20:20:39Z,2011-11-16T01:32:02Z,"STR:
1. Create a site, then edit it so that the domain is the main domain and the path is /sub. Note that the admin doesn't turn this into /sub/, nor give an error.
2. Go to /sub/wp-admin. You'll notice it doesn't redirect, but it just gives you the main site's wp-admin. Going to /sub also just gets interpreted as a URL for the main site.

Potential solutions:
1. Make the admin automatically turn the path of /sub into /sub/.
2. Make get_blog_details match modulo trailing slash.
3. (Document carefully in Codex and hope people read it.)",mitchoyoshitaka
Needs Milestone,19069,Admin menu generation doesn't check whether default post types have 'show_ui' as true,,Administration,,normal,normal,Awaiting Review,defect (bug),new,has-patch,2011-10-27T19:47:06Z,2011-11-16T05:00:27Z,"While patching #19055, I found wp-admin/menu.php doesn't check whether default post types have 'show_ui' set to true. The Comments menu is also displayed regardless of whether available post types support comments or not.",kawauso
Needs Milestone,18271,Item hierarchy should be maintained when adding to menu,,Menus,3.2.1,normal,minor,Awaiting Review,defect (bug),new,,2011-07-27T20:13:35Z,2011-11-16T06:25:49Z,"Situation:

Create a hierarchy of categories or pages and go to create a custom menu. In the meta boxes on the left hand side, the categories and pages are shown in hierarchical arrangement. Select all categories (for example) and add to menu.

Expected behaviour:

All links are added to custom menu and the hierarchy is maintained appropriately

Actual behaviour:

Hierarchy is lost and all menu items are top-level

This was originally raised by Jane in #17029 however the changeset in the ticket only applies to showing hierarchy in the meta boxes and doesn't cover maintaining hierarchy when adding to menu.",JohnONolan
Needs Milestone,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
Needs Milestone,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
Needs Milestone,19256,Ability to mark a comment as spam from the trash,,Comments,2.9,normal,normal,Awaiting Review,enhancement,new,,2011-11-16T03:07:48Z,2011-11-16T09:42:58Z,"Say you're scrolling through comments in the trash and you realize a comment should have ended up in spam instead.

There's no easy way to untrash then re-spam the comment — you'd lose it and it'd get restored to its previous status. You can't edit it and modify its status from there, either.

I think there should probably be a way to spam a comment from the trash. (For that matter, I don't think there's an issue with being able to edit a trashed comment, too. Perhaps you want to modify it then untrash/approve it.)",nacin
Needs Milestone,19264,Add get_nav_menu_item_children(),,Menus,,normal,normal,Awaiting Review,enhancement,new,has-patch,2011-11-16T19:09:23Z,2011-11-16T19:09:23Z,"Just as get_page_children() exists, it would be good to have get_nav_menu_item_children(). Since the object is different the code get_page_children() needs to be slightly modified.",wpsmith
Needs Milestone,19272,Add Filter to Nav Menu Support Themes Text,,Menus,,normal,trivial,Awaiting Review,enhancement,new,has-patch,2011-11-16T22:47:52Z,2011-11-16T22:47:52Z,"Frameworks could use a filter here to customize the message: _n('Your theme supports %s menu. Select which menu you would like to use.', 'Your theme supports %s menus. Select which menu appears in each location.', $num_locations ). For example, it may be the child theme that doesn't support the menus. Also, if none are supported (say via add_theme_support), then when it's zero, it says: ""Your theme supports 0 menus. Select which menu appears in each location."" (which doesn't make much sense). So adding a filter can enable theme developers to further customize.

An example use case:
add_filter( 'nav_menu_theme_support_text' , 'wps_nav_menu_theme_support_text' );
function wps_nav_menu_theme_support_text ( $num_locations ) {
	if ( $num_locations == 0 )
		$text = 'Your child theme does not support custom menus.';
	else
		$text = _n('Your theme supports %s menu. Select which menu you would like to use.', 'Your theme supports %s menus. Select which menu appears in each location.', $num_locations );
	return $text;
}",wpsmith
Needs Milestone,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
Needs Milestone,17847,wp_kses_hair is too stringent,,Formatting,1.5,normal,normal,Awaiting Review,defect (bug),new,has-patch,2011-06-19T21:29:46Z,2011-11-17T20:38:47Z,"attributes from custom xml name spaces may use colons, but the regex used inside wp_kses_hair doesn't allow them through.  ",jorbin
Consider for Next Major Release (has-patch),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
Needs Milestone,19278,Allow WP_List_Table ::get_bulk_items() to receive a nested array and output optgroups,,Administration,,normal,minor,Awaiting Review,enhancement,new,,2011-11-17T17:25:37Z,2011-11-17T21:38:59Z,"I'm just putting this out there as a possible enhancement to the WP_List_Table... would like feedback as to whether anyone else would find it helpful. If so, I'm more than happy to write up a patch for this.

I think it may be useful to be able to pass a nested array to `WP_List_Table::get_bulk_actions()` and have it output the options within the subarray in an `<optgroup>`. My specific use case is in applying meta fields to a custom table. I would like to be able to define something like this in my `get_bulk_items` function:

{{{

function get_bulk_actions() {
	$actions = array(
		'delete' => 'Delete',
		'outofstock' => 'Mark out of stock',
		'applytags' => array(
			'label' => 'Apply tags to products',
			'actions' => array(
				'featured' => 'Featured',
				'sale' => 'On Sale'
				)
			)
		);
	return $actions;
}

}}}

and have the output look something like this:


{{{
<select name=""action"">
	<option value='-1' selected='selected'>Bulk Actions</option>

	<option value='delete'>Delete</option>
	<option value='outofstock'>Mark out of stock</option>
	<optgroup label=""Apply tags to products"">
		<option value='feature'>Featured</option>
		<option value='sale'>On sale</option>
	</optgroup>
</select>

}}}

A very minor feature, and possibly too fringe of a use case to bother with. But I've worked on a couple projects now where being able to specify markup like that would have made that screen more user-friendly. Any thoughts?",goldenapples
Needs Milestone,17398,Logout with ays should still respect redirect_to,mitchoyoshitaka,General,2.8.4,normal,minor,Awaiting Review,feature request,new,has-patch,2011-05-12T14:46:24Z,2011-11-18T17:19:57Z,"When logging out with a bad nonce, you're taken to the ""Are you sure?"" page, but even if you were sent there with a redirect_to parameter, this parameter is later ignored when you do choose to log out.",mitchoyoshitaka
Needs Milestone,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
Consider for Next Major Release (has-patch),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
Needs Milestone,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
Needs Milestone,19306,"remove_all_filters() should set to array(), not unset",,Plugins,,normal,normal,Awaiting Review,enhancement,new,has-patch,2011-11-20T19:11:49Z,2011-11-21T10:01:56Z,"Consider this use case: You want to hook into priority 0 of an action and run remove_all_actions() for all other callbacks.

Since we use current() and next() to iterate, rather than making a copy of $wp_filter to loop through it, this should work.

Unfortunately, current() and next() expect an array, and only stop when next() returns === false. remove_all_filters() does an unset() on $wp_filter[$tag], which means next() returns A) a warning, and B) null. The null causes an indefinite loop.

Test code:
{{{
add_filter( 'test_filter', function() { remove_all_filters( 'test_filter' ); return 0; }, 0 );
add_filter( 'test_filter', function() { return 1; }, 1 );
add_filter( 'test_filter', function() { return 2; }, 2 );
var_dump( apply_filters( 'test_filter', -1 ) );
}}}",nacin
Needs Milestone,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
Consider for Next Major Release (has-patch),17545,Pagination Broken on Network Admin > Edit Site > Themes,,Network Admin,3.2,normal,normal,Future Release,defect (bug),new,has-patch,2011-05-23T17:27:45Z,2011-11-22T17:11:53Z,"Pagination is broken in network admin on pages such as https://example.com/wp-admin/network/site-themes.php?id=XXXXX

You can navigate through pages using the arrow buttons, but entering a page number just reloads the page you’re currently on.

Steps to reproduce:

- From network admin, ""search sites""
- Edit site
- Click ""themes"" tab
- Enter any valid page number in the text field
- Hit enter",pmaiorana
Consider for Next Major Release (has-patch),18002,Entering page number for spam comments takes you to page 1,,General,3.2,normal,normal,Future Release,defect (bug),new,dev-feedback,2011-07-06T11:27:25Z,2011-11-22T17:17:15Z,"When browsing through spam comments, I attempt to view pages in the middle of the set (e.g. page 9 of 13) using the number-entry feature (at the top right) introduced in WP 3.1. Unfortunately, in WP 3.2 this feature has been broken, and when I press Enter, it substitutes '1' for the page number I enter, and then takes me to page 1. I have tried this when browsing posts or normal comments, and it doesn't happen; it only happens when viewing spam comments. I have tried it on Chrome in Linux and Safari on Mac OS X and the same thing happens.",IndigoJo
Needs Milestone,19332,'Edit Category' page lacks hooks to edit form fields,,General,3.2.1,normal,minor,Awaiting Review,enhancement,new,,2011-11-22T17:18:13Z,2011-11-22T17:18:13Z,"The default 'Name', 'Slug' and 'Description' form fields are stuck in place on Categories and Custom Taxonomies. 
There are hooks before and after the form (eg {$taxonomy}_pre_edit_form), but nothing to modify the basic output. 
These fields, especially 'slug', can scare civilians and it would be nice not to have to use JS to hide them.",duncanjbrown
Needs Milestone,19288,Erroneous custom taxonomy screen menu behaviour,,General,3.0,normal,trivial,Awaiting Review,defect (bug),new,,2011-11-18T11:36:26Z,2011-11-24T16:24:31Z,"I don't think this could get any more edge case and it's of trivial severity, but I thought I'd report it for completeness' sake.

If a user has the ability to manage terms on a post type, but not the ability to edit posts of that post type, and the post type has more than one taxonomy, then the post type menu doesn't expand as expected when viewing one of the term management screens for that post type.

Steps to reproduce:

 * Register a custom post type that uses its own capability mapping (resulting in `edit_foos` etc).
 * Register at least two custom taxonomies for this post type, with or without its own capability mapping.
 * Give a user (or role) the ability to manage the taxonomy terms but not the ability to edit posts of the post type.

When viewing one of the term management screens for the given post type, the menu doesn't expand as expected (although the new 3.3 fly-outs do show).
",johnbillion
Needs Milestone,19368,UTF-8 characters truncated mid-byte sequence in excerpt in RSS2 feed,,Feeds,,normal,normal,Awaiting Review,defect (bug),new,,2011-11-27T05:54:33Z,2011-11-27T15:08:14Z,"I received [https://code.google.com/p/feedparser/issues/detail?id=306 a bug report at a project I maintain] and discovered what appears to be a bug in Wordpress 3.2.1.

The trouble is that the `description` element is being truncated in the middle of a UTF-8 multibyte character, which is producing garbage binary data. An example can be found at:

http://www.arnaudmontebourg.fr/?feed=rss2

I downloaded [http://themocracy.com/2009/07/alibi3col-free-wordpress-theme/ the site's theme] but found nothing that would affect `post_excerpt` or `the_excerpt_rss`. I then downloaded Wordpress trunk and attempted to figure out where the problem might be, but I'm unfamiliar with the Wordpress source and couldn't find anything after tracing through multiple files using grep.

I did discover that `trackback_url_list()` in `wp-includes/post.php` appears to be using a simple `substr()` call that might cause problems with multibyte characters. However, I'm more concerned with the potential for malformed feeds.

I've included a copy of the feed XML in question for longevity.",kurtmckee
Needs Milestone,18396,"Custom post type of ""tab"" creates query conflict with media uploader.",,Media,3.0,normal,normal,Awaiting Review,defect (bug),new,,2011-08-13T20:12:11Z,2011-11-28T23:00:38Z,"1. Create a custom post type with name ""tab""
2. Upload media in  (either attached to a post, or not)
3. Return to media uploader and click on ""Library"" tab, no images are pulled

The query being called will check for a post_type of tab with the post_name library, looks like it's due to ""tab=library"" being in the query string. Change the post type or remove the its registration and the problem disappears.

Details: WP 3.0+ (trunk, too), no plugins, TwentyEleven child theme only having a functions.php with the register_post_type function called on init.

I'd love to submit a patch to account for this or it could be listed as a reserved word for custom post types. Looking for direction for next steps. ",theandystratton
Needs Milestone,19388,plugin_basename returns full directory in URL,,Plugins,3.3,normal,minor,Awaiting Review,enhancement,new,has-patch,2011-11-29T00:36:36Z,2011-11-29T01:25:50Z,"If a trailing slash is specified on either then WP_PLUGIN_DIR or WPMU_PLUGIN_DIR settings, the plugin_basename function returns the whole directory path in the URL.

The documentation does state not to use a trailing slash, however I think this function could be improved.

By removing the explicit / in the preg_replace the correct plugin name will be returned even if a trailing slash is specified on the WP_PLUGIN_DIR or WPMU_PLUGIN_DIR constants.

This should not affect the relative path as the trim before the return takes care of stripping off the first slash if it exists (effectively duplicating the remove in this case).

While this is a very trivial change that won't affect most people (who read the docs properly) it was quite annoying to track down.

Please see the attached diff.",damianzaremba
Needs Milestone,19383,Hide post formats next to post titles if the active blog theme does not support post formats,,General,3.1,normal,normal,Awaiting Review,defect (bug),new,,2011-11-28T18:16:12Z,2011-11-29T18:47:55Z,"If I'm using a theme that supports post formats—e.g. Twenty Eleven—then next to each title on `wp-admin/edit.php` I'm able to see not only the title name but also the post format that corresponds to its respective post.

If I switch to a theme that does not support post formats at all I am still able to see post formats associated with their respective posts.

This is not good for a few reasons:

* Showing a post format next to a title while a theme that doesn't support post formats is active is confusing. ""Why does my post have the word Image/Link/Status/Quote by it? What does that mean?""
* There is no way to edit or remove a post format associated with a post when a theme that does not support post formats is active, so the labels are useless.

When a theme that does not support post formats is active those format labels should be hidden. The posts can of course still retain their formats in case a user switches back to a theme that supports theme, but otherwise they should be hidden.",philiparthurmoore
Needs Milestone,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
Consider for Next Major Release (has-patch),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
Needs Milestone,19308,"C-style hexadecimal is incorrectly ""fixed"" to change the 'x' into a mathematical '×'",,Formatting,2.1,normal,normal,Awaiting Review,enhancement,new,needs-unit-tests,2011-11-21T00:39:00Z,2011-11-30T16:49:55Z,"Pretty much what the title says. I'm running trunk. ""0x07"" gets converted to ""0×07"".

I've attached a patch which fixes this issue by not performing the conversion if the first number starts with a zero -- this is not perfect, and I might have a go at something better when it's not 0030, if you guys decide this should be changed.

My $0.02 - since it's a bit odd to multiply zero by something, I don't think that very many people will expect/want this conversion to happen -- and the lack of conversion is unlikely to confuse those that do. 

On the other hand, this conversion is confusing for any blog post using this hex notation, and does make those posts actually wrong.

",harrym
Consider for Next Major Release (has-patch),12955,Add get_post filter,,General,,normal,normal,Future Release,feature request,new,has-patch,2010-04-10T13:50:07Z,2011-12-01T19:18:07Z,This patch filters the return value of the get_post() function. I would find this very helpful for a plugin I'm developing.,JohnLamansky
Needs Milestone,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
Needs Milestone,18804,"Add ""has-post-thumbnail"" class to post_class() when there's a featured image",danielbachhuber,General,,normal,minor,Awaiting Review,enhancement,assigned,dev-feedback,2011-09-28T17:55:45Z,2011-12-03T11:11:00Z,"It would be nice to have an ""has-post-thumbnail"" or similar class added when there's a featured image associated with the post.",danielbachhuber
Needs Milestone,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
Needs Milestone,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
Needs Milestone,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
Needs Milestone,19449,"Fix Farbtastic to make it work with empty input fields, too",,External Libraries,3.3,normal,normal,Awaiting Review,enhancement,new,dev-feedback,2011-12-05T17:38:08Z,2011-12-05T17:38:08Z,"Farbtastic requires that the color input field has either a color value or at least a '#' character. If it's empty it won't work. This seems like an artificial limitation and requires workarounds if the integrated Farbtastic is used for input fields that may be empty, i.e. for theme or plugin options where the color is optional. If the color fields has a default value there's no issue but having empty color fields is a useful and valid use case. 

This could be fixed in /wp-admin/js/farbtastic.js, line 192

Old:
if (this.value && this.value != fb.color) {

New:
if (this.value != fb.color) {


Looks like WP is working around this for the 'custom background' for themes (which is empty by default) by adding a hardcoded '#' and saving the background-color without '#' 

/wp-includes/theme.php, line 1772:
$style = $color ? ""background-color: #$color;"" : '';

/wp-admin/custom-background.php, line 303:
<input type=""text"" name=""background-color"" id=""background-color"" value=""#<?php echo esc_attr(get_background_color()) ?>"" />

",BytesForAll
Consider for Next Major Release (has-patch),17133,Register ctrl + s event for plugin/theme editor,,Administration,3.1,normal,minor,Future Release,enhancement,new,has-patch,2011-04-14T12:20:34Z,2011-12-06T04:07:54Z,Often when modifying code or writing a post using the wordpress editor I instinctively hit ctrl + s to save it. Up pops the save website dialog which I then have to close. In Gmail when I hit ctrl+ s it saves the email to drafts. I think a similar thing would be useful for wordpress.,jcnetsys
Consider for Next Major Release (has-patch),17360,Change text from Options to Settings,,Administration,3.2,normal,minor,Future Release,enhancement,new,has-patch,2011-05-09T23:31:56Z,2011-12-06T04:47:31Z,"In various admin screens, change test from options to settings.

",michaelh
Needs Milestone,18569,Custom header images should deletable from the Custom Header page,danielbachhuber*,Administration,3.3,normal,normal,Awaiting Review,enhancement,accepted,has-patch,2011-09-01T18:30:22Z,2011-12-06T05:11:52Z,"Currently, if a theme supports custom header images and a user uploads one of their own images, they need to go to the Media library in order to delete the image. This is not intuitive, there's no text in the admin explaining this step, and it's a problem if they want to rotate randomly through their custom header images.

It would be nice of the user could delete images they've uploaded from the Custom Header page directly.",danielbachhuber
Needs Milestone,19451,Cannot distinguish which WordPress Signup stage I am,,Multisite,3.3,normal,minor,Awaiting Review,enhancement,new,has-patch,2011-12-05T23:35:02Z,2011-12-06T20:30:15Z,"As a plug-in developer under WordPress MS I would like to recognize at which stage I am of the signup:
1. first page because of some errors
2. blog confirmation page in case of no errors

Unluckily as today we have:
<input type=""hidden"" name=""stage"" value=""validate-blog-signup"" />

that is the same for the whole process instead would be nice to have a different value there.

Plus we have:
<?php do_action( 'signup_hidden_fields' ); ?>

But even this action is called in both stages.

So how about start naming the stages differently and also call different actions?
For example I want to include some hidden fields only when I am sure all errors are gone and I am already on confirmation of blog name stage.
I don't see this possible right now.",Cimmo
Needs Milestone,16243,Unhelpful error messages when updating default category,,Administration,3.0.4,normal,normal,Awaiting Review,enhancement,new,has-patch,2011-01-15T12:23:36Z,2011-12-07T07:15:45Z,"If we try and change the default category slug to one that has already been used we get conflicting error messages between quick edit and full edit.

If you use Full Edit you're simply told ''Item Not Updated'' however, if you use quick edit, you are informed that the slug has already been used.

The full edit error message is, I think, on line 223 of wp-admin/edit-tags.php - I'm unable to find where the error message for the quick edit functionality is, however.

Having correct and useful copy in error messages is vital, especially for relative newcomers to WP.

This oversight was found by Relly Annett-Baker (@RellyAB on twitter) - one of the best copy writers and content strategists out there. Perhaps we could look at overhauling the error messages and ask (someone like) Relly to give them a once-over or offer advice on them.",iamfriendly
Needs Milestone,19464,Auto add do_action for menu in admin,,Menus,,normal,normal,Awaiting Review,enhancement,new,,2011-12-07T12:29:46Z,2011-12-07T12:30:39Z,"In menu's there is this feature: ""Automatically add new top-level pages"" 

I'm in a process to implement ""Automatically add categories"" and ""Automatically add new subpages of page:"", but unfortunately there is no action which to hook so I could insert HTML right after or before the ""auto-add-pages"" in my plugin.

So I suggest to add a new action or filter like ""menu_auto_add"" so it would be simple to insert the HTML after the auto-add-pages.",ciantic
Needs Milestone,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
Needs Milestone,19499,Allow wp_nav_menu to return just the links (no <li> tags),nohalfpixels,Menus,3.2.1,normal,normal,Awaiting Review,enhancement,new,reporter-feedback,2011-12-10T12:15:35Z,2011-12-10T17:44:37Z,"every now and again i find im in the need of the wp_nav_menu function where i only want a list if links, not the outer ul, or the li tags.

there is already scope to remove the outer ul.

but no support for removing the <li> tags from the returned results.

at present i have to do this:


{{{
$foot_nav = wp_nav_menu( array( 'container' => '', 'echo' => '0', 'theme_location' => 'footer_menu' ) );
$foot_nav2 = preg_replace( array( '#^<ul[^>]*>#', '#</ul>$#' ), '', $foot_nav );
$foot_nav2 = preg_replace( array( '#<li[^>]*>#', '#</li>$#' ), '', $foot_nav2 );
echo $foot_nav2;
}}}



this isnt very clean, it would be nice to just be able to pass a parameter the wp_nav_menu function which just returns the links.

i propose something like:


{{{
'return_links' => true,
}}}



the main reason for this is styling centered links in the footer.

its much easier to just center links than it is to center a <ul> and results in much cleaner html with less dom elements.",nohalfpixels
Needs Milestone,19514,Add Per Page Filter for Nav Menu Post Type Meta Box,,General,,normal,normal,Awaiting Review,enhancement,new,has-patch,2011-12-12T15:40:53Z,2011-12-12T15:40:53Z,"Currently, there is a default (50) for paginating Post Type Entries on the wp_nav_menu_item_post_type_meta_box(). While there are other ways to filter this, it would be great for larger sites or larger number of post objects to be able to increase this for UX reasons.",wpsmith
Consider for Next Major Release (has-patch),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
Needs Milestone,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
Needs Milestone,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
Needs Milestone,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
Needs Milestone,16437,wp_category_checklist should have name parameter,,General,3.0.4,normal,minor,Awaiting Review,enhancement,new,close,2011-02-01T19:48:31Z,2011-12-14T23:12:37Z,"I found [http://core.trac.wordpress.org/browser/trunk/wp-admin/includes/template.php#L64 wp_category_checklist] is useful for creating my plugin/theme settings options. Unfortunately, it's currently don't have name parameter, the name is statically defined as '''post_category''' in the ''Walker_Category_Checklist'' default walker.

[[BR]]
''wp_category_checklist( $post_id = 0, $descendants_and_self = 0, $selected_cats = false, $popular_cats = false, $walker = null, $checked_ontop = true )''

[[BR]]
where it should be something like[[BR]]

''wp_category_checklist( $post_id = 0, $descendants_and_self = 0, $selected_cats = false, $popular_cats = false, $walker = null, $checked_ontop = true, $name='post_category' )''

So we don't need to create a new walker just to change the name.
Thank you.",takien
Needs Milestone,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
Needs Milestone,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
Needs Milestone,19564,Helper function for getting/setting cache data,,Cache,3.3,normal,normal,Awaiting Review,enhancement,new,has-patch,2011-12-15T15:02:09Z,2011-12-15T16:00:55Z,"Most of the time when we want something from the object cache we go through a routine of: wp_cache_get(); checking a result; setting a default; setting the cache with wp_cache_set(); returning. Core should offer a neat way to do this all in one fell-swoop.

Attached patch is a proposed solution.",johnjamesjacoby
Needs Milestone,15838,get_home_path() mixes PHP and server paths,,General,3.0.3,normal,normal,Awaiting Review,defect (bug),new,has-patch,2010-12-15T23:40:27Z,2011-12-16T03:15:52Z,"FYI: I've looked through the other get_home_path() tickets and believe this to be a different issue.

If the home and site urls are the same then you get a '''PHP relative''' path returned. i.e. it uses {{{ ABSPATH }}}, which is calculated using the PHP constant {{{__FILE__}}}
.

If the home and site urls are different you get a '''server relative''' path returned. i.e. one calculated via 
{{{$_SERVER[""SCRIPT_FILENAME""] }}}.


With web hosts who have the server and PHP paths configured consistently this is no problem.

But on 1and1 it could be if you are comparing the return value of this function against another path. If the function can either return a PHP or a server path then your code may not always work.

The server path (Apache) on 1and1 has an extra '/kunden' at the start. This means that PHP and Apache retrieve paths slightly differently.

Example.
Blog with same home and site urls

{{{
get_home_path =         /homepages/xx/dxxxxxxxx/htdocs/site1
}}}


Blog with different home and site urls

{{{
get_home_path = /kunden/homepages/xx/dxxxxxxxx/htdocs/site1
}}}


I'd suggest that as this is PHP the right thing to do is to always calculate the path using PHP relative paths - i.e. using 
{{{ __FILE__ }}} / {{{ ABSPATH }}} . Don't use the server relative paths at all as you can't rely on them being the same as the PHP ones. 

Certainly having a function returning a path that can be calculated from two different base paths is a bad idea.

For reference here's the current function:

{{{
function get_home_path() {
	$home = get_option( 'home' );
	$siteurl = get_option( 'siteurl' );
	if ( $home != '' && $home != $siteurl ) {
	        $wp_path_rel_to_home = str_replace($home, '', $siteurl); /* $siteurl - $home */
	        $pos = strpos($_SERVER[""SCRIPT_FILENAME""], $wp_path_rel_to_home);
	        $home_path = substr($_SERVER[""SCRIPT_FILENAME""], 0, $pos);
		$home_path = trailingslashit( $home_path );
	} else {
		$home_path = ABSPATH;
	}

	return $home_path;
}
}}}
",reviewmylife
Needs Milestone,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
Needs Milestone,16914,Updated List of HTTP status codes for wp_header_to_desc (2),,General,3.1,normal,normal,Awaiting Review,enhancement,new,has-patch,2011-03-21T12:54:46Z,2011-12-18T20:03:45Z,"http://www.iana.org/assignments/http-status-codes

Hypertext Transfer Protocol (HTTP) Status Code Registry 

(last updated 2010-11-05)

Related: #9297",hakre
Needs Milestone,16477,"""View post"" link should not change when sample permalink changes",,Editor,3.0,normal,normal,Awaiting Review,defect (bug),new,dev-feedback,2011-02-07T08:15:26Z,2011-12-18T23:54:38Z,"To reproduce:

- Go to edit a post
- Change the permalink
- Click on ""View post"" and you get a 404 because the href has been changed to the new sample permalink but the post hasn't been updated yet

The ""View post"" link should always point to the permalink of the currently saved post.",solarissmoke
Consider for Next Major Release (has-patch),18423,Make internal linking's River + Query constructors public,koopersmith,Editor,3.2,normal,normal,Future Release,enhancement,reviewing,has-patch,2011-08-16T02:00:07Z,2011-12-19T00:24:45Z,"...and restructure them so that they're slightly more configurable, i.e. making the AJAX endpoint URL and result rendering overrideable.",mitchoyoshitaka
Needs Milestone,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
Needs Milestone,18999,Quotes in emails,titi,General,3.2.1,normal,major,Awaiting Review,defect (bug),new,reporter-feedback,2011-10-19T10:39:28Z,2011-12-19T01:57:53Z,"Quotes are displayed in plain HTML CODE 
{{{
&#8217
}}}

instead of the a real quote.

This bug is in any email reply notifications containing quote in the post.

Using BBPress 2.0 with Wordpress. French language.",thibotus01
Needs Milestone,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
Needs Milestone,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
Needs Milestone,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
Needs Milestone,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
Needs Milestone,19512,wp_read_image_metadata includes bitmap in description,,Media,3.3,normal,normal,Awaiting Review,defect (bug),new,has-patch,2011-12-12T13:47:40Z,2011-12-20T20:51:17Z,"After uploading a photo that includes (photoshop) bitmaps in the image data, the bitmap data is copied into the image description.




",macbrink
Needs Milestone,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
Consider for Next Major Release (has-patch),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
Needs Milestone,19641,Some problems with updating plugins by uploading zip archive,,Plugins,3.2.1,normal,normal,Awaiting Review,enhancement,new,,2011-12-21T20:55:20Z,2011-12-21T22:06:07Z,"I found several UX problems with updating (re-installing) plugins by uploading zip archive.

1) I installed small plugin (outside official WordPress plugins directory) foo.php (zipped in foo.zip) by uploading zip archive. Then I wanted to install updated version (also foo.php in foo.zip). But new folder foo1 with file foo.php was created, so my plugin is duplicated in WP plugins directory. It is not expected behaviour for users, I guess...

2) When foo.php is in foo folder and together zipped (foo/foo.php in foo.zip), then it is not possible to update (re-install) this plugin (directory already exists) by uploading zip archive. So, for plugins outside WordPress plugins directory (or with nonfunctioning automatic updates) it is problem, because there is no way to update plugins by uploading zip file (only manually through FTP). Another possibility is deactivate and delete plugin first, but some plugins use hooks to delete all plugins data when they are deleted through administration.

3) I automatically installed plugin (inside WordPress plugins directory) which is in folder foo. I changed several files and wanted to re-install plugin with the same (original) version from plugins repository. I did not find a way to do it from admin (I did not want to run FTP manager). When there is possibility for re-installing core, then it could be possible also for plugins, I guess...

4) Another problem was with installing plugins beta versions, but there is Plugin Beta Tester plugin available (but old).

http://wordpress.org/extend/plugins/plugin-beta-tester/",pavelevap
Needs Milestone,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
Needs Milestone,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
Needs Milestone,19455,"The ""magic_quotes_sybase"" Problem",夏天,General,3.2.1,normal,normal,Awaiting Review,defect (bug),new,has-patch,2011-12-06T10:13:21Z,2011-12-22T19:47:01Z,"
Post A Post, titled (in the double quote) : `""Charlie's little cat""`

It will become  (in the double quote) : `""Charlie''s little cat""`

Notice that, single quote become double quotes!!

YES , My 'magic_quotes_gpc' and 'magic_quotes_sybase' are enabled!

Here is The PHP.NET links: http://php.net/manual/en/security.magicquotes.disabling.php",summerblue
Needs Milestone,19419,wp-admin/media.php: allow to add a default src,,External Libraries,3.2.1,normal,normal,Awaiting Review,enhancement,new,,2011-12-02T21:15:34Z,2011-12-22T23:01:36Z,"something like 

in file wp-admin/media.php :

function type_url_form_image($image_url) { 
  
    .
    .
    .
    <input id=""src"" name=""src"" value=""'.$image_url.'"" type=""text"" 
    .
    .
    .

    }

might be helpful because the function can be reused for plugins",mostyk
Needs Milestone,17039,the_excerpt() - <!--more--> handling,,Formatting,3.1,normal,normal,Awaiting Review,defect (bug),new,has-patch,2011-04-03T22:15:48Z,2011-12-23T17:13:50Z,"If a post has a manually inserted <!--more--> ''before'' the default break at the excerpt length, then the_excerpt() fails to generate any [...] or call the ""excerpt_more"" filter. Thus, there is no indication that there is more content to the post.",wpweaver
Needs Milestone,19645,Image caption gets removed when editing image dimensions.,,Editor,3.3,normal,normal,Awaiting Review,defect (bug),new,dev-feedback,2011-12-22T16:24:34Z,2011-12-23T18:25:53Z,"When editing an image placed into a post in a certain way, the caption of the image is removed.

Steps to reproduce:
1. Edit a post that contains an included image.
2. Click the edit options icon when selecting the image.
3. Go to the advanced image settings(make sure the image does have a caption).
4. Empty the width field.
5. Press the submit button.
-> The caption of the image is set empty.

Remarks,
In my case only leaving the width input field blank caused this issue.",JanJaapKempenaar
Consider for Next Major Release (has-patch),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
Consider for Next Major Release (has-patch),15657,wp_strip_all_tags causes paragraphs to run together,,Formatting,2.9,normal,normal,Future Release,defect (bug),new,needs-unit-tests,2010-12-03T06:05:40Z,2011-12-27T20:49:30Z,"If a post contains HTML like ""foo<p>bar"", the RSS feed ends up with the text ""foobar"" instead of the more appropriate ""foo bar"" or even ""foo\n\nbar"".

Here is a simple patch to wp-includes/formatting.php that fixes this: basically, convert <p>, <br> and certain similar tags to newlines before calling the PHP-builtin strip_tags() function.
",jwz
Needs Milestone,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
Needs Milestone,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
Needs Milestone,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
Needs Milestone,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
Needs Milestone,19719,PHPMailer allows invalid characters in display-name,westi,External Libraries,,normal,normal,Awaiting Review,enhancement,new,has-patch,2012-01-03T16:06:27Z,2012-01-03T16:06:27Z,"[http://tools.ietf.org/html/rfc5322 RFC5322] defines the display name portion of an email address as follows:

{{{
display-name => phrase
phrase => word / obs-phrase
obs-phrase => word / whitespace / dot
word => atom / quoted strings
atom => whitespace / atext
atext => 

                       ALPHA / DIGIT /    ; Printable US-ASCII
                       ""!"" / ""#"" /        ;  characters not including
                       ""$"" / ""%"" /        ;  specials.  Used for atoms.
                       ""&"" / ""'"" /
                       ""*"" / ""+"" /
                       ""-"" / ""/"" /
                       ""="" / ""?"" /
                       ""^"" / ""_"" /
                       ""`"" / ""{"" /
                       ""|"" / ""}"" /
                       ""~""
}}}

So, the display-name can contain the list of characters defined as atext plus dots plus whitespace plus quoted stringss.

Notable exclusions include things like >, <, ( and ). At present, PHPMailer does no validation of the display-name field. The attached patch adds validation that does the following:

* Make sure we decode any utf8 characters
* Compare the original value against a value with invalid characters stripped out
* Fail validation if the original and the stripped version do not match (ie, we stripped something invalid, so the string must have been invalid)

The patch does not handle assuring proper pairing of quoted strings (it doesn't validate that quotes nest properly or occur only in pairs).

The following code works for testing the patch:

{{{
<?php

require_once 'class-phpmailer.php';
require_once 'class-smtp.php';

$to_address = 'dllh@mailinator.com';
$to_name = 'DLLH';
$from_address = 'dllh@mailinator.com';
$from_name = 'DLLH test';
$subject = 'PHPMailer display-name validation test';
$body = ""To Address: $to_address\nTo Name: $to_name\nFrom Address: $from_address\nFrom Name: $from_name"";

try {
        $phpmailer = new PHPMailer( true );
        $phpmailer->AddAddress( $to_address, $to_name );
        $phpmailer->SetFrom( $from_address, $from_name );
        $phpmailer->Subject = $subject;
        $phpmailer->Body = $body;
        $phpmailer->Send();
} catch ( phpmailerException $e ) {
        print_r( $e->getMessage() );
}
}}}

To provoke an error, add a disallowed character such as > or ) to one of the _name variables. The code will bail with an invalid_display_name exception.",dllh
Needs Milestone,19686,404 - File or directory not found,,Multisite,3.3,normal,normal,Awaiting Review,defect (bug),new,dev-feedback,2011-12-29T19:47:45Z,2012-01-03T21:38:51Z,"We are running Wordpress using multiuser with Buddypress. Users are getting the 404 error after they click the save button in their settings.

I'm opening this ticket to report the source of the problem.

Wordpress 3.x
Buddypress 1.5
Windows 2008 R2 (IIS 7.5)

Themes installed are all Buddypress compatible and all themes seem to be affected. 
All option pages are affected.
Settings are updated when the user returns to the page - despite the error. A screen shot of the error can be seen at http://blogs.cnc.bc.ca/gagel/?attachment_id=38

The source of the problem appears to be in the wp_get_referer() function on line 164 in options.php. With the variables passed to the function it should redirect the user to the page they just submitted when they updated options. Instead they get the 404 error.

The page they're redirected to appears to be the absolute path of the submitted page appended to the absolute path again (minus the domain). So it looks like this:
userblog/wp-admin/userblog/wp-admin/options-general.php?settings-updated=true

When I switch out the wp_get_referrer() function with the variable $parent_page then the redirect worked as expected.

I'm uncertain about leaving it like this as my change may have introduced issues elsewhere...

This issue is discussed at http://wordpress.org/support/topic/recuring-404-file-or-directory-not-found-error?replies=8#post-2527566",kwgagel
Needs Milestone,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
Needs Milestone,19550,Please provide option to disable wptexturize entirely,,Formatting,3.3,normal,minor,Awaiting Review,enhancement,reopened,has-patch,2011-12-14T20:42:52Z,2012-01-04T16:53:05Z,"I assume this is controversial, but I want wptexturize to *always* be a no-op.  I know I'm not alone on this.  There exists a 3rd-party ""wpuntexturize"" plugin, but it is insufficient; even using that plugin, I keep running in to places where texturization is happening anyway.

Rather than making us play whack-a-mole with all the places it gets turned back on, can't we please just have a checkbox to disable it globally?

Alternately, if you would make wptexturize be a pluggable function, I could just re-define it.

As it is, with each new release, I am forced to modify the source to add ""return $text"" as the first line of the function.",jwz
Needs Milestone,12538,WP should cache menus,ryan,Menus,3.0,normal,normal,Awaiting Review,defect (bug),reopened,,2010-03-07T02:10:10Z,2012-01-04T17:34:26Z,"There's a prime example of how to do this in the menu ticket (i.e. the plugin I attached in #11817).

Shouldn't we be doing this in WP as well?

It basically goes:

 - if it's a page, then try a post meta
 - if it's search/404 request, then try a transient
 - if it's anything else, then try a transient

The plugin also handles conditional flushing of the cache based on whether or not the permalink and/or the label changed.",Denis-de-Bernardy
Needs Milestone,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
Needs Milestone,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
Consider for Next Major Release (has-patch),10792,ampersands and slashes stripped out of slugs,,Formatting,,low,trivial,Future Release,enhancement,new,has-patch,2009-09-15T22:56:00Z,2012-01-05T06:42:43Z,"In slugs for taxonomies or post permalinks, slashes (/\) and ampersands (&) are stripped out. More useful URLs would be created by turning slashes into hyphens, and ampersands into the word ""and"".

e.g.:

""songs by Lennon/McCartney""[[BR]]
expected slug: ""songs-by-lennon-mccartney""[[BR]]
actual slug: ""songs-by-lennonmccartney""

""Us & Them""[[BR]]
expected slug: ""us-and-them""[[BR]]
actual slug: ""us-them""",alxndr
Needs Milestone,18798,Sanitizing post in get_attachment_fields_to_edit() can cause double encoding under certain circumstances,,Media,2.5,normal,normal,Awaiting Review,defect (bug),new,has-patch,2011-09-27T23:33:09Z,2012-01-05T14:27:44Z,"In get_attachment_fields_to_edit, the $post object is sanitized using the 'edit' flag, which converts HTML entities. Under some circumstances this can cause entities to be double-encoded (as in, &amp;quot;), because the html entities are already 

To fix this, sanitize the post using the 'raw' flag.",wpdavis
Needs Milestone,19739,Filter to override exit for comments on drafts (comment_on_draft),,Comments,3.3,normal,normal,Awaiting Review,enhancement,new,dev-feedback,2012-01-04T19:01:18Z,2012-01-05T18:45:37Z,"I'd like to use comments on draft posts as part of an editorial workflow. Will this be as easy as adding a filter to fire before the current comment_on_draft action that can be checked before exiting? I'll try that and add a patch if it looks good.

Related #13276. Not relevant to #18630, I think.",cyberhobo
Consider for Next Major Release (has-patch),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
Consider for Next Major Release (has-patch),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
Needs Milestone,19745,Login Form Dropdown,,General,3.3.1,normal,minor,Awaiting Review,enhancement,new,close,2012-01-05T02:35:47Z,2012-01-06T02:38:39Z,It would improve user experience if the login button on the admin bar had a dropdown with a login form. This only applies to websites that show the admin bar to logged out users. ,dancole
Needs Milestone,19680,Navmenu incorrectly removing items,,Menus,3.3,normal,major,Awaiting Review,defect (bug),new,,2011-12-28T19:48:31Z,2012-01-06T14:21:13Z,"One of my menus is filled with categories. If I create a tag with the same name as a category and then remove this tag, the menu item for the category is also removed.

Example:[[BR]]
1 - create a category called ""Example"" (optionally associate some posts with it)[[BR]]
2 - add category to a navmenu[[BR]]
3 - create a tag called ""Example"" (optionally associate some posts with it)[[BR]]
4 - remove tag[[BR]]
[[BR]]
Now the category ""Example"" is no longer in the navmenu it was added to.",camiloclc
Needs Milestone,18947,get_intermediate_image_sizes() should also contain width/height/crop values as sub array,,Media,3.2.1,normal,normal,Awaiting Review,enhancement,assigned,dev-feedback,2011-10-14T14:48:05Z,2012-01-06T16:22:03Z,"Currently the function [http://core.trac.wordpress.org/browser/branches/3.2/wp-includes/media.php#L580 get_intermediate_image_sizes()] only displays a combined list of built-in/default & (via {{{add_image_size()}}}) registered image size ''names''. In lot's of cases it would be pretty handy to also have the height, width & crop values attached as sub array as you can see it in {{{$GLOBALS['_wp_additional_image_sizes']}}}.

''I currently do not have a working dev version of wp installed, so I put it here as plain code:''

Change for [http://core.trac.wordpress.org/browser/branches/3.2/wp-includes/media.php#L580 get_intermediate_image_sizes()]:
{{{
function get_intermediate_image_sizes() {
	global $_wp_additional_image_sizes;
	$image_sizes = array('thumbnail', 'medium', 'large'); // Standard sizes
	foreach ( $image_sizes as $size ) {
		$image_sizes[ $size ]['width']	= intval( get_option( ""{$size}_size_w"") );
		$image_sizes[ $size ]['height'] = intval( get_option( ""{$size}_size_h"") );
		// Crop false per default if not set
		$image_sizes[ $size ]['crop']	= get_option( ""{$size}_crop"" ) ? get_option( ""{$size}_crop"" ) : false;
	}
	if ( isset( $_wp_additional_image_sizes ) && count( $_wp_additional_image_sizes ) )
		$image_sizes = array_merge( $image_sizes, $_wp_additional_image_sizes );

	return apply_filters( 'intermediate_image_sizes', $image_sizes );
}
}}}

The only two other affected lines in core are pretty a simple fix: Use the {{{array_keys()}}} only:

[http://core.trac.wordpress.org/browser/branches/3.2/wp-admin/includes/image.php#L106 wp_generate_attachment_metadata()]
and
[http://core.trac.wordpress.org/browser/branches/3.2/wp-includes/post.php#L3824 wp_delete_attachment()]:
{{{
foreach ( array_keys( get_intermediate_image_sizes() ) as $s ) {
}}}

I'm not really shure how the {{{crop}}} works, so this could maybe add additional DB calls if the option wasn't set - currently I only see {{{thumbnail_crop}}} added to the autoloaded options.

''The links are to the 3.2 branch of the repo.''",F J Kaiser
Needs Milestone,19688,Using pathinfo permalinks in a subdirectory causes some 404's,,Permalinks,3.3,normal,normal,Awaiting Review,defect (bug),new,,2011-12-29T20:09:10Z,2012-01-06T21:45:59Z,"Due to circumstances beyond my control, I have a Wordpress site that must be installed to a subfolder named ""s"". I also must use pathinfo type permalinks - thus a page with a slug of store-locator would have the url /s/index.php/store-locator. Unfortunately this results in a 404, but other pages on the site work properly.

I tracked this down, and what I found is that code in class_wp->parse_request is causing this - particularly the code starting around line 166ish in version 3.3. The lines in particular that mess things up are these three:
{{{
$pathinfo = trim($pathinfo, '/');
$pathinfo = preg_replace(""|^$home_path|"", '', $pathinfo);
$pathinfo = trim($pathinfo, '/');
}}}
Coming into these lines of code, $pathinfo is /store-locator/, but after those three lines of code $pathinfo is tore-locator (the leading s is missing). This is because $home_path comes from home_url() which strips trailing slashes. The code right before this block further strips $home_path down to just the subdirectory portion, which in my case is just ""s"". Then the preg_replace fires and the leading s on the path is lost. 

Temporarily, I added the following line before the three lines above and my problems went away:
{{{
$home_path .= ""/"";
}}}
Obviously this only works in my particular situation, and I'd like to be able to run vanilla Wordpress, but I can't find any combination of settings that will preserve my required permalink structure and still work. If there's a configuration combination that I'm missing, I'd be very happy, otherwise, feel free to contact me if you would like more info or if I can help in any way.",mose9634
Consider for Next Major Release (has-patch),7098,Multiple entity codes in POT file for the same character,,I18N,2.5.1,normal,normal,Future Release,enhancement,new,has-patch,2008-06-05T11:33:12Z,2012-01-07T03:27:15Z,"In the wordpress.pot file, two characters are represented by both their numbered and lettered HTML entities.  These are:

'''Em-dash:''' the POT file contains both &#8212; and &mdash;

'''Right angle quote:''' the POT file contains both &#187; and &raquo;

I'm not sure if it matters but it certainly is a little inconsistent.

",leuce
Needs Milestone,19765,site-users.php in network admin doesn't display users with custom roles,,Network Admin,,normal,normal,Awaiting Review,defect (bug),new,has-patch,2012-01-06T18:04:20Z,2012-01-07T14:03:30Z,"In the network admin when looking at the users of a specific site, if the site has a custom role the users with that role will not show up. The patch attached ensures that switch_to_blog() is used at the correct places so that data is being gathered from the correct site, not from the main site.",wpdavis
Needs Milestone,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
Needs Milestone,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
Needs Milestone,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
Needs Milestone,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
Needs Milestone,19805,Pingback not sent to https sites,,Pings/Trackbacks,3.3.1,normal,normal,Awaiting Review,defect (bug),new,has-patch,2012-01-11T16:02:45Z,2012-01-11T16:20:42Z,"Wordpress does not attempt to send pingbacks to https sites.  I have tracked this problem to the regular expression used to find links to ping inside a post that is being published.  The regular expression currently will only filter out links to http sites and not https sites.  I have modified the regular expression to include https sites and included a patch with this ticket.

how to reproduce the problem:
* enable sending and receiving of pings/trackbacks on your site
* create a post with with a link to an https site
* publish the post
* no ping will be sent to the https site",norocketsurgeon
Needs Milestone,19806,do_allowed_shortcodes to allow processing of limited list of shortcodes,beezeee,General,,normal,normal,Awaiting Review,enhancement,new,has-patch,2012-01-11T16:09:56Z,2012-01-11T22:22:52Z,"We have a front facing content editor and want to enable our users to use a specific set of shortcodes, without exposing all of the sites shortcodes to them.

Here's the function we use for this. It is passed an array of allowed shortcodes, and any other shortcodes are stripped from the content. 

{{{
function do_allowed_shortcodes($content, $shortcodes=array())
{
    //if no allowed shortcodes are provided, strip all shortcodes and return content
	if (empty($shortcodes))
	{
		return(strip_shortcodes($content));
	}
    //foreach allowed shortcode provided, build the necessary regex to temporarily change [shortcode] to {shortcode} and then back
	foreach ($shortcodes as $shortcode)
	{
		$allowed_matches[] = '/\[('.$shortcode.'[^\]]*)\]/';
		$restore_allowed_matches[] = '/\{('.$shortcode.'[^\}]*)\}/';
	}
    //change safe shortcodes from [shortcode] to {shortcode}
	$safe_content = preg_replace($allowed_matches, '{$1}', $content);
    //strip remaining [shortcodes]
	strip_shortcodes($safe_content);
    //change {shortcodes} back to [shortcodes] and return result of do_shortcode() on that content
	$trimmed_content = preg_replace($restore_allowed_matches, '[$1]', $safe_content);
	return do_shortcode($trimmed_content);
}
}}}



Seems like this would be a nice addition to core functionality.",beezeee
Needs Milestone,16734,Allowing multiple selection when using wp_dropdown_categories,,General,3.1,normal,normal,Awaiting Review,enhancement,new,dev-feedback,2011-03-02T22:58:25Z,2012-01-11T23:40:00Z,"I would like to be able to pass an argument to wp_dropdown_categories() to allow the user to select more than one category using a CTRL-CLICK. I can use a preg_replace to add the multiple tag to the html select tag, but I cannot pass multiple selections in the ""selected"" argument. 

I modified two files (wp-includes/category-template.php and wp-admin/css/wp-admin.css) to add this option and will include patches for these files. It adds a boolean argument for ""multiple"" to wp_dropdown_categories and uses in_array to check if terms are listed in an array in the ""selected"" argument, casting it as an array if it is not. I have tested this patch to work in the latest trunk (3.1).

The change in the w-admin.css is so the multiple selection box is tall enough to show the slider and more than one category.",grandslambert
Consider for Next Major Release (has-patch),18088,Network Admin Email setting in wp-admin/network/settings.php fails silently,,Network Admin,3.2,normal,normal,Future Release,defect (bug),new,has-patch,2011-07-12T19:56:26Z,2012-01-12T00:47:37Z,"'''Steps to reproduce:'''
1. Go to wp-admin/network/settings.php
1. Try setting your email to support@localhost
1. Page reports success but email remains the same


The check in wp-admin/network/edit.php consists of:
{{{
if ( is_email( $_POST['admin_email'] ) )
	update_site_option( 'admin_email', $_POST['admin_email'] );
}}}

which doesn't account for anything not passing `is_email()`

I know network admins should know what they're doing, but failing silently is a pretty sure-fire way to generate confusion.",kawauso
Needs Milestone,19813,Keyboard shortcuts for editing posted date,,Date/Time,3.3.1,normal,normal,Awaiting Review,enhancement,new,,2012-01-12T09:28:13Z,2012-01-12T17:39:31Z,"In short, I thought it would be a nice feature to be able to use the Up/Down arrow keys to increment or decrement the values within the post published date/time input boxes. I found this stackoverflow post with the basics of how to retrieve keystrokes and alter the value based on which one was pressed. 

http://stackoverflow.com/questions/7742364/incrementing-value-integer-in-an-input-type-field.

I then altered the code to prevent negative numbers and stay within the limits of each field type.

Days get 1-31
Year gets 1900+
Hours get 0-23
Minutes get 0-59

JS could probably be cleaned up a bit and condensed, but I wasn't quite sure how to separate them all out. Maybe someone with more js-fu can help out with that",tw2113
Needs Milestone,19588,"Move to Trash results in a page with a ""0""",,General,3.3,normal,normal,Awaiting Review,defect (bug),new,reporter-feedback,2011-12-17T15:41:04Z,2012-01-13T06:24:36Z,"In the latest wordpress, if I delete a draft either the bulk delete , or individual move to trash, it loads a page with a zero. If I publish the draft, then move to trash, it works. I searched open tickets and could not find anything specific on this flow. ",astriker
Consider for Next Major Release (has-patch),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
Needs Milestone,19397,Missing hide-if-js class on gallery items,,Media,,normal,normal,Awaiting Review,enhancement,new,,2011-11-29T22:48:30Z,2012-01-15T22:26:14Z,"When you open the gallery tab in the media thickbox, next to each attachment item you have an input in which you can enter an order.

The thing is that thse attachments can be ordered via drag-and-drop, so there's no need to show the inputs to users that have JavaScript enabled.

Not to mention that the order column header is way off.",scribu
Needs Milestone,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
Needs Milestone,19790,function request : is_plugin_latest($plugin);,,Plugins,3.3.1,normal,minor,Awaiting Review,feature request,new,dev-feedback,2012-01-09T20:23:12Z,2012-01-17T15:14:49Z,"i am working on a plugin right now an i am at the stage of adding help content to it.

i want to be able to display a contact form for support, but only want this to show if the user makes sure they are using the latest plugin version.

ive searched the core and the codex and i cant find any function that ""just"" checks if a plugins up to date (i know wordpress does check, but it wrapped up in bigger proccesses).


this would also be usefull to check themes as well, but for now maybe just a plugin version check.


it seems simple enough by just checking the site transient for plugins and checking the response array. if theres a better solution please let me know, because the code below is what i use currently in every plugin of mine:


{{{
function _is_latest($plugin){
		
		$info = get_site_transient( 'update_plugins' );
		
		if(isset($info->response[$plugin]['new_version'])){
			return false;
		}else{
			return true;
		}//if
		
		
}//function
}}}




this is really simple, could we get it added to the core?

for themes we could just add a context arg to the funtion like
{{{
_is_latest($context, $file);
}}}

and call either the theme or plugin transient based on value of $context",nohalfpixels
Needs Milestone,19849,Pass $comment_date to get_comment_time filter,,Date/Time,3.3.1,normal,minor,Awaiting Review,enhancement,new,,2012-01-17T17:50:50Z,2012-01-17T17:50:50Z,"I was writing a function to customize the formatted time to include the timezone in the comment meta data using the get_comment_time filter. In order for me to properly indicate whether daylight savings time was in effect at the time of the comment, I needed to globalize $comment to get the comment_time property. The filter passed the $date variable which is the formatted time part of the timestamp but not the $comment_date variable which contained the entire timestamp from $comment. In the function I developed, the $date string wasn't used at all. I returned the formatted time string from $comment->comment_date directly. 

Since get_comment_time() already establishes $comment_date, why not pass it to the filter as well?",lexhair
Needs Milestone,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
Needs Milestone,19825,Bugs and modifications to localize script,,General,,normal,normal,Awaiting Review,enhancement,new,,2012-01-13T16:47:55Z,2012-01-18T20:00:08Z,"After working in trunk, I noted that I get a fatal error when trying to localize some objects with wp_localize_script informing me that I cannot use an object of that type as an array. For tests, I've done this with $wp, $wp_query, $wpdb, and $wp_scripts on a clean install with no plugins.

I also have been working on sites that would like to compress all of their JS calls into a single request where possible, but in the past I was not able to keep localizations that certain scripts required, and had to leave them out.

With the changes I've made in this patch file, the issues regarding pushing arbitrary objects for localization are addressed. It also stores those objects, rather than a string of JS with $wp_scripts. This allows me to pull the localizations used for some files, and attach them instead to another file using wp_localize_script.

As a side benefit, by not processing the object into JS until output, we are able to preserve the data cleanly, and reduce process on any script that may be dequeued later that has such dependencies.

I would like to submit this patch as a core patch for a future release. Its design is fully compatible with existing functionality in 3.3, with the exception of any code modifying the underlying data key in an enqueued script directly.",ssmathias
Consider for Next Major Release (has-patch),15861,Sorting users by post count,,Administration,,normal,normal,Future Release,defect (bug),new,dev-feedback,2010-12-17T10:21:24Z,2012-01-18T22:48:06Z,"Currently, to enable sorting by post count, there's a JOIN made between the users table and the posts table.

This is bad, because users is a global table, which might be stored in a separate database.

Short-term solution for 3.1 is to disable sorting.

Long-term solution is to avoid the JOIN somehow. ",scribu
Needs Milestone,17249,thickbox modal window dimensions are fixed in wp-admin,,Administration,3.1,normal,normal,Awaiting Review,defect (bug),new,,2011-04-27T05:01:38Z,2012-01-19T00:03:35Z,"Hello,

When invoking a thickbox modal in wordpress wp-admin, the dimensions of the modal window can't be customized. Because of media-upload.js is replacing the tb_position() function.

This is not needed that way, and media upload modal window size can be set when calling it.

The workaround is rather complicated, please read: http://binarybonsai.com/2010/02/27/using-thickbox-in-the-wordpress-admin/ down to ""The Media Manager Horror""",DreadLox
Needs Milestone,19628,FEATURE REQUEST: std deviation option for wp_tag_cloud,,General,3.3,normal,minor,Awaiting Review,feature request,new,dev-feedback,2011-12-21T04:16:22Z,2012-01-21T10:55:36Z,"Feature Request

Add a std deviation, logarithmic, or other non-linear algorithm for generating tag cloud sizes...  I have a sample set containing approximately 500 tags, with two tags which fall in the 100 posts range, whereas most tags end up with less than 20.  I would still like the two tags to show up, and to show up the largest, and a simple std deviation (66% show up in 1 std dev, 96% or so in the 2nd, etc) or logarithmic algorigm for calculating tag element sizes, based on the sample set.",bhoogterp
Needs Milestone,19872,Add Hook/Filter to image_resize_dimensions in media.php,,Media,3.3.1,normal,normal,Awaiting Review,enhancement,reopened,dev-feedback,2012-01-21T19:38:18Z,2012-01-21T22:23:46Z,"It would be great if a hook, a filter, a global, an option, or something somewhere were created to allow the image_resize_dimensions() function in media.php to resize images to be larger than the original. In a typical scenario I can understand why you would not want to allow this, however there are rare circumstances where this would be helpful (generating a background image). Currently lines 349 and 350 of media.php read:
{{{
$new_w = min($dest_w, $orig_w);
$new_h = min($dest_h, $orig_h);
}}}
and lines 378 to 380 read:
{{{
// if the resulting image would be the same size or larger we don't want to resize it
if ( $new_w >= $orig_w && $new_h >= $orig_h )
	return false;
}}}
It would be great if we were provided a boolean to alter these two blocks, for example:
{{{
if($allow_resize){
	$new_w = $dest_w;
	$new_h = $dest_h;
}else{
	$new_w = min($dest_w, $orig_w);
	$new_h = min($dest_h, $orig_h);
}
}}}
...
{{{
// if the resulting image would be the same size or larger we don't want to resize it
if ( $new_w >= $orig_w && $new_h >= $orig_h && !$allow_resize)
	return false;
}}}",webbtj
Needs Milestone,19572,switch_to_post() stack implementation (similar to switch_to_blog()),,General,3.3,normal,normal,Awaiting Review,enhancement,new,has-patch,2011-12-15T21:54:57Z,2012-01-23T20:21:14Z,"One of the challenges themes and plugins have is the balance between utilizing the core APIs that rely on global variables, while leaving things in a ""clean"" state for the next worker in the chain.

For example, I might have a shortcode that pulls content from another post, outputs a title or some other data, then needs to restore the previous post environment. The attached patch provides APIs for doing just this - using the same stack approach that switch_to_blog() takes in a multi-site instance.

To set up a post context, call: switch_to_post($post_id);

This can be called multiple times, diving deeper into the stack. Then each process is responsible for restoring the $post context by calling: restore_post();

This goes back to the stack, bumps out the current post and restores the previous post's context.

There is some test code for demonstration here:

https://gist.github.com/1309915",alexkingorg
Needs Milestone,19890,Filter auto enclosure links before processing,,Feeds,,normal,minor,Awaiting Review,enhancement,new,has-patch,2012-01-24T21:37:48Z,2012-01-24T21:44:05Z,"[http://core.trac.wordpress.org/browser/tags/3.3.1/wp-includes/functions.php#L1182 The do_enclose() function] looks through post content for enclosure-worthy URLs, requests the URLs it finds, and stores in post meta.

I use sample code and dummy URLs in my posts: e.g. !http://example.com/song.mp3. Right now `do_enclose()` finds the mention of the MP3, adds it to post meta, which later outputs in `rss_enclosure()` or `atom_enclosure()`. If I want to remove the enclosure from final markup I can attach to the `added_postmeta` action to remove a value after it was requested and inserted or act on the markup generated by `rss_enclosure()` or `atom_enclosure()` by emptying the string.

I would like to filter out the auto-discovered enclosure link before it is processed by !WordPress, looked up in the database, and HEAD requested. If a filter existed on the parsed enclosure links I could remove links from dummy domains such as ""example.com.""",niallkennedy
Needs Milestone,19879,Better caching for get_dirsize,,Multisite,3.3.1,normal,normal,Awaiting Review,enhancement,new,,2012-01-23T15:42:59Z,2012-01-24T23:54:25Z,"In a multisite install, when trying to determine whether a site has exceeded its storage quota, WordPress will scan through a blog's upload directory and sum up the file sizes, by running {{{filesize}}} against each one. With a large number of files, this can significantly slow down the upload process or certain portions of the Dashboard.

{{{get_dirsize}}} has transient caching in place but this is a single cache entry for all folders. It might be better if WordPress has a separate cache entry for each folder and was invalidated based on context so that get_dirsize does not need to be run constantly on older, unchanged directories as frequently.",batmoo
Needs Milestone,19892,wp_fix_server_vars() mangles REQUEST_URI on some servers,,General,3.3.1,normal,normal,Awaiting Review,defect (bug),new,has-patch,2012-01-25T00:58:47Z,2012-01-25T06:53:04Z,"== Bug manifestation: ==

On some server setups, saving settings on any settings page which uses options.php - including the twentyeleven theme options pages - results in a ''You do not have sufficient permissions to access this page.''-error page, even if you are the (super-)admin of the website.[[BR]]

The changed settings *are* however saved, but the bug obviously causes a usability issue.[[BR]]
[[BR]]



== The cause of the issue: ==

The issue is ultimately caused by (shared-)hosting companies which - for security reasons - set the {{{$_SERVER['SERVER_SOFTWARE']}}} variable to MS IIS when in reality the server runs on a Linux variant.[[BR]]
[[BR]]

The {{{$_SERVER['SERVER_SOFTWARE']}}} variable being MS IIS causes ''wp_fix_server_vars()'' to double the query vars resulting in a mangled {{{$_SERVER['REQUEST_URI']}}}.[[BR]]

I.e.: ''""/wp-admin/themes.php?page=theme_options""'' becomes ''""/wp-admin/themes.php?page=theme_options?page=theme_options""''[[BR]]
[[BR]]


As the {{{$_SERVER['REQUEST_URI']}}} variable is used by the ''settings_fields()'' function to generate the hidden form fields for the option pages, this then in turn results in a mangled ''_wp_http_referer'' form value.[[BR]]

I.e.: {{{<input type=""hidden"" name=""_wp_http_referer"" value=""/wp-admin/themes.php?page=theme_options?page=theme_options"" />}}}[[BR]]
[[BR]]


As the '''''options.php''''' file, after saving the changed settings, uses the ''_wp_http_referer'' field value to redirect the page - which it then can't - , the user ends up on the ''You do not have sufficient permissions to access this page.''-error page.[[BR]]
[[BR]]



== Patch/fix for the issue: ==

In file '''''wp-includes/load.php''''' change '''''line 75''''' from:

{{{
if ( ! empty( $_SERVER['QUERY_STRING'] ) ) {
}}}
to
{{{
if ( ! empty( $_SERVER['QUERY_STRING'] ) && strpos ( $_SERVER['REQUEST_URI'], '?' ) === false ) {
}}}

N.B.: line number based on WP 3.3.1. trunk[[BR]]
[[BR]]




== Additional info: ==

This bug has been in the WP code base for a while. It might be useful to add this issue to the FAQ in the documentation for those users/webmasters who do not always upgrade to the latest & greatest WP version.[[BR]]


A user/webmaster who encounters this issue should probably get advice along the following lines:[[BR]]

a. Determine that the problem is really caused by this issue by verifying that they really run on Linux and by checking that the {{{$_SERVER['SERVER_SOFTWARE']}}} is a MS IIS variant - they can use ''phpinfo()'' to do so.[[BR]]

b. Upgrade to a WP version which includes the above patch once it has been released.[[BR]]

c. Contact their webhost to see if they are willing to change the {{{$_SERVER['SERVER_SOFTWARE']}}} variable to reflect reality.[[BR]]

d. If neither of the above is possible/works and they are sure that this bug is the cause of their problems, they can apply the following quick & dirty fix to solve it without touching the core files:[[BR]]


Add the following code to their wp-config.php file anywhere above the ''/* That's all, stop editing! Happy blogging. */'' line.
{{{
/**
 * Quick fix for server software bug
 */
$_SERVER['SERVER_SOFTWARE'] = 'Apache';
}}}
[[BR]]


== Related bug reports found: ==

* #15209 {{{$_SERVER['REQUEST_URI']}}} Doesn't always work correctly
* #12346 Saving settings in multiple plugins results in You do not have sufficient permissions to access this page.


This ticket has been opened as the previous two bug reports where too old to reopen.
",jrf
Needs Milestone,19893,get_comments_link() doesn't link properly if there are no responses,,Comments,,normal,minor,Awaiting Review,enhancement,new,has-patch,2012-01-25T03:35:53Z,2012-01-25T13:13:12Z,"Since the current implementation of get_comments_link() simply returns the permalink with `#comments` appended to the end of it, and the HTML element with an ID of `comments` only exists when existing comments are wrapped inside of it, it doesn't lead to anything when there are 0 comments on the post.

I've attached a patch that checks whether there are any comments on the post or not; and, if not, it appends `#respond` to the end of the link; otherwise it appends `#comments`.",cgrymala
Needs Milestone,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
Needs Milestone,19904,Trim Leading and Trailing White Space in a Post Title,,General,3.3.1,normal,normal,Awaiting Review,feature request,new,,2012-01-26T23:37:15Z,2012-01-27T00:55:01Z,"In working with clients today I realized that they were copying and pasting post titles but including a leading space in it by accident.  Because of this the orderby feature of the query wasn't appearing to work.  Turns out it was but the spaces where all correct so it was messing with the query.  

I think it would make sense that on a title field of a post/ page that any leading whitespaces and any trailing white spaces should be trimmed off.

something like 


{{{
trim($post_title);
}}}


",greenspeakmedia
Needs Milestone,19906,Quicktags docs recommend code causing JS error: Uncaught ReferenceError: QTags is not defined,,Inline Docs,3.3.1,normal,trivial,Awaiting Review,enhancement,reopened,dev-feedback,2012-01-27T01:05:44Z,2012-01-27T17:35:31Z,"
Right now the docs for qt.addbutton in quicktags.dev.js have the following text:

{{{
	 * If you are echoing JS directly from PHP,
	 * use add_action( 'admin_print_footer_scripts', 'output_my_js', 100 ) or add_action( 'wp_footer', 'output_my_js', 100 )
}}}

This works, but if you add the QTags.addButton() calls on those hooks then they will cause JS errors on any screen without an editor:

{{{Uncaught ReferenceError: QTags is not defined}}}

The issue is avoided if you use the other option, enqueuing a script dependent on 'quicktags', but that is a lot more work and forces all pages in the admin to load the quicktags script unnecessarily. 

Maybe there is some way to magically make calling QTags.addbutton() safe no matter what, but I think at minimum we need to add a note to the PHPdoc about checking QTags before using it, as that solves the problem pretty simply:

{{{
 if ( typeof QTags != 'undefined' ) {
	QTags.addButton( 'gv_translation', 'translation', '<div class=""translation"">', '</div>' );
}
}}}

So the phodoc could say :

{{{
	 * If you are echoing JS directly from PHP use
	 *	add_action( 'admin_print_footer_scripts', 'output_my_js', 100 ) 
	 * or 
	 *	add_action( 'wp_footer', 'output_my_js', 100 )
	 *	
	 * If echoing the addButton calls directly instead of enqueing with the 'quicktags' dependency
	 * make sure to check that the QTags object is defined first, otherwise your code will throw errors 
	 * when no editor is present:
	 *	if ( typeof QTags != 'undefined' ) { QTags.addButton(...) } 
	 *
}}}

The attached patch just adds that to the docs. If a committer has a preferred wording then just use that instead, obviously the patch didn't take me long :)

BTW: I created a Codex article with the docblock after not finding a reference to the new API anywhere other than in the JS file itself. Nacin's posts mentioned that they had changed but not what was new ;)

http://codex.wordpress.org/Quicktags_API

Clearly it needs work, I didn't want to put too much time into it at first because I didn't understand the system yet (as I'm learning now, by finding JS errors).",jeremyclarke
Needs Milestone,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
Needs Milestone,19885,Feed wfw Namespace no longer valid,,Feeds,3.3.1,normal,normal,Awaiting Review,defect (bug),new,close,2012-01-24T16:00:06Z,2012-01-31T07:45:00Z,"Related to this post [http://wordpress.org/support/topic/rss-feed-wellformedweborg-offline?replies=2]

A broken link scan of our website revealed that the link in the feeds to http://wellformedweb.org/CommentAPI/ (for the wfw namespace) is invalid. Going to that website reveals that the site has been taken down by the hosting company.

I found 2 references to that namespace in /wp-includes/feed-rss2.php and /wp-admin/includes/export.php and removed them, and the instances to the wfw namespace within the feed content. This fixed my issue.

This begs the larger question: should this be removed/replaced in the core if the site that references the namespace is no longer available?

Verified here: [http://ww2.aaronwagner.net/feed/]",ajwagner777
Needs Milestone,19947,Copy paste behavior in Visual mode differs from HTML mode,,Editor,,normal,normal,Awaiting Review,defect (bug),new,dev-feedback,2012-02-02T13:13:11Z,2012-02-02T13:13:11Z,"Copy a random html page from a random site including links and images and paste it into the WYSIWYG Editor Visual mode and it will include the images and links. Basically it (mostly) looks like the copied page. If you paste the same into the WYSIWYG Editor HTML tab and it will strip out _all_ HTML markup and just leaves the plain text, without the images or links.  

Expected: 
I would expect the Visual and HTML mode of the WYSIWYG editor to behave the same, either both use the code (displaying the results of the markup code in the Visual tab and the markup code itself in the HTML tab) or both strip out all html.   

",BjornW
Consider for Next Major Release (has-patch),10511,Enclosure Custom Fields are automatically deleted,,Feeds,2.8,high,major,Future Release,defect (bug),reopened,has-patch,2009-07-29T14:20:16Z,2012-02-02T16:36:06Z,"This bug was introduced by Ticket [http://core.trac.wordpress.org/ticket/6840 6840].  I and many other people only wanted specific fields added as an enclosure (like media files for podcasting) and have added those enclosures as custom fields.  Now any time we edit those hundreds of posts, or create a new post, those custom fields are deleted by this ""bug fix"" and there is no way around it without changing code in the functions.php file and then having to redo it anytime an update comes out.

Was there no thought put into the great idea of ""let's delete any enclosure field that doesn't have a link in the body of a post""?  Wasn't the whole idea of custom fields originally for things like enclosures?",animepulse
Consider for Next Major Release (has-patch),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
Needs Milestone,17298,"Adding optional ""fieldname_base"" parameter to touch_time() function would allow plugin authors to reuse this code",,General,,normal,trivial,Awaiting Review,feature request,new,,2011-05-01T20:50:42Z,2012-02-03T15:56:52Z,"I didn't see any discussion of this over the years, and wondered if this was a feature that other people would like to see added:

In a couple projects, I've had to recreate a date entry form very similar to the one generated by the `touch_time()` function in wp-admin/includes/template.php. This function could be modified very easily to be reusable in plugins.

The simplest way of doing this, in my opinion, is to accept an optional fifth parameter for a fieldname base string.

Current output of the function:

{{{

<select id=""mm"" name=""mm"" tabindex=""4"">
// options
</select>
// etc
}}}

If this could be modified by a plugin to output something like this:

{{{

<select id=""eventstartdate_mm"" name=""eventstartdate[mm]"" tabindex=""4"">
// options
</select>
// etc
}}}

...it would be very useful. Would improve standardization of UI elements between core and plugins.

Of course, the entire template.php file is A Big Mess. Not sure if we should be messing around in there too much.

 ",goldenapples
Needs Milestone,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
Consider for Next Major Release (has-patch),12725,Custom post types should be respected in post_rel_link functions,,Post Types,3.0,normal,normal,Future Release,enhancement,new,dev-feedback,2010-03-27T05:00:33Z,2012-02-04T08:29:20Z,Just like the title says. These functions should check to see if the current post type supports categories before proceeding.,jfarthing84
Needs Milestone,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
Needs Milestone,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
Needs Milestone,19375,Make BLOG_ID folder deleted on site-deletion,,Multisite,3.0,normal,normal,Awaiting Review,defect (bug),new,has-patch,2011-11-28T00:41:57Z,2012-02-07T00:00:09Z,"It would be appreciated that the BLOG_ID folder get deleted on site-deletion, in the future..

My reference is the discussion at, 

http://wordpress.org/support/topic/wpmu_delete_blog-not-deleting-blogsdir-folder",momotombopuro
Needs Milestone,6425,Support for RTL in feeds,nbachiyski,I18N,,normal,normal,Awaiting Review,enhancement,assigned,close,2008-03-27T20:56:51Z,2012-02-08T06:07:07Z,"In the current state of most Feed readers, the only surefire way to make RTL content display properly is to have directionality enforced inside the content - that is, either with {{<div dir=""rtl"">}}} tags inside CDATA or with Unicode directionality characters (for e.g., RLE and PDF, or &#8235; and &#8236;, or U+202B and U+202C.) for excerpts or titles.

While we currently have pretty good support for RTL languages, there is no support for RTL in feeds - all is left up up to the feed reader.

I suggest adding a mechanism to automatically insert these tags/characters for blogs that have text_direction set to RTL - much in the same way RTL css style sheets are loaded for these blogs.

I have attached a patch that modifies the feed templates to insert these tags/characters. Note that there is no checking of blog directionality here - this is just an example of how to enforce RTL in feeds, not how to enforce it conditionally.

This relate to a previous ticket I submitted (#5517), regarding adding an option to set the feed language - which currently just defaults to EN. Certain feed readers know to display RTL text in proper directionality according to feed language (for e.g., feeds that have their feed language set to HE (Hebrew), will get displayed from Right to Left). While setting feed language is not a comprehensive solution, it is a step in the right direction.",RanYanivHartstein
Needs Milestone,19986,Issue with add_filter() and add_action() when using anonymous functions.,,Plugins,3.3.1,normal,minor,Awaiting Review,defect (bug),new,has-patch,2012-02-07T23:44:49Z,2012-02-08T06:16:26Z,"Referencing File: /wp-includes/plugin.php :: function add_filter()
{{{
function add_filter($tag, $function_to_add, $priority = 10, $accepted_args = 1) {
	global $wp_filter, $merged_filters;

	$idx = _wp_filter_build_unique_id($tag, $function_to_add, $priority);
	$wp_filter[$tag][$priority][$idx] = array('function' => $function_to_add, 'accepted_args' => $accepted_args);
	unset( $merged_filters[ $tag ] );
	return true;
}
}}}

When registering a function with add_filter() and add_action(), a unique id ($idx) is generated to be used as an array key in:

{{{
$wp_filter[$tag][$priority][$idx]
}}}

The function that creates this unique key ($idx) returns the function name passed into the $function_to_add parameter.
{{{
$idx = _wp_filter_build_unique_id($tag, $function_to_add, $priority);
}}}

If the $function_to_add parameter is a string, the function _wp_filter_build_unique_id() returns the original function name.

{{{
function _wp_filter_build_unique_id($tag, $function, $priority) {
	global $wp_filter;
	static $filter_id_count = 0;

	if ( is_string($function) )
		return $function;
   ...
}
}}}

Returning a string value for the unique id is a problem when the function is an anonymous function generated using create_function(). The reason is anonymous functions are named as ""special character + lambda_XX"" or as ""ºlambda_XX"" where the first character cannot be displayed.

See attached file: anonymous_function_name.jpg

Since array keys can only be integers or strings, the following array is invalid and causes inconsistent behaviors.

{{{
$wp_filter[$tag][$priority]['ºlambda_XX']
}}}

Although I've seen instances where this will still work, I've also observed strange issues with inconsistent results where plugins should work and sometimes do not. One example is with Otto's Simple Facebook Connect plugin.  

See file: sfc-widgets.php
{{{
add_action('widgets_init', create_function('', 'return register_widget(""SFC_Fan_Box_Widget"");'));
}}}

I have not been able to isolate the conditions that allow this to work in one WordPress installation and not in others. However, I have been able to apply a patch to my installation with consistent and successful results.

See attached patch: plugin.php.diff

While this is an obscure and possibly very isolated issue, it could resolve unexplained issues related to using anonymous functions with add_filter() elsewhere.",pagesimplify
Needs Milestone,19995,Slow down of access to Multi-Site Admin area when Upgrading to 3.3.1,,Multisite,3.3.1,normal,normal,Awaiting Review,defect (bug),new,,2012-02-08T22:57:26Z,2012-02-09T00:14:42Z,I've done a search and didn't see a trouble ticket for this so I wanted to post it and see what the feedback looked like. With the upgrade to WordPress 3.3.1 I've seen a very big slow down of access to the Admin area for both the Network sites as well as the Network Admin. I thought it was my server lagging at first or maybe an issue with me having to clean up my MySQL server but I've heard from others whom I know that also run Multi-Site installs having the same problem as well. One gentlemen's client thought his site had even been hacked because of the amount of time it was taking to get to the admin area but after running the necessary security tools it was realized that the server was secure but the lag did exhist. Any thoughts?,bastosmichael
Needs Milestone,19996,New function get_blog_metadata for ms-functions.php,,Multisite,,normal,minor,Awaiting Review,enhancement,new,has-patch,2012-02-09T10:20:20Z,2012-02-09T10:20:20Z,"Hi!

I think that the ms-functions are very useful for WP multisite developers, for example: get_blog_post where you can select the blog_id and post_id to return the post info of a blog.

But I'm missing an important one: get_blog_post_metadata. With the function that I'm proposing, you can select the blog_id, the post_id and the meta_key and the function will return the metadata for those values.

I have attached in the file get_blog_metadata.txt the function that I have made and I think it would be very useful to have it in the core.

Cheers! :)",_DorsVenabili
Needs Milestone,18594,Permalinks should be saved twice on post_type slug change,,Permalinks,3.2.1,normal,normal,Awaiting Review,defect (bug),new,close,2011-09-05T09:46:33Z,2012-02-10T11:40:58Z,"Hello,

In a plugin I allow my users to set the slug of a custom post type from a sttings page. I flush the rules on every load of that settings page (only that page)

When they change the slug, they have to save and then reload the settings page for the permlink to be correctly chnaged.... A single flush_rules call shouldn't be enought?",Gecka
Needs Milestone,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
Needs Milestone,19921,"always use require_once for wp-load.php (fixes ""ABSPATH defined multiple times"")",,General,3.3.1,normal,normal,Awaiting Review,defect (bug),new,,2012-01-29T18:09:46Z,2012-02-10T17:53:45Z,"The `wp-load.php` file should always be included via `require_once`.  This allows developers to include files when necessary with having to run into the ""ABSPATH defined multiple times"" notice (let alone waste time processing the file).

In trunk, require_once is already used in the majority of cases for `wp-load.php`:
    * 24 require_once
    * 8 require
    * 1 include

This has come up because of a situation in a plugin where it is necessary to manually include the `wp-login.php`.  But then `wp-login.php` calls `require wp-load.php` and the constant re-declaration notice arises.

In two cases, the patch changes relative paths (eg `./` to `dirname(__FILE__)`) to avoid safe mode problems and improve the ability to run files from anywhere(1), which is helpful for testing from the command line.

(1) Paths in PHP are relative to the present working directory, not the directory the file is in.",convissor
Needs Milestone,20016,Spellchecker returns suggestions with wrong encoding,,Editor,,normal,normal,Awaiting Review,defect (bug),new,has-patch,2012-02-10T17:59:00Z,2012-02-10T20:34:01Z,"Steps to reproduce:

* Create new post
* Type 'canamo'
* Set spellcheck language to Spanish
* Click on 'canamo' for suggestions

",koke
Needs Milestone,20008,Search Results Paging Doesn't Work on Lighttp 404 Handler,,General,3.3.1,normal,major,Awaiting Review,defect (bug),new,,2012-02-10T07:01:47Z,2012-02-10T23:02:55Z,"Quote from http://core.trac.wordpress.org/ticket/11723

I'm running Wordpress on lighttpd, using server.error-handler-404 = ""index.php"", all the pretty permalinks work perfectly. However, when doing a search, i only get the first results page, that is mysite.com/?s=query works but '''mysite.com/page/2/?s=query''' doesn't (i get shown the home page saying it's on page two of it). Paging on categories, archives and tags works as expected too.

I believe this is a Wordpress error, as the variables are being correctly passed to the script. Strangely '''mysite.com/index.php/page/2/?s=query''' or '''mysite.com/?s=query&page=2 works''' as expected, i have tried exploring the code but i don't really know about the internals of the wordpress core.

I tried the solution but not working for me.

{{{
function wp_fix_lighttpd() { //checks if URI has parameter and sets globals
	if (isset($_GET) && isset($_SERVER['QUERY_STRING'])) return;
	$donga = explode('?', $_SERVER['REQUEST_URI'], 2);
	if (count($donga) > 1) { 
		$_SERVER['QUERY_STRING'] = $donga[1];
		parse_str($donga[1], $_GET);
		$_REQUEST = array_merge( (array)$_GET, (array)$_REQUEST);
	}
}
}}}

I hope anyone can help me fix this. Thanks.
",anniyan07
Needs Milestone,20025,Add a filter for post types when viewing list of comments in the backend,,Comments,3.3.1,normal,normal,Awaiting Review,feature request,new,,2012-02-12T14:03:49Z,2012-02-12T14:38:23Z,Filtering comments based on post type,nprasath002
Needs Milestone,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
Needs Milestone,19862,"""My Sites"" menu should include ""Create a new site"" if enabled in Network settings",,Network Admin,3.3.1,normal,normal,Awaiting Review,enhancement,new,has-patch,2012-01-20T16:58:14Z,2012-02-13T04:22:49Z,"The ""My Sites"" menu should include ""Create a new site"" if blog registration is enabled in Network settings.",ebellempire
Consider for Next Major Release (has-patch),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
Needs Milestone,20048,Allow mt.getRecentPostTitles to return the sticky flag,,General,3.3.1,normal,normal,Awaiting Review,enhancement,new,,2012-02-15T14:02:03Z,2012-02-15T14:02:03Z,"Would be nice to return the value of the sticky flag in the mt.getRecentPostTitles response. This XML-RPC call is mostly used on mobile clients, and we need to show a visual indicator on ""sticky"" posts. Obviously, we can  call metaWeblog.getRecentPosts, but it is a ""more expensive"" XML-RPC call.",daniloercoli
Needs Milestone,20050,Proper Cap check in edit_comments.php,,Comments,3.3.1,normal,normal,Awaiting Review,defect (bug),new,has-patch,2012-02-15T17:36:51Z,2012-02-15T17:56:25Z,"See #20025.
As in edit.php?post_type=custom_post_type
and edit-tags.php?taxonomy=custom_taxonomy

When filtering comments for a specific post type
The fix in cap is more appropriate",nprasath002
Needs Milestone,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
Consider for Next Major Release (has-patch),15769,"WordPress ships with copyrighted ""Hello, Dolly!"" lyrics which could potentially terminate the GNU GPL of the package",,General,3.0.2,normal,normal,Future Release,defect (bug),reopened,has-patch,2010-12-11T02:35:59Z,2012-02-15T22:27:02Z,"It is an industry standard practice to show licensing details when using someone else's copyrighted content. I can't find anything substantiating that WordPress has been granted a license to use the copyright Hello, Dolly! lyrics, so the ''prima facie'' appearance is that WordPress is infringing copyright of Jerry Herman, the song's composer.

Unless WordPress indemnifies users, Hello Dolly plugin users may be vulnerable to legal problems due to unauthorized use of Jerry Herman's intellectual property.

Please clarify WordPress's license of this copyrighted material in the module's source code or at wordpress.org.",novasource
Needs Milestone,20046,Unnecessary default category code remains in wp_insert_attachment,,Media,,normal,trivial,Awaiting Review,enhancement,new,has-patch,2012-02-15T00:13:30Z,2012-02-16T06:46:13Z,"After the default arguments are set, post_type is forced to 'attachment', negating any requirement for default categories to be added.

Quick patch removes:

(1) The test performed for 'post' post_type in order to assign default categories to an array. Result was always an empty array.

(2) The call to wp_set_post_categories with this empty array, which sends the post_ID through a bunch of taxonomy related code that passes over it. This does cause the action 'set_object_terms' to be skipped, which should be okay as attachments don't have terms.",jeremyfelt
Consider for Next Major Release (has-patch),11824,Erroneous MIME type for .ico files,cnorris23*,Media,2.9.1,low,minor,Future Release,defect (bug),accepted,dev-feedback,2010-01-08T14:23:48Z,2012-02-17T22:28:59Z,"wp-includes/functions.php

line 2286

{{{
$mimes = apply_filters( ...
...
'ico' => 'image/x-icon',
...)
}}}

this is an erroneous label for ico file.
the right one is: 

{{{
$mimes = apply_filters( ...
...
'ico' => 'image/vnd.microsoft.icon',
...)
}}}

read : http://www.iana.org/assignments/media-types/image/vnd.microsoft.icon

or: http://en.wikipedia.org/wiki/ICO_(file_format)",davide.vicario
Needs Milestone,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
Needs Milestone,20075,Add action hooks to wp-activate.php in WP network,,Multisite,3.3.1,normal,normal,Awaiting Review,enhancement,new,,2012-02-19T11:55:26Z,2012-02-19T11:55:26Z,"Similar to the hooks in wp-signup.php:

do_action( 'before_signup_form' );
do_action( 'after_signup_form' );

these hooks should be added to wp-activate.php:

do_action( 'before_activate_form' )
do_action( 'after_activate_form' )

Purpose : allow signup and activate pages to be built/styled in a similar way.
",gdvwp
Needs Milestone,20073,When I publish a draft the posting date is not updated,,Editor,3.3.1,normal,major,Awaiting Review,defect (bug),new,dev-feedback,2012-02-18T20:39:13Z,2012-02-19T15:23:57Z,"I believe this was a bug previously that has come back with the latest version.  If you create a draft post and edit it over time, then publish it the date is NOT automatically adjusted to the date you publish.  It keeps the original date the post was created as a draft, thus putting it behind in the RSS feed and on your posting list.  This used to be an issue before, and seemed to be corrected and has come back up again

Steps to re-produce:
1)  Create a draft today
2)  Wait a couple days then publish
3)  You will see the ""published Date"" is the date it was created NOT the date it was published

This also happens with scheduled publishes ",ccolotti
Needs Milestone,19918,Attachments are viewable from any permalink that matches their slug,Adrian (designmodo.com),Permalinks,3.2,normal,major,Awaiting Review,defect (bug),new,dev-feedback,2012-01-29T11:02:27Z,2012-02-20T07:49:55Z,"I see one problem in WordPress, for example if you upload an images with name comments.png, all your url contain hide url like: /comments

example:
original post: yourdomain.com/myarticle
if you have in media gallery file with name comments.png url will be: yourdomain.com/myarticle/comments
or
yourdomain.com/myarticle2/comments
or
yourdomain.com/myarticle3/comments

and all this url's contain the same comment box.

my users report this problem, because if i share in twitter or g+ one link, many users redirect not to the post but to url with /comments in the end.

Adrian,

designmodo.com
",prorock
Needs Milestone,20081,Custom Post Type/Custom Taxonomy Does not filter.,,General,3.3.1,normal,major,Awaiting Review,defect (bug),new,reporter-feedback,2012-02-20T08:04:56Z,2012-02-20T08:41:56Z,"I have tested this on 4 different sites and found the same issue. At first I thought it was the code I copied then I realized the issue was happening with core. 

'''
Steps to produce:''' 
Use register_post_type to add a post type, say ""objects""

Use register_taxonomy to create custom tax, say ""attributes""

Be sure to have 'show_ui' => true

Create a post, give it a tax. IE: attribute1

Create a second post, give it a different tax. IE: attribute2

On the menu navigate to your tax menu page

here it will list attribute1 and attribute2. 

It will show 1 post in each, and the number 1 is a link to edit.php 
where it creates this URL string:
yoursite.com/wp-admin/edit.php?post_type=objects&attribute=attribute1

'''Expected Result:'''
The page should now be filtered down to JUST posts that have that attribute. 


'''Actual Result:'''
All Posts are still visible. Filtering has no effect. 

I found this by creating custom columns and with my switch listing links to the Tax's to be filtered. I've never gotten it to work. 
I do have a great script I believe by YOAST that creates a drop down to filter Tax's but this actually changes the global query itself. 

",DennisSmolek
Needs Milestone,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
Needs Milestone,20077,shortcode_parse_atts should not force arguments to be lowercase,,General,,normal,normal,Awaiting Review,defect (bug),new,close,2012-02-19T19:21:33Z,2012-02-20T17:42:42Z,"Inside wp-includes/shortcodes.php, the shortcode_parse_atts() function forces shortcode arguments to be lowercase.  So if your shotcode had something like [my_shortcode MyVar=123], then your code that uses something like ""print $MyVar;"" fails... you have to use ""$myvar"" instead.  This is counter-intuitive.  I understand that there needs to be some restrictions on what is a valid parameter name (see http://core.trac.wordpress.org/ticket/9405), but I think it makes the most sense that the parameter names can correspond to any valid PHP variable name;  PHP variables ARE case-sensitive, so this arbitrary restriction of forcing lower-case parameters seems like the incorrect approach.",fireproofsocks
Needs Milestone,18307,Settings mixed with WP installations sharing same database,,Administration,3.2.1,normal,major,Awaiting Review,defect (bug),new,,2011-07-31T21:22:09Z,2012-02-20T20:27:18Z,"I have WP website installed on main domain, and another WP installation on subdomain. These two share users tables.

When I rearrange admin dashboard widgets, or post editor widgets in one installation, other one uses same settings making the mess due to differences in available elements (different plugins installed).

All WP settings cookies are saved without proper setting of the cookie path/domain, and all sub-domains use same cookies as the main domain does. Cookies have to have full domain set to avoid mix-up like it happens now.

Same issue happens with Opera, Chrome and Firefox.

Milan ",GDragoN
Needs Milestone,20082,Admin bar links to wrong site in multisite (subdomain) network,,Administration,3.3.1,normal,major,Awaiting Review,defect (bug),new,,2012-02-20T09:53:52Z,2012-02-21T08:43:50Z,"The code
{{{
	foreach ( $actions as $link => $action ) {
		list( $title, $id ) = $action;

		$wp_admin_bar->add_menu( array(
			'parent'    => 'new-content',
			'id'        => $id,
			'title'     => $title,
			'href'      => admin_url( $link )
		) );
	}
}}}
generates the wrong URL, whenever I visit a site that has the URL subsite.subsite.example.com but generates the correct URL if the URL is of the pattern subsite.example.com. On subsite.subsite.example.com the admin bar will generate links to subsite.example.com.",niklasbr
Needs Milestone,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
Needs Milestone,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
Needs Milestone,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
Needs Milestone,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
Needs Milestone,20107,Add Filter for user_name length in ms user signup,,Multisite,,normal,normal,Awaiting Review,enhancement,new,dev-feedback,2012-02-23T17:46:45Z,2012-02-23T22:44:26Z,"It is difficult for us to explain our clients why they cannot have usernames with 3 chars and left. For that issue I'd like to recommend a filter for that, so we can change this with a plugin.",hughwillfayle
Needs Milestone,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
Needs Milestone,20115,Filter For media_upload_gallery_form,,Media,3.3.1,normal,normal,Awaiting Review,feature request,new,,2012-02-24T21:37:53Z,2012-02-24T21:37:53Z,"I recently ran into a project where we wanted to modify a gallery and interject some new gallery options.  As such the most simple user interface was to add a new setting to the gallery form  on the media upload page under galleris.  We would modify the shortcode creation and then override the gallery shortcode function with our own code.  The only problem is you can't overload the media_upload_gallery_form function in /wp-admin/includes/media.php

Not sure if a filter option or action is the right one here but I think that would give this area that overriding ability as well.

Having the ability to do this would be not only beneficial for my specific problem but woud give people the ability to really take the gallery to another level without messing up a familiar interface that people are using.",greenspeakmedia
Needs Milestone,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
Needs Milestone,20124,Smilies Fail Combinations,,Formatting,3.3.1,normal,normal,Awaiting Review,defect (bug),new,has-patch,2012-02-25T22:34:25Z,2012-02-26T12:37:54Z,"I have found that certain combinations of smilies break the monster of a regular expression that parses them.

{{{
8-O :-(]
8-) 8-O
8-) 8O[
8-) :-(
8-) :twisted:
8O :twisted: :( 8-( :(
}}}


...are some examples where the regular expression appears to be failing to match. Any smilie after a smilie with an 8 in it appears to be skipped. Will try to pinpoint the flaw in the regexp soon.",soulseekah
Needs Milestone,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
Needs Milestone,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
Needs Milestone,20125,Escape output in settings_errors,,General,3.0,normal,normal,Awaiting Review,enhancement,new,close,2012-02-26T17:26:26Z,2012-02-27T06:37:53Z,"'''The Problem'''

The ""settings_errors"" function does not escape data when outputting it from the $settings_errors variable, which either comes from the $wp_settings_errors global variable or the ""settings_errors"" transient. This data is not escaped at any point during retrieval or output. Additionally, the data is not sanitized or validated when adding it via ""add_settings_error"". 

'''Test Case'''

In the validation callback function for a setting, adding a settings error with HTML can badly break output:

{{{
add_settings_error( 'zdt-setting', '1023', 'An error occurred</div>' );
}}}

'''Solution'''

Escape the $type, $code, and $message variables on output.

'''Possible Issues'''

The $message variable is output wrapped in a 'p' and 'strong' tag. My patch tries to allow common, reasonable tags to be output. I use ""wp_kses_data"", which will only allow tags defined in the $allowedtags variable. Should a plugin or theme author need another element printed out, it will be stripped; however, there still is the potential that it could cause issues for plugins that were previously able to place anything in the $message variable. With that said, most other tags would lead to invalid HTML and probably shouldn't be allowed in this context anyway.",tollmanz
Consider for Next Major Release (has-patch),18926,Provide with the ability to monitor emailing failures,,Mail,3.2.1,normal,minor,Future Release,enhancement,new,has-patch,2011-10-12T21:11:28Z,2012-02-27T16:18:09Z,"Add an action hook in 'wp-mail' function on catching 'phpmailerException' and before returning 'false'.


This way, a plugin may track all email sending failures.",npetetin
Needs Milestone,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
Needs Milestone,19100,Introduce esc_color(),,General,,normal,normal,Awaiting Review,enhancement,new,dev-feedback,2011-11-01T12:16:14Z,2012-02-28T03:15:42Z,"Currently there is no way to escape a color in hexadecimal notation before printing it to a block of css or saving to the database. Many themes like to introduce functionality, whether it be core-supported or completely custom, to change the color of various parts of the templates. I believe that a function such as `esc_color()` would promote best practices while ensuring that unintended values do not get stored as colors and thus echoed in css blocks potentially breaking display.",mfields
Needs Milestone,20130,Remove redundant link_updated code related to bookmarks,,General,3.3.1,normal,minor,Awaiting Review,enhancement,new,dev-feedback,2012-02-28T04:45:46Z,2012-02-28T09:32:54Z,"The links table has a column called `link_updated` which used to be used to store the date the link last changed (using pingomatic to check for this).

The link update checking was removed from core some time ago, see #12437, [13744] (also #4230, #4231). However there's still some code in `wp-admin/bookmark.php` and `wp-admin/bookmark-template.php` which uses `link_updated` as well as the `links_recently_updated_time` option. I guess the column in the database can't just be dropped because of back compat. But the code that uses it in core looks like it can.",solarissmoke
Needs Milestone,20120,Space before slash to close BR,,Formatting,3.4,normal,trivial,Awaiting Review,enhancement,new,,2012-02-25T04:08:58Z,2012-02-28T14:57:50Z,"Kind of a petty, I admit, but I noticed http://codex.wordpress.org/WordPress_Coding_Standards shows this as the standard, and I figured I'd help out by checking if any such occurrences exist (using the following):

`find -name '*.php' -type f | xargs egrep -n ""<br\/>""`

Diff attached (my first)...but I won't have my feelings hurt if the ticket is closed and I am banned from trac :)",bananastalktome
Needs Milestone,20133,Tags with diacritical marks issue,,General,3.3.1,normal,normal,Awaiting Review,defect (bug),new,,2012-02-28T18:06:15Z,2012-02-28T18:06:15Z,"I can't add tags to post with diacritical marks (for example polish word ""bąk"") and then the same word without diacritical marks ""bak"" from edit post panel, because function term_exists() in wp-includes\taxonomy.php returns true when checking if this tag already exists. I can do this from tag edit panel, but this is more time concuming.",partyzant
Needs Milestone,20144,make posts without title or without main text more comfortable,,General,,normal,normal,Awaiting Review,enhancement,new,,2012-02-29T17:55:15Z,2012-02-29T17:55:15Z,"make posts without title or without main text more comfortable. as i know posts without main text is even not possible. if user creates post without title, it is hard to find in dashboard post list!

this enhancement would allow to use wordpress as microblog.",qdinar
Needs Milestone,19140,Save Menu Forces Sub-Menus (Child Menus) Back To Parent Menus in IE 9.0,,Menus,3.2.1,normal,normal,Awaiting Review,defect (bug),new,reporter-feedback,2011-11-03T22:50:29Z,2012-02-29T20:32:43Z,"The following issue appears in Internet Explorer 9.0.8112.16421 (current version).

In Appearance->Menus for both primary and secondary menus, when you try to define a sub-menu by drag-n-dropping to the right in the menu definition box, it shows indented properly. However, when you click Save Menu, all sub-menus return to being parent menus.

The only way to get the sub-menus to work was to edit them in another browser. In this case, I used Internet Explorer 7.0.5730.11 and it worked properly.",webby 2
Needs Milestone,19828,allowing to insert help tab in specific position,,Administration,3.3.1,normal,normal,Awaiting Review,enhancement,new,has-patch,2012-01-13T21:50:15Z,2012-03-01T17:22:32Z,"this enhancement of add_help_tab() would allow plugin developers to insert help tabs on existing screens at an arbitrary position, e.g. place it on the ""Writing Settings"" screen's help tab between the ""Overview"" and ""Press This"" tabs

the patch attached includes the bugfix from #19827, but this enhancement can be rewritten to work independently",tfnab
Needs Milestone,17052,wp_sanitize_redirect() removes square brackets from URL,,General,3.1,normal,minor,Awaiting Review,defect (bug),reopened,has-patch,2011-04-05T07:12:16Z,2012-03-01T18:08:07Z,"The function wp_sanitize_redirect() removes square brackets from URLs.

PHP's functionality with arrays in the URL require square braces, stripping them from the URL means that pages (and plugins) that rely on them fail.

To Reproduce:

{{{
<?php
$url = 'http://example.com/my_url_array[1]=hello+world';
print wp_sanitize_redirect($url);
?>
}}}


Current Output:
http://example.com/my_url_array1=hello+world

Expected Output:
http://example.com/my_url_array[1]=hello+world

Whilst developers should be able to work around this as the function is pluggable I believe this should just work out of the box.
",bluntelk
Needs Milestone,20151,Add parameter for wp_embed_defaults(),,Media,,normal,normal,Awaiting Review,enhancement,new,has-patch,2012-03-01T20:08:17Z,2012-03-02T06:07:04Z,"If we can add a parameter (like $url) to wp_embed_defaults(), then people can filter more intelligently as WordPress extends to allow more and more oEmbed.

",wpsmith
Needs Milestone,20153,Track Plugin actions/history,,General,,normal,minor,Awaiting Review,enhancement,new,,2012-03-02T14:58:50Z,2012-03-02T14:58:50Z,"It would be great if WP could track any activity around plugins, eg. install, activate, disable, update, delete.

Seeing as plugins are most often the causes of problems with WP, it would be good to know which was the last plugin activated, or updated, particularly on sites with many plugins.

For example, I'm currently troubleshooting a problem which may be due to a plugin I recently updated, however I have no idea which one it could be, and disabling/re-enabling all plugins is not really the best solution.

A fairly simple nice-to-have that would greatly aid troubleshooting.",SecGen
Needs Milestone,20166,Function url_shorten() enhancement,,Formatting,,normal,normal,Awaiting Review,enhancement,new,has-patch,2012-03-03T23:03:47Z,2012-03-04T03:37:59Z,"The function url_open is included in the wp_admin/includes/misc.php and is not usable unless loaded. This is not loaded by default so not available site wide. Also, the function is very static as of right now in its use with no defined options. Options to set length of the shortened url and the ability to turn on off the cutting of the leading ""http://www"" and the trailing slashes are included in this patch.",mulvane
Needs Milestone,20171,"Categories/Tags links are broken in WP 3.3.1, with multisite/subfolder install",,Multisite,3.1,normal,normal,Awaiting Review,defect (bug),new,,2012-03-04T07:10:35Z,2012-03-04T13:21:39Z,"All the default categories/tags links are not working, showing error..

""This is somewhat embarrassing, isn’t it?""

Steps to reproduce:
-------------------
1. Install WP 3.3.1 on domain, e.g. http://blog.example.com
2. Enable multi-site features, using subfolder instead of subdomain
3. Create a site, e.g. http://blog.example.com/test1
4. Create a post, e.g. http://blog.example.com/test1/2012/03/04/test1/
5. Enter the default category link, e.g. http://blog.example.com/test1/category/uncategorized/


Now you will see the message: ""This is somewhat embarrassing, isn’t it?""

Fix:
----
1. Enter this link: http://blog.example.com/test1/wp-admin/options-permalink.php
2. Change nothing, press ""Save Changes""
3. Now you can view the link correctly: http://blog.example.com/test1/category/uncategorized/

The above issue also apply to tags",tszming
Needs Milestone,20178,wpdb class : provide a disconnect / connect to db functions,arena,General,3.4,normal,normal,Awaiting Review,enhancement,new,dev-feedback,2012-03-05T13:16:21Z,2012-03-05T16:28:46Z,"some hosts automatically disconnect mysql after a short while.
I think it could be interesting to have in wpdb a disconnect and connect functions.",arena
Needs Milestone,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
Needs Milestone,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
Needs Milestone,20114,Posts and Pages w. private visibility don't show up in existing content,,Editor,3.3.1,normal,major,Awaiting Review,defect (bug),new,has-patch,2012-02-24T20:58:52Z,2012-03-07T13:12:29Z,"when inserting or editing a link in the editor (post or page) pages & posts with private visibility don't show up in the ""existing content"" section of the ""insert/edit link"" popup. All pages/posts with public visibility are shown. This doesn't make sense as I have all necessary privileges to see and edit these private pages/post. Even the admin doesn't see the private pages. Very annoying.",heinrichgeps
Consider for Next Major Release (has-patch),14687,"Add ""collapsible"" class to menu items that have children",,Menus,3.0.1,normal,normal,Future Release,feature request,new,has-patch,2010-08-24T21:50:25Z,2012-03-07T15:49:30Z,"Items from custom menus in WP 3 have classes like:

{{{
menu-item
menu-item-type-TYPE
menu-item-ID
}}}


and if the current menu item is active, also:

{{{
current-menu-item
}}}

or

{{{
current-menu-ancestor
}}}

It would useful for theme developers if you also added another class on menu items that have children, like ""collapsible"", or ""menu-with-children"" :)

this will allow designers to add things like arrows in menus easier, without having to resort to javascript hacks to check if the list element has children...",digitalnature
Consider for Next Major Release (has-patch),14325,"No possibillity to add a ""Home""-link to the nav_menu when there are no Pages",,Menus,3.0,normal,normal,Future Release,enhancement,new,dev-feedback,2010-07-15T22:36:13Z,2012-03-07T20:10:38Z,"If you want to add a ""Home"" link to the new nav_menu in Wordpress 3.0 you can't do so, if there is no Page created yet. If there is no Page, there is also no ""View All""-Button in the Pages-Section to view the ""Home""-Link.

In my opinion the ""Home-Link"" in the Pages-Section is very hidden anyway.",lundj
Consider for Next Major Release (has-patch),17852,Collapsed menu fly-out headers should be clickable,,Administration,,normal,normal,Future Release,enhancement,new,has-patch,2011-06-20T03:13:00Z,2012-03-07T20:59:48Z,"When you hover over a collapsed admin menu icon, the extension of the icon is not clickable, only the submenu screens are.

This is the same behavior in 2.7 to 3.1, but I think it should be considered.",nacin
Consider for Next Major Release (has-patch),13363,Edit Comments: Pending > Approving shouldn't make them disappear from screen,garyc40,Comments,3.0,normal,normal,Future Release,enhancement,assigned,has-patch,2010-05-11T23:35:45Z,2012-03-08T01:56:30Z,"Edit Comments: Pending > when clicking Approve the comments shouldn't just disappear from the screen.

They should collapse and have an undo status like when you trash or spam a comment.

ENV: WordPress trunk r14573 (3.0-beta2-14565)

",lloydbudd
Consider for Next Major Release (has-patch),13820,AJAX update the comment bubbles on edit-comments.php,,Comments,3.0,normal,normal,Future Release,task (blessed),assigned,has-patch,2010-06-10T13:45:27Z,2012-03-08T01:58:35Z,"We update the bubble in the Comments admin menu item. We should also update the counts in the ""In Response To"" bubbles, as well as the bubble color.",matt
Consider for Next Major Release (has-patch),17928,"When a comment is spammed/trashed, change the parent of it's children",,Comments,3.2,normal,normal,Future Release,enhancement,assigned,has-patch,2011-06-29T06:42:11Z,2012-03-08T02:17:19Z,"When removing (spam/trash) a comment that has children, everything goes to hell in terms of hierarchy and you're left with a bunch of orphaned comments.

See two attached images for what currently happens after removing a comment that has children.

When a comment is removed, all immediate children of the comment to be removed should have their parent changed that of the the parent of the comment being removed (or top level if the comment to be removed is top level). Each comment that has it's parent changed then gets that action logged to it's post meta so that it can be moved back in the case of it's previous comment being restored (on post un-delete/spam, find all matching comment metas).",Viper007Bond
Needs Milestone,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
Needs Milestone,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
Needs Milestone,20206,WXR unnecessarily includes all post authors,,Export,3.3,normal,normal,Awaiting Review,enhancement,new,has-patch,2012-03-09T01:06:58Z,2012-03-09T02:26:14Z,"If you're exporting just one post type (from Tools -> Export), the resulting WXR file still includes all authors from the posts table, regardless if they are the author of a post of the post type being exported. This can be particularly noticable for Pages (which are often only authored by a small number of different users on the site) and for custom post types.

This means when you subsequently import the file you'll be asked to map a complete list of all authors from the exported site, even if they have no posts in the WXR file being imported.",johnbillion
Needs Milestone,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
Needs Milestone,20224,WordPress should always add a / at the end of URLs,,Canonical,3.4,normal,normal,Awaiting Review,enhancement,reopened,close,2012-03-13T09:54:17Z,2012-03-14T12:36:36Z,"Users can change permalinks. They can add whatever they whant at the end of each url. For example :[[BR]]
- mydomain.com/myurl
- mydomain.com/myurl/
- mydomain.com/myurl.php
- mydomain.com/myurl.html
- mydomain.com/myurl.htm
- ...

There is a bug with search engines and empty URLs (mydomain.com/myurl). Google, Yahoo or Bing consider that it's not the same URl as mydomain.com/myurl/. They always try to add a / at the end of those URLs : it creates duplicate content for search engines that harms website visibility. For example, if a WordPress Blog uses /%postname% as permalink, Google is going to index both url:
- mydomain.com/myurl
- mydomain.com/myurl/

In order to correct this issue, WordPress should always add a / at the end of empty URLs (for example, without a / or without extension like .php, .asp, .html, ...).",Confridin
Needs Milestone,20194,Add Description meta to General Settings,,General,3.3,normal,minor,Awaiting Review,feature request,new,,2012-03-07T20:59:05Z,2012-03-17T13:50:40Z,"Add a description field to General Settings b/c these days with themes doing all kinds of kooky things, the automatic excerpt is often not representative of the site content.  All the SEO-lovers will be happy, searchers will get more accurate results, and it's a nice end-user feature without high overhead.

Could have sworn I made a ticket like this once before, but can't find it in search, so if anyone remembers it/is better at searching trac than I just was, go ahead and close this as duplicate.",jane
Needs Milestone,20251,get_preferred_from_update_core can return false,,General,,normal,normal,Awaiting Review,defect (bug),new,,2012-03-17T14:51:41Z,2012-03-17T14:51:41Z,"I just had a case in my network installation where get_site_transient( 'update_core' ) returned false.
In this case it gave an error message at core_update_footer();

When I went back to Network admin updates page and press 'check_again' the error went away.
The error can be caused because of running the recent nightly build (3.4-alpha-20205).

What was weird that in the site wp-admin there still was the balloon that there was an update when I had the error. When I pressed the button the balloon went away what is the correct.",markoheijnen
Consider for Next Major Release (has-patch),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
Needs Milestone,20257,Url of navigation menu item of alternative type removed,,Menus,3.3.1,normal,normal,Awaiting Review,defect (bug),new,,2012-03-18T19:49:26Z,2012-03-18T20:15:25Z,"When creating a new navigation menu item with `wp_update_nav_menu_item` the url is removed if the type of the item is not 'custom'. If the type of the item is 'taxonomy' or 'post_type', the url is then set appropriately. However, if the item has a type other than 'custom','taxonomy', or 'post_type' the menu item is saved without an url.

`wp-includes/nav-menu.php L314`

{{{
if ( 'custom' != $args['menu-item-type'] ) {
     /* if non-custom menu item, then:
     * use original object's URL
     * blank default title to sync with original object's
     */

     $args['menu-item-url'] = '';
}}}",stephenh1988
Needs Milestone,20260,Post by email posting same message multiple times,,General,3.3.1,normal,normal,Awaiting Review,defect (bug),new,,2012-03-19T15:40:57Z,2012-03-20T08:45:04Z,"I am using the Post by email feature for a Wordpress.org blog. I post by mail once a day and daily to the blog, usually around midnight. There are usually between 2 and 6 messages posting on any given day (sent as individual emails).

I have set up a secret POP email address to which I send emails, and these emails are picked up by Wordpress as Posts on my blog.

However, I am seeing the messages post multiple times; sometimes twice, sometimes up to 10 times in a row on the blog.

It usually happens for all messages on certain days, but some days this does not happen at all. I have not been able to identify a pattern of which days have this problem or if it is related to the number of messages posting on a particular day.

This issue began happening around October 2011; previously, I didn't notice this problem.

Environment:
Wordpress.org 3.3.1
Thunderbird 7.1 email client; publish messages sent in text mode, with word wrap off
Google Apps account used as secret email. Account set to POP. All forwarding, etc. is turned off.

Steps: 1) wp-mail.php modified to post regardless of author, per bug 18923 which keeps messages stuck in Pending status 2) User from which posts sent is registered as Editor or Admin in Wordpress site. 3) Theme footer modified to include automatic checking for incoming messages 4) Email account is setup in mail client that matches the Admin/Editor email in Wordpress 5) Message to post is sent to the secret address by user

Result: 1) Wordpress on certain days posts the messages with no problem; other days, it posts multiple copies of the message. Usually, either all messages post multiple times or all post one time for a given day; I have not noticed that if one message on a particular day posts multiple times that another will post only once. 2) There can be anywhere from 2 to 10 copies of the same message posted. 3) I have tried to modify my POP account settings so that messages get Archived when read, rather than staying in the Inbox; however, this did not fix the problem.

Note: I use Google Apps as the email server for both the From: mail and the secret address mail. 

I have not been able to find other discussions on this topic, nor track down any possible root cause of it.

Message of one of the posts that posted multiple times is attached.",bloggertype
Needs Milestone,18817,WP_List_Table nonce output moved to its own method,,General,3.2.1,normal,minor,Awaiting Review,enhancement,new,has-patch,2011-09-29T17:55:33Z,2012-03-20T19:32:43Z,"A quick little patch to move the nonce field generation and output to its own field.  I ran across a need for this when implementing the class on a postmeta box on the post edit screen.  Both the post edit form and the WP_List_Table class were outputting a nonce field using the name ""_wpnonce"".  Upon submission this was prohibiting the post from saving.

I had to override the entire display_tablenav method whereas if the output of the nonce was its own method, I could override it there and change the name of the field it was outputting.",bigdawggi
Needs Milestone,20252,"Default img url when adding media includes ""http://etc"" causing insecure content in https pages",,Media,3.3.1,normal,normal,Awaiting Review,defect (bug),new,close,2012-03-18T04:03:19Z,2012-03-21T04:49:20Z,"New post, insert media, select an image and have a look at the <img src="""" part. It links to the full ""http://website/wp-content"" address causing images to be loaded as ""insecure content"" when the full page is loaded via https://website/

If this was instead just ""/wp-content/bla"", then when the page is loaded via https, all images would by default load with https as well, mitigating against insecure content loading.
",markcunningham
Consider for Next Major Release (has-patch),16418,get_plugin_data() doesn't apply kses when $markup and $translate are false,dd32*,Plugins,3.0.4,normal,normal,Future Release,defect (bug),accepted,has-patch,2011-01-30T23:45:23Z,2012-03-21T14:53:46Z,"`get_plugin_data()` uses `_get_plugin_data_markup_translate()` to apply kses, but this isn't invoked if $markup and $translate are both false.

This behaviour is rather unexpected, since kses application isn't controlled directly by either parameter.",kawauso
Needs Milestone,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
Needs Milestone,20289,wp_nav_menu container is not set when menu isn't defined,,Menus,3.3,normal,normal,Awaiting Review,defect (bug),new,dev-feedback,2012-03-23T10:27:03Z,2012-03-23T13:19:41Z,"When you use wp_nav_menu in your theme, but the actual menu isn't set via the backend menu interface, the container provided in the args is ignored and falls back to 'div'.

Attached diff always uses container provided in args, if 'div' or 'nav' is provided. If no container arg is provided, falls back to using 'div'.

{{{
wp_nav_menu(
	array(
		'theme_location' => 'main_menu',
		'container'      => 'nav',
		'menu_class'     => 'main-menu-navigation',
	)
);
}}}

To test this: Use this function in your theme, without assigning a menu to this theme_location.",dannydehaan
Needs Milestone,20283,Create new variable or function in $wp_query object to get canonical URL of any site's page,,Canonical,3.3.1,normal,normal,Awaiting Review,enhancement,new,,2012-03-22T14:42:36Z,2012-03-24T12:08:55Z,"For the sake of Search Engine Optimization it's recommended to set canonical URL inside <link rel='canonical'> tag in any site's page. Incorrect URL can exist in search engine index. For example: http://example.com?some_param=some_val&cat=3,4. URL points to categories with id equals 3 and 4, but we have another unnecessary parameter 'some_param'. It's malicious! We must set canonical URL to http://example.com?cat=3,4.
So It's advance to have canonical URL generated some way. I propose to set function or variable inside WP_Query class to retrieve canonical URL to any opened page.

In WP_Query we have variable WP_Query::query which consists of all necessary parameters for that propose. But we must use $wp_rewrites also.
Any thoughts?
",egorpromo
Consider for Next Major Release (has-patch),15424,Refresh post count when a post is deleted,,General,3.1,normal,normal,Future Release,defect (bug),reopened,has-patch,2010-11-14T16:02:47Z,2012-03-24T14:15:48Z,"Hi Guys,

I am reporting a bug in the system. I have various users in WPMU. They have their posts and i am tracking their no of posts.

Now if i delete a post from users account post count isnt getting updated. It remains at what it was previously.

eg. If a user has 4 posts in his account and he deleted his one post still the ""post_count"" field in ""wp_options"" table remains 4 only. Its not getting updated to 3.

Is there any patch for this ??

Awaiting eagerly for response.

Samir",chouxpastry2002
Needs Milestone,19367,Remove unused _relocate_children(),,General,,normal,minor,Awaiting Review,enhancement,new,has-patch,2011-11-26T23:23:51Z,2012-03-24T14:30:12Z,It's from the days of negative post ids. Some history: #9471,scribu
Needs Milestone,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
Needs Milestone,20301,Enable media library access from blogroll,,Administration,3.3.1,normal,normal,Awaiting Review,feature request,new,,2012-03-25T08:50:37Z,2012-03-25T17:10:03Z,"Currently WordPress doesn't give you the option to easily add images from your WordPress plugin to your blogroll items (links). I just released a plugin to do that (http://wordpress.org/extend/plugins/blogroll-media-library-image/) and was told this would be a good one to add to core.

I would love to add a diff-file, but I have no idea how to do this.",illutic
Needs Milestone,19354,wp_allowed_protocols() does not allow data URI scheme,,Editor,3.2.1,normal,normal,Awaiting Review,defect (bug),new,dev-feedback,2011-11-25T03:34:46Z,2012-03-26T03:27:19Z,"When inserting images into a post via copy-paste, Firefox will paste a base64 text string (using the Data URI scheme) into the post editor.  The result will look something like:

<img src=""data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAAUA
AAAFCAYAAACNbyblAAAAHElEQVQI12P4//8/w38GIAXDIBKE0DHxgljNBAAO
9TXL0Y4OHwAAAABJRU5ErkJggg=="" alt=""Red dot"">

When the post is saved, the ""data:"" portion of the src attribute is stripped away by wp_kses_hair() via the line:

if ( in_array(strtolower($attrname), $uris) )
   $thisval = wp_kses_bad_protocol($thisval, $allowed_protocols);

""data:"" is treated as a protocol prefix, and is not seen as part of the src attribute.

To reproduce this error, try the following in Firefox:

1) Do a Google image search for a rendom image.
2) Right-click -> ""Copy Image""
3) Paste into rich text editor
4) Save post
5) View HTML tab of the editor and notice that the ""data:"" scheme has been removed.

A side effect of this issue is that the image src is treated as a relative image path on the server (in subdirectory ""image/png"" with long string of characters as the ""file name.""  The server will typically report an error in its log file about the request length of the URI being too long.",hardy101
Needs Milestone,20309,Visual Editor: Editor styles overwrite FF minimum font size settings when a small size is set,,Editor,3.4,normal,normal,Awaiting Review,enhancement,new,,2012-03-27T14:08:50Z,2012-03-27T14:08:50Z,"This issue can be found when using Minimum font size accessibility settings in Firefox, instead of the Zoom settings.

* When editor-style.css defines a specific font size, the text in the visual editor cannot be made smaller than this font size.
* If I set the default font size to a bigger value than the one set in editor-style.css, it works.

Could we change this, so that all contents in the dashboard always fit the minimum font size defined in FF, whether that size is a small value or a big one?

Possibly related: #12825",hd-J
Needs Milestone,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
Consider for Next Major Release (has-patch),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
Consider for Next Major Release (has-patch),14414,Add an action hook to add fields to nav_menu items form,Gecka*,Menus,3.1,normal,normal,Future Release,feature request,accepted,has-patch,2010-07-25T07:25:37Z,2012-03-28T20:45:05Z,"Hello,

In order to add a custom field to a nav menu item form, I have to setup a custom walker whereas a simple action hook could do the trick. Everything else is ok to handle and save the custom field. (http://loxdev.knc.nc/blog/wordpress/auto-populate-nav-menu-with-sub-pages/)

Here is how the asked action hook could be added:
http://github.com/loxK/Wordpress_Gecka_Submenu/blob/master/models/NavMenuHacks.php#L310-312",DreadLox
Consider for Next Major Release (has-patch),11571,Provide easy way to return url of thumbnail image,,Post Thumbnails,2.9,normal,normal,Future Release,enhancement,new,has-patch,2009-12-23T06:01:07Z,2012-03-28T20:56:27Z,"I'm sure that there is probably a hack for doing this, but for those who aren't interested in custom functions, etc., I would like a simple built-in function for referencing the thumbnail image url (or a size version of it) without bringing in the predefined image tag. I tried applying a workaround, but it collided with a plug-in I was trying to use, and hacking a pre-2.9 plug-in to use the post plugin has not gone so well because of the image tag that the get_post_thumbnail function returns. ",braindrain
Needs Milestone,20317,Delete auto-draft using window.onbeforeunload,,General,,low,normal,Awaiting Review,enhancement,new,dev-feedback,2012-03-28T22:50:27Z,2012-03-28T22:53:23Z,"When a user goes to post-new.php, a new auto-draft post is created.

Old auto-drafts are garbage-collected: #19663

To lessen the need for GC, we could send an AJAX request to delete the auto-draft immediately when the user navigates away from the page (but not when he presses the Submit button).

",scribu
Needs Milestone,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
Needs Milestone,20326,Widget dropped in sidebar with name=sidebar-two shows up in sidebar with id=sidebar-two (and different name: some-other-name),,General,,normal,normal,Awaiting Review,defect (bug),new,,2012-03-29T12:53:15Z,2012-03-29T13:57:28Z,"Hi,

reproducing steps:
register 2 sidebars:

sidebar 1: 
id   = 'sidebar-one'
name = 'sidebar-two'

sidebar 2: 
id   = 'sidebar-two'
name = 'some-other-name'

drop a widget in sidebar 1, and it will also after reloading the widget page show up in sidebar 2...

Also: widgets dropped in sidebar 2 disappear.

OK, OK, i shouldn't be mixing up sidebar names and ids like i did (sorry), am going to change that in my setup now, I just wanted to point out that I thought that assigning a widget to a sidebar was related to its id only. This current behavior strikes me a little strange :)







",ruud@…
Needs Milestone,20338,Slugs and special chars,,General,3.3.1,normal,normal,Awaiting Review,defect (bug),new,,2012-03-31T16:18:03Z,2012-03-31T16:18:03Z,"When Wordpress generates a slug, the apostrophe mark is stripped.

Examples :

""I'm open"" > im-open[[BR]]
""L'équipe"" > lequipe[[BR]]
""Suzy's Place"" > suzys-place[[BR]]

If the apostrophe is changed to ""-"" the auto generated slug will be more ""readable"" (and better for seo) :

""I'm open"" > i-m-open[[BR]]
""L'équipe"" > l-equipe[[BR]]
""Suzy's Place"" > suzy-s-place[[BR]]

Maybe a constant to define what strategy to adopt ? ",amirhabibi
Needs Milestone,20225,"Self-contain wp-includes/load.php, wp-includes/plugin.php",,Performance,3.3.1,normal,normal,Awaiting Review,feature request,new,,2012-03-13T10:50:01Z,2012-04-01T09:44:46Z,"I'm trying to write a high-performance plugin.

I still want the whole of WP to be used by the admins, and the main part of WP to still be used by most user workflows, but I want certain end users to instead be using an alternate controller, instead of /index.php, when they're doing certain things. 

This new controller I'll write will use a couple of the core files, but skips most for the goal of increased performance. The proposed core files to re-use are:
* wp-includes/version.php
* wp-includes/load.php
* wp-includes/plugin.php
* wp-includes/wp-db.php
* wp-includes/class-wp-error.php

However, wp-includes/functions.php is a can of worms, that if I included, would require me to include many other files, and it spiders out from there.

What would be better is if the following functions that wp-includes/load.php and wp-includes/plugin.php require be moved into those files from the functions file. Specifically:
* wp_die()
* validate_file()
* stripslashes_deep()
* add_magic_quotes()
* _doing_it_wrong()
* trailingslashit()

If they aren't, I'll have to copy-paste them into my custom controller, maintaining separate versions of them (less than optimal).

Of course, this process still requires me to write my own simpler versions of many more complex functions:
* wp_cache_init()
* wp_cache_close()
* wp_get_active_network_plugins()
* is_blog_installed()
* get_option()
* update_option()

but that's completely acceptable.

Moving those first 6 functions from the functions file to the load and plugin files would not negatively affect core, but would positively affect plugin authors' abilities to write high-performance plugins.",scottconnerly
Needs Milestone,18979,Add $post_type parameter and a filter to meta_form(),,Editor,,normal,normal,Awaiting Review,enhancement,new,,2011-10-18T03:55:56Z,2012-04-01T12:29:54Z,"In the current version, meta_form(), the function which outputs Custom Fields form used in Edit Post pages, shows all meta keys you have used regardless of post type. Sometimes this gives users unwanted options.

I'd like to suggest adding $post_type parameter to meta_form() to show only meta keys you have used in the same post type. In addition, it would be better if there were a filter for the meta keys.",takayukister
Needs Milestone,20298,Change requires to require_once,,General,3.3.1,normal,normal,Awaiting Review,enhancement,new,close,2012-03-24T22:39:20Z,2012-04-01T17:58:37Z,"Wordpress partially uses ""require"" to include files. I'd prefer to have require_once everywhere where a file really shouldn't be included twice. I'm currently developing an HTTP-Server (https://github.com/pp3345/Pancake) with a function to keep ""static"" codefiles (for example files that only do class-definitions and don't actually really execute any code) in some kind of a cache so that they don't need to be loaded again on every single request in order to improve performance. When I now, for example, load the wp-includes/class-wp-walker.php into the cache at the beginning and then Wordpress tries to require the file again, it fails with an Fatal Error due to trying to define the class again. Using require_once instead of require in Wordpress can be done quickly and would easily fix this. Also, it could improve the codes quality a bit.",pp3345
Needs Milestone,20302,Allow comment_form() to add attributes to <form> tag,,Comments,3.3.1,normal,normal,Awaiting Review,enhancement,new,has-patch,2012-03-25T15:48:53Z,2012-04-01T18:23:56Z,"The standard method to allow Google Analytics to track comment submissions as a 'goal' is to add a piece of JavaScript code wrapped in an 'onsumbit' attribute:
http://www.optimisationbeacon.com/analytics/track-blog-comments-in-google-analytics/
http://code.google.com/apis/analytics/docs/tracking/eventTrackerGuide.html

We want something like the following:

{{{
<form action=""http://www.example.com/wp-comments-post.php"" method=""post"" id=""commentform"" onsubmit=""_gaq.push(['_trackEvent', 'Comments', 'Submit', 'POST TITLE']);"">
}}}

However the current arguments submitted to comment_form() do not provide for adding attributes to <form>
http://codex.wordpress.org/Function_Reference/comment_form

I was forced to perform a workaround in which the onsubmit code was inserted by JavaScript on the fly at runtime.

So this is request to alter comment_form() such that arguments accepted provide for 'onsubmit' or other custom attributes to be appended on the <form> tag.",psbook
Needs Milestone,20342,Opening Double Quote after 3 hyphens converted to double closing quote,,Formatting,3.3.1,normal,normal,Awaiting Review,defect (bug),new,,2012-04-01T20:16:05Z,2012-04-01T20:16:05Z,"The string:

{{{
<p>I also remember the line in ""Casey at the Bat"" when he struck out---""There is no Joy in Mudville!!!""</p>
}}}

is converted to this in WordPress 3.3.1:

{{{
<p>I also remember the line in &#8220;Casey at the Bat&#8221; when he struck out&#8212;&#8221;There is no Joy in Mudville!!!&#8221;</p>
}}}


Seems to be what should be an opening quote that follows an Em dash is always converted into a closing quote.",PetesGuide
Needs Milestone,20352,Use str_getcsv() to parse search terms in WP_Query,,General,,normal,minor,Awaiting Review,enhancement,new,has-patch,2012-04-03T23:05:25Z,2012-04-04T01:39:31Z,"We use an [http://core.trac.wordpress.org/browser/tags/3.3.1/wp-includes/query.php#L2183 ugly regex] to split search terms like these:

{{{
term1 term2 ""exact match""
}}}

We could use str_getcsv() instead, for better readability.",scribu
Needs Milestone,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
Needs Milestone,18630,Custom Comment Validation Error,,Comments,3.3,normal,minor,Awaiting Review,feature request,new,,2011-09-09T19:49:33Z,2012-04-04T18:16:21Z,"One of the things that bugs me about WordPress is not being able to customize the wp_die() function that is called on comment form validation. I have seen some people sugget core hacks, eek. I'm hoping that a hook is added to allow overriding of the default wp_die(). Maybe even a new template file wp_error.php that would be called first. 

I haven't found a lot of discussion on this in trac just #11286 and #10551",bandonrandon
Needs Milestone,20360,New Sidebar Takes Over Previous Sidebar Widgets,,General,3.3.1,normal,normal,Awaiting Review,defect (bug),new,,2012-04-05T00:09:43Z,2012-04-05T00:09:43Z,"When creating a new sidebar in a theme already utilizing a sidebar, the new sidebar takes on the widgets of the sidebar previously occupying that place of order.  For example, a theme currently has these sidebars, with widgets in use:

Sidebar
Footer

Adding a new sidebar in a array:


{{{
$sidebars = array('Home Page Sidebar','Sidebar','Footer');

foreach ($sidebars as $sidebar) {

  register_sidebar(array('name'=> $sidebar,

    'before_widget' => '<article id=""%1$s"" class=""widget %2$s""><div class=""container"">',

    'after_widget' => '</div></article>',

    'before_title' => '<h3>',

    'after_title' => '</h3>'

  ));

}
}}}

Home Page Sidebar takes the widgets of the Sidebar when it takes in place in line.",imikedesigns
Needs Milestone,20359,wp_list_categories - Diff to make use_desc_for_title parameter more flexible,,General,2.2.1,normal,normal,Awaiting Review,enhancement,new,has-patch,2012-04-04T22:57:44Z,2012-04-05T12:58:17Z,"Right now, the @use_desc_for_title is defined as a boolean parameter which outputs category link title attributes containing either:
- Category descriptions by default (''bool '''1''''');[[BR]]
- 'View all posts filed under [category-name]'.[[BR]]
Now, since the title attribute is not required for '''<a>''' tags in any HTML spec, I made a patch to turn this parameter into a string, with the following supported values:[[BR]]
- 'desc' => (default) Outputs category descriptions;[[BR]]
- 'viewall' => Same output as ''bool '''0''''' (''false'') before: 'View all posts filed under [category-name]';[[BR]]
- 'none' => Does not output any title attributes.[[BR]]

I have tested this thoroughly, but additional testing would not hurt.",Marventus
Needs Milestone,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
Needs Milestone,17771,URL-encoded comment_author_url gets broken by MySQL varchar 200 length limit,,I18N,3.2,normal,normal,Awaiting Review,defect (bug),new,has-patch,2011-06-12T03:46:44Z,2012-04-06T11:38:41Z,"!WordPress sometimes pings back with long permalinks that exceed comment_author_url column length limit of 200, which  results in generating unusable broken links to the post. 
It easily reaches to the limit, especially if the permalink contains url-encoded multibyte title as postname. (e.g. 23 characters of UTF-8 Japanese become a 207 characters long url-encoded string. Incomplete url-encoded string may trigger 400 Bad Request too.)

'''Solution:'''
In pingback(), use shortlink instead of regular permalink if the URL is longer than 200 characters.
It seems to work ok with wp.me shortlinks.",tenpura
Consider for Next Major Release (has-patch),13340,wpautop breaks inline MathMl,,Formatting,2.9.2,normal,normal,Future Release,enhancement,new,needs-unit-tests,2010-05-11T14:04:58Z,2012-04-07T01:41:16Z,"wpautop treats inline &lt;math&gt; tags as block; they in fact may be placed block or inline, with their flow model dependent on the mode or CSS display property.

Trivial to fix; just needs someone to commit the change. Remove ""|math"" from $allblocks in file wp-includes/formatting.php. math tags on their own will be wrapped in a paragraph, which is fine.

As a very convenient enhancement, please replace on line 210:

{{{
     if ($br) {
-        $pee = preg_replace_callback('/<(script|style). ....
+        $pee = preg_replace_callback('/<(script|style|math) ...
}}}

to prevent MathML being polluted with breaks (current required workaround people are using is to have the whole block on one line, which is very messy to edit).",nicholaswilson
Consider for Next Major Release (has-patch),14642,Support Facebook's HipHop,nacin*,Performance,,normal,normal,Future Release,enhancement,accepted,has-patch,2010-08-19T03:33:20Z,2012-04-09T05:45:18Z,"Various changes to make WordPress compatible with HipHop, Facebook's
PHP-to-C++ transformer. With this patch, WordPress' codebase can be
tranformed to C++ and then compiled to binary that runs much faster
than the current PHP version.

Summary:

* sanity checks for environmentals

* string in HipHop doesn't have 'error' property

* array_merge takes only array arguments since PHP 5
  http://php.net/manual/en/function.array-merge.php

* $user needs instantiation first before being used

* always replace existing variables in registering new users
  ie. use EXTR_OVERWRITE in extract() by default",ChenHui
Needs Milestone,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
Needs Milestone,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
Needs Milestone,20415,big tags formatted incorrectly in rss,,General,,normal,normal,Awaiting Review,defect (bug),new,,2012-04-11T06:45:13Z,2012-04-11T06:45:13Z,"several (doubled, tripled) big tags formatted incorrectly in rss, may be single big tags behave same way

what is formatted


{{{
<blockquote><p><big><big>123</big></big></p>
<p><big><big>123</big></big></p></blockquote>

}}}

in normal view is formatted


{{{
<blockquote><p><big><big>123</big></big></p>
<p>123</p></blockquote>

}}}

in rss.


( and it is just

{{{
<blockquote><big><big>123
123</big></big></blockquote>

}}}
in editor)",qdinar
Needs Milestone,20421,Remove support for Netscape 4 from kses.php (because it's 2012),,General,,normal,normal,Awaiting Review,enhancement,new,dev-feedback,2012-04-12T00:54:32Z,2012-04-12T01:45:52Z,"Futzing around, I ran into this in kses.php

http://core.trac.wordpress.org/browser/tags/3.3.1/wp-includes/kses.php#L995

> Removes the HTML JavaScript entities found in early versions of Netscape 4.

Reading it, if that's really true and the only reason it's needed, I think we're pretty safe in removing it now. 

Patch added.",Ipstenu
Needs Milestone,19064,Pass $depth argument to nav_menu_css_class filter,cyclometh,Menus,3.2.1,normal,minor,Awaiting Review,enhancement,reopened,has-patch,2011-10-26T22:31:15Z,2012-04-12T07:36:34Z,"function start_el() in nav-menu-template.php receives a $depth argument, representing the nesting level of the current menu item, but does not pass it to the nav_menu_css_class filter.

Passing the $depth argument allows one to create classes on a menu item such as menu-item-depth-1, menu-item-depth-2, etc by hooking the nav_menu_css_class filter.
",cyclometh
Consider for Next Major Release (has-patch),15355,Add ability to clear search results,garyc40,Administration,,normal,normal,Future Release,enhancement,assigned,has-patch,2010-11-09T08:11:56Z,2012-04-13T11:32:28Z,"Let's put a (X) next to ""Search results for `string`"" that immediately clears the search results. Otherwise there is no way to do it, without clearing the box manually and hitting enter.

We would use the same X we use for bulk edit.",nacin
Needs Milestone,20440,Initial admin user only removable through bulk action when using multisite network,,Multisite,3.3.1,normal,normal,Awaiting Review,defect (bug),new,,2012-04-14T02:51:59Z,2012-04-14T03:01:01Z,"Because I have a separate login system in place, I no longer wanted the initial admin user created during setup in the system. I revoked the admin users super admin privilege, but noticed that I they still couldn't be removed using the 'Delete' link (there is a check for id not equal to 0 or 1 at line ~100 of {{{wp-admin/network/users.php}}} which prevents deletion, yet no error or anything is shown), however I found that through bulk actions 'Delete' option the user '''can''' be removed since no such checks are in place to prevent it.

Is there any reason for preventing the main admin user to be removed in network mode even if that user has been stripped of the super admin privilege? If so, should this bulk actions removal workaround be patched (and an error displayed when someone tries to delete that user), and if not can the ID check be removed to allow the user to be deleted?",bananastalktome
Needs Milestone,20453,Media screen links to non-public post types,,Administration,,normal,normal,Awaiting Review,defect (bug),new,dev-feedback,2012-04-16T02:31:56Z,2012-04-16T03:23:46Z,"I have a non-public custom post type registered, so it doesn't get an admin UI.

A file in the media library is attached to one of my custom posts (done at the point the file is uploaded using `media_handle_upload()`). The media item shows up in the Media Library as expected, but the 'Attached To' column links to the editing screen for the parent post, even though the post is non-public.

This allows a user to see the post editing screen for a non-public post type.",johnbillion
Needs Milestone,20456,Creation of new blogs and search for blogs missing,CaputoJen,General,3.3.1,normal,major,Awaiting Review,defect (bug),reviewing,,2012-04-16T14:50:53Z,2012-04-16T14:51:32Z,"Hello:

I recently upgraded to WordPress 3.3.1.  After doing so users have lost the functionality of creating a new blog the link redirects to another page(although admins can do it) and you can no longer search for existing blogs.  I have read the forums, posted to the forums and searched the internet for a reasonable explanation. I have found nothing describing this problem.  I have checked the appropriate settings and everything is turned on for users to create blogs.  At this point, I believe this may be a bug.  This problems occurs using all mainstream browsers on Mac and PC.  Please help as I am not sure what could be causing this issue and my search to find a plausible explanation has turned up nothing!",CaputoJen
Needs Milestone,20459,Super admin should be able to bypass banned/limited domains when creating users,,Network Admin,,normal,minor,Awaiting Review,enhancement,new,has-patch,2012-04-16T16:12:25Z,2012-04-16T16:12:25Z,"The function `wpmu_validate_user_signup()` is run whenever a new user is created, either through self-registration (wp-signup.php) or through manual user creation by an admin. `wpmu_validate_user_signup()` does two different kinds of validation: 
(1) validation that is more or less technically required by WP, like spaces in usernames, email/login uniqueness, etc.
(2) checks against some admin-set membership restrictions, namely, email domain whitelist (limited_email_domains) and blacklist (`is_email_address_unsafe()` and banned_email_domains).

The second kind of validation is problematic in the following use case: An MS install might restrict open membership based on email domains, but the admin might occasionally want to make exceptions to the rule and manually create an account. Currently, there are two ways to bypass the built-in checks: to temporarily remove the domain restrictions at Network Admin > Settings, or to filter `'wpmu_validate_user_signup'` and remove the error messages. 

Having to manually change settings for this purpose is pretty hackish. The filter method works, but my experience (from consulting with a fairly large number of MS network admins) is that this is a pretty common use case, so it seems like it should be supported by default. 

So I'm proposing that the domain checks be skipped when `is_super_admin()`. Patch attached.",boonebgorges
Needs Milestone,20451,wp_insert_post() should accept a meta_input argument,,Post Types,,low,normal,Awaiting Review,enhancement,new,,2012-04-16T00:31:07Z,2012-04-16T18:31:43Z,"`wp_insert_post()` accepts a `tax_input` argument to set the post's terms, but there's no similar argument to set the post's meta fields. `add_post_meta()` must be called for each meta field after `wp_insert_post()` is called.

I'll do up a patch at some point.",johnbillion
Consider for Next Major Release (has-patch),19724,Sites with IDN domains can't be created (bug #15554 continuation),,Multisite,3.3,normal,normal,Future Release,defect (bug),new,has-patch,2012-01-03T17:44:08Z,2012-04-17T04:02:31Z,"registration of new site with idn domain by unknown/new users themselves is not possible.
(though creation of new site in wp-admin/network/site-new.php page is possible, by patch given in bug #15554 , i have just now tested it.)

also let i mention that site domain is written (and would be requested to enter, if would be fixed without punycode to unicode conversion) in punicode form in wp-signup.php page, that is not acceptable for wordpress.

i have attached differences i made to wp 3.0.4 to make idn domains working and also to show and accept them in human readable format in wp-signup.php page . link to the differences file i attached to/in previous bug report on/to this topic: http://core.trac.wordpress.org/attachment/ticket/15554/diff304-blogo.txt .",qdinar
Consider for Next Major Release (has-patch),13910,Get Menu name with wp_nav_menu(),,Menus,3.0,normal,normal,Future Release,feature request,new,dev-feedback,2010-06-15T19:17:20Z,2012-04-18T17:11:08Z,"There is no way to get the actual ""Menu name"" in wp_nav_menu()

For example if you want to create a left sidebar menu you want a header to go with it. In previous versions you could do use wp_list_pages() with ""title_li"".

With wp_nav_menu() you have to hard code <h3>Static menu name</h3> into the template before calling the function.

If you could get the ""Menu name"" as defined in backend interface from the wp_nav_menu() it would create the menu title automatically.
",jowo
Consider for Next Major Release (has-patch),19901,Speeding up Dashboard and Comment moderation SQL load,markjaquith*,Performance,3.3.1,normal,major,Future Release,enhancement,accepted,dev-feedback,2012-01-26T21:32:43Z,2012-04-18T20:36:06Z,"The standard Wordpress function for counting the comments for Admin Bar and Dashboard named wp_count_comments is using a single SQL query with GROUP BY clause. That makes it slow on a large site with hundreds of thousands of comments.

{{{
SELECT comment_approved, COUNT(*) AS num_comments FROM wp_comments GROUP BY comment_approved;
}}}
This takes 0.3 seconds on our site with 400,000 comments. When there are 10 editors logged in, we can see increasing server load.

Our solution is to run 5 faster queries instead:

{{{
SELECT COUNT( comment_ID ) FROM wp_comments WHERE comment_approved = 'trash'
SELECT COUNT( comment_ID ) FROM wp_comments WHERE comment_approved = 'spam'
SELECT COUNT( comment_ID ) FROM wp_comments WHERE comment_approved = '0'
SELECT COUNT( comment_ID ) FROM wp_comments WHERE comment_approved = 'post-trash'
SELECT COUNT( comment_ID ) FROM wp_comments
}}}
Takes 0.042144 on the same site. The last query gets the number of all the comments, then we subtract the previous query totals to get number of approved comments.

On a database of 4 million comments the difference is 1.52 seconds for the original wp_count_comments and 0.01 seconds for our alternative count with 5 queries.

Here is a link to our quick piece of code which hooks to the required filter hook and replaces the original slow function wp_count_comments: http://foliovision.com/downloads/fv_wp_count_comments.php.txt

But this is a hack - it would be much better to fix this in core by replacing the existing slow queries with 5 fast ones and subtraction to get total approved comments.

This speedup can be very important on large sites, as often there are 10 or more writers and moderators working at the same time. What can happen with the existing code is that the slow count comments query can back up MySQL and then writers can no longer save or open posts to edit. They get very, very frustrated and even angry.

This fix will allow Wordpress to scale much larger on relatively modest hardware (no separate MySQL dual quad server).

Thanks for listening.

Martin",FolioVision
Consider for Next Major Release (has-patch),20345,Don't show Author column on posts screen for single author sites,,Administration,3.4,low,normal,Future Release,enhancement,new,has-patch,2012-04-02T20:42:56Z,2012-04-18T20:39:05Z,"The 'Author' column on post listing screens is a bit pointless for single-author sites.

To simplify this screen, I think it would make sense to remove this column for sites which only have one user, and possibly also remove it for sites with more than one user but still only one author (ie. `!is_multi_author()`).

I'm not sure how best to handle the column's visibility and a user's column visibility preferences at the point when a site goes from being a single-author site to a multi-author site.",johnbillion
Needs Milestone,19654,Allow overload of is_ssl() via a filter,,Plugins,3.3,normal,minor,Awaiting Review,enhancement,new,dev-feedback,2011-12-23T16:44:07Z,2012-04-18T20:50:54Z,"Hi !

Would it be possible to add the is_ssl() function to the list of functions that can be overloaded via a plug-in?

The reason for this is that in some cases where SSL Offloading is used (SSL managed by an external device to the web server, say an F5 or STunnel), the {{{$_SERVER['HTTPS']}}} will be false because the web server is only listening on plain HTTP. 

If we could overload this function via a plug-in, we could check other common HTTP Headers used by some devices when doing SSL Offloading, HTTP_X_FORWARDED_PROTO, HTTP_FRONT_END_HTTPS or even a custom one the sysadmin chooses to inject to the request to let the web server know if the connection is secure or not.
",superkus
Consider for Next Major Release (has-patch),18292,"Not interrupting the network update, even if errors are detected",,Multisite,3.2.1,normal,normal,Future Release,enhancement,new,has-patch,2011-07-29T10:24:41Z,2012-04-18T21:00:28Z,"'''My installation'''[[BR]]
3.2.1 multi-site installation with almost 8000 sites.

'''The issue'''[[BR]]
During the network update, I kept getting this error message :[[BR]]
''Warning! Problem updating http://username.example.com. Your server may not be able to connect to sites running on it. Error message: 0: Empty reply from server.''[[BR]]
The problem is that the network update script (/wp-admin/network/upgrade.php) dies every time an error is detected, so I had to reload the page every time. With nearly 8000 sites to update, it was impossible, so I modified that script.

'''Suggested enhancement'''[[BR]]
Enhance the network update script so that it doesn't die at each error, logs the error and continues. A second run on the unsuccessful upgrades would also be nice.",luuzan@…
Consider for Next Major Release (has-patch),17376,Multisite Subfolders and bunk /wp-admin areas,,Multisite,,normal,normal,Future Release,defect (bug),new,has-patch,2011-05-11T15:07:38Z,2012-04-19T01:37:52Z,"On a multisite installation with subfolders, navigating to:

www.mysite.com/i-dont-exist/wp-admin

loads a dashboard and maintains the i-dont-exist in the url.  That part exists if i navigate to themes and/or plugin pages.  However, I'm actually altering the base site.
This can be quite confusing if someone makes a typo in a sitename and they end up changing the base site (like happened to us) :(",MadtownLems
Needs Milestone,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
Needs Milestone,20468,Recently active network plugins,,Network Admin,3.0,normal,normal,Awaiting Review,enhancement,new,,2012-04-17T17:01:31Z,2012-04-19T03:41:30Z,There's no 'Recently Active' list on the Plugins screen in Network Admin. This should be simple enough to add in.,johnbillion
Needs Milestone,20492,Improve submit_button(),,General,3.4,low,normal,Awaiting Review,feature request,new,,2012-04-19T20:40:10Z,2012-04-19T21:39:51Z,"The `submit_button()` function takes five arguments and calling it ends up being very messy.

Example [comment:ticket:20490:3 given by Scribu]:
> It makes for very unreadable code. For example, when I see this:
> 
> {{{
> submit_button( $args['label_submit'], 'button', 'submit', false, array( 'id' => $args['id_submit'] ) )
> }}}
> 
> I have no idea what that `false` parameter is for, without looking up the defition for submit_button().
> 
> Plus, it's not that much shorter than writing the HTML by hand, which is clear as day:
> 
> {{{
> <input name=""submit"" type=""submit"" id=""<?php echo esc_attr( $args['id_submit'] ); ?>"" value=""<?php echo esc_attr( $args['label_submit'] ); ?>"" />
> }}}

Let's change this so it accepts a `$text` parameter for the button text and an `$attributes` parameter for everything else.

Patch coming up.",johnbillion
Needs Milestone,20491,Introduce some JavaScript i18n functions,,I18N,,normal,normal,Awaiting Review,enhancement,new,,2012-04-19T18:50:24Z,2012-04-19T21:55:22Z,"There's JavaScript code dotted around core that handles i18n in JavaScript (for example, localised thousands separators in the pending comment count). We should bring this together into a wpL10n JavaScript library that can be reused by plugins.

I've done some work on this and I'll get a patch up in the next day or so.",johnbillion
Consider for Next Major Release (has-patch),18997,Adding wp_unschedule_hook function,arena,Cron,3.3,normal,normal,Future Release,feature request,reopened,needs-unit-tests,2011-10-19T07:45:11Z,2012-04-20T00:02:54Z,"
Unschedule all previously scheduled cron job for a hook.

Can be usefull for plugins when deactivating to clean up the cron queue

The $hook parameter is required, so that the events can be identified.

@param string $hook Action hook, the execution of which will be unscheduled.
",arena
Consider for Next Major Release (has-patch),15309,Updating Attachments will always set post_modified[_gmt] to the post_date[_gmt],,Media,,normal,normal,Future Release,enhancement,new,has-patch,2010-11-03T17:40:31Z,2012-04-20T05:31:51Z,"When updating an attachment the post_modified and post_modified_gmt are always set to post_date and post_date_gmt respectively. 

Is there a specific reason for this or can we allow attachments to properly set a modified time?

Attached is a proposed patch (which just copies code directly from `wp_insert_post`).",shawnparker
Consider for Next Major Release (has-patch),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
Consider for Next Major Release (has-patch),9716,WordPress Theme/Plugin editor adds blank lines,,Editor,2.7.1,normal,normal,Future Release,defect (bug),reopened,has-patch,2009-05-03T20:32:01Z,2012-04-20T16:29:42Z,"When I edit theme css in theme editor in WP admin
!WordPress reformats my CSS and adds a blank life between entrys in css.
it adds a cr and line break ....
In other words if you have a 100 line css
download with FTP look at in text editor
it is now 200 lines
as WP added blank lines to css
it should not be adding things to the CSS?

It may only do this when it wraps window but I think not it appears to add blank lines.

Imagine the damage to a 1000 line CSS it spaces every entry by 1 line!!!!!!!!!!!!!! It stiil works but it messes it up.

THAT IS COFIRMED ONE EDIT DOUBLE SPACE ENTIRE CSS... VERY BAD 

Here is part of the problem but not the double space in total.
When you down load the file in FTP and it is in windows encoding
the line endings.
So you ftp back and all is fine.
Now you are at the coffee shop and what a quick change, so you login to WP admin and theme editor edit CSS.
Now you get home and download in ftp to continue your work on CSS.
The file is now mac formatted (or thinks it is) so when you edit the line endings do not contain the right line breaks for windows OR WP theme editor as it ignores them. This explains the wierd spacing though not the double spacing .... why is it converting to mac and yet ignores mac?!
weird.. it adds a CR tag
must be bug
again though its still double spacing on edit IN windows line ending though if you down load cSS its tagged mac format...


Use notepad 2 or Note pad plus to see the error.
When ever you edit with !WordPress editor it adds cr and says css is now mac formatted.

FTP download the file and now see all the extra CR's it adds.

So it likes CR only so I convert to CR only and it beaks CSS it wants CR LF to work but if that is the case why does the online editor add CR only????????????????????????? 
",Vistronic
Needs Milestone,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
Consider for Next Major Release (has-patch),17394,Network Admin -> Sites -> Users not report correctly,,Network Admin,3.1.2,normal,normal,Future Release,defect (bug),reopened,has-patch,2011-05-12T14:10:29Z,2012-04-23T00:12:23Z,"The Network Admin -> Sites -> Users screen does not list all users in the site. I see the symptom of this issue has been reported before, but I have found the cause (in my case anyway).

'''Example Scenario:'''
In my set up I have added plugins that add user roles: a registration plugin that adds ""Registration Admin"" and a event management plugin that adds ""Office"" and ""Committee"". I have the registration plugin installed in all sites (root and test), but the event plugin in only installed in the test site. 

When I add a user to the root site, I can choose the normal roles or ""Registration Admin"", when I add a user to the test site I can choose the normal roles or any of the 3 new roles that have been added.

'''Problem:'''
When I view the list of users on the Network Admin, not all users are displayed in the list. It appears the Network Admin screen works in the context of the root site, where the event plugin is not installed. As a result, the Office and Committee roles are not available in the root site, and users of the sub-site with the those roles do not show in the user list. 

The filters show the correct total number of users beside All, but the additional roles unique to the sub-site are not listed. In the sub-site Dashboard, they show correctly, and if I install the other plugin to add the Office and Committee roles to the root site they will show in the Network Admin -> Sites -> Users screen for the sub-site. 

It would appear the user list for a sub-site will ignore users that are assigned a role that doesn't exist in the root site, even though they are assigned a valid role in the site displayed. 

This bug is reproducible by adding roles to sub-sites.

I would a happily help with more clarification or resolving this issue as needed. I know it's not critical, but it is very frustrating when administering a large multi-site network.",whiteatom
Needs Milestone,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
Needs Milestone,20490,Move submit_button to wp-includes for frontend inclusion & use with comment-template.php,,Comments,,normal,normal,Awaiting Review,enhancement,new,,2012-04-19T18:04:55Z,2012-04-23T14:43:09Z,"It would be nice to be able to use submit_button() on the frontend as well (cf. #15064). It appears that #16066 ""fixed"" #16061, which it did, but moving the submit_button functions would enable to revert back to the use of submit_button(). Moreover, I recommend changing the comment-template.php in wp-includes ([http://core.trac.wordpress.org/changeset/16066#file2 16066#file2]) to use a filter with the submit_button to enable attributes like onClick. As it stands right now, if a user wants to track comments in their analytics they have to hide the original and add a function hooked into comment_form and redo all the args.",wpsmith
Needs Milestone,19621,Cron not working in WP 3.3,,Cron,3.3,normal,major,Awaiting Review,defect (bug),new,reporter-feedback,2011-12-20T12:15:32Z,2012-04-23T21:15:31Z,"Hi,

I was working on wordpress cron and found that the cron doesn't synchronize the times even when the traffic is visiting site pages. The script works fine WP 3.2.1

Please check this. I believe wp-cron.php is not run in this latest release. ",hassanasad
Needs Milestone,20522,the sanitize_file_name_chars filter and ch(0),,Formatting,,normal,minor,Awaiting Review,enhancement,new,needs-unit-tests,2012-04-23T08:26:28Z,2012-04-24T00:41:12Z,"the sanitize_file_name_chars filter is tricky to use due to the chr(0) ending the array :

both 
{{{
special_chars[] = $my_char; 
}}}
and 
{{{
array_push($special_chars, $mychar);
}}}
have no effect.

so the only way to add some char to the array is to use array_unshift :
{{{
array_unshift($special_chars, $mychar);
}}}

adding 

this is mostly a php issue, but it could be useful to add some notice to the WordPress documentation.

",olivM
Needs Milestone,20513,Refactor $wp_scripts init checking code,,General,3.4,normal,normal,Awaiting Review,enhancement,new,has-patch,2012-04-22T15:15:36Z,2012-04-24T09:56:05Z,"The functions in [http://core.trac.wordpress.org/browser/trunk/wp-includes/functions.wp-scripts.php functions.wp-scripts.php] seem to contain a lot of duplicate code in terms of checking and initializing the global `$wp_scripts` in each function.

Attached is rough first pass at creating a function to do this. I expect aspects of it could be done better.

I've included the first argument, to avoid relying on a global so that the function might be unit tested (pass something in, see what gets returned).",GaryJ
Needs Milestone,20531,Version No. removed from theme name in themes,,General,3.4,normal,minor,Awaiting Review,feature request,new,,2012-04-24T11:12:54Z,2012-04-25T09:06:55Z,"The version no. of themes is removed in 3.4 from the themes page. There was a direct display of theme version no. in 3.3 and was a great help for developers with lots of theme with different versions. But now we have to click on Details to see the version number, which is just a bit time consuming. Hope you would consider my request. 

Thanks
Sanam",kcssm
Consider for Next Major Release (has-patch),18035,ignore_sticky_posts fails to remove sticky class,,General,3.2,normal,minor,Future Release,enhancement,new,commit,2011-07-08T10:03:44Z,2012-04-25T10:38:10Z,"When setting the query_posts parameter:

ignore_sticky_posts = 1

all sticky posts are returned as normal posts and placed accordingly in the flow. However the sticky posts keep their sticky class, which means that an additional filtering of post_class is necessary to avoid any css rules defined for the .sticky selector taking effect.

is this intended, or could it be considered an enhancement if it was patched?
",mikkelbreum
Needs Milestone,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
Needs Milestone,19130,current wp-login.php call to wp_admin_css() bypasses its own filter,F J Kaiser,General,2.6,normal,normal,Awaiting Review,defect (bug),assigned,close,2011-11-03T13:54:07Z,2012-04-25T17:31:20Z,"The current situation in wp-login.php looks like the following:

{{{
	wp_admin_css( 'login', true );
	wp_admin_css( 'colors-fresh', true );
}}}

Looking at /wp-includes/general-template.php and {{{wp_admin_css( $file = 'wp-admin', $force_echo = false );}}} tells that this bypasses the filter calls as the function returns if {{{$force_echo}}} is true. The filters are called after that. This doesn't make sense as the filter will never work this way. Changing {{{wp_admin_css()}}} is no option, so I suggest to change the calls to it in login_head.",F J Kaiser
Needs Milestone,20547,Ability to define post attachment status on insertion,,Media,3.4,normal,normal,Awaiting Review,enhancement,new,dev-feedback,2012-04-25T20:57:48Z,2012-04-25T20:57:48Z,"By default, `wp_insert_attachment` will either set a new attachment as 'inherited' or 'private' - inherited being that it simply mimics the post status of its parent.

This is fine by default, but what about when wanting to run tests? For example, you have a live post that you want to add attachments to, but you want to ensure that the attachments (whatever they may be) are properly formatted before making them appear on your live post. By default, just uploading the attachment will push it live because it has inherited the published status of its parent.

Is this doable? What about filtering `$object` in the `wp_parse_args` function inside `wp_insert_attachment` to allow that property (along with the others - it makes sense to be able to filter them all) to be set?

Don't know how feasible it is, but if it's possible I'll work on a patch and tests.",griffinjt
Consider for Next Major Release (has-patch),20019,wpmu_validate_blog_signup(): Allow '.' and '-' in blog names,,Multisite,3.3.1,normal,normal,Future Release,enhancement,new,has-patch,2012-02-10T23:04:29Z,2012-04-26T12:33:25Z,"Canonical uses Wordpress 3.x multisite as part of voices.canonical.com, for employees who do not have or wish to list their personal blog.  The code is stock, except for one patch we maintain, which allows blog names (currently in WP as lowercase alphanumeric only) to also include '.' and '-'.  This matches our global username format.

Attached is a patch extending wpmu_validate_blog_signup() to allow '.' and '-', with a tweak for the error text.  We have been running the patch for awhile, and have not run across any problems with the rest of the code accepting this.",fo0bar
Consider for Next Major Release (has-patch),19555,Deprecate url_is_accessable_via_ssl(),,General,,normal,normal,Future Release,defect (bug),new,has-patch,2011-12-14T22:56:31Z,2012-04-27T16:10:44Z,"We can convert it to use wp_remote_get() when we do, or just stub it.",nacin
Consider for Next Major Release (has-patch),15855,Dropdown isn't shown when doing a user 'removal',,Multisite,,normal,normal,Future Release,defect (bug),new,has-patch,2010-12-16T23:38:12Z,2012-04-27T18:14:51Z,"Steps to reproduce:

0. Have a MultiSite install
1. Go to wp-admin/users.php and delete a user
2. A confirmation screen appears, with only a ""Confirm"" button.

Expected behaviour:

The user dropdown is shown, asking to assing the user's posts to a different user.

Currently, you end up with authorless posts.",scribu
Consider for Next Major Release (has-patch),19753,Network admin pages don't show network name in page title,,Multisite,3.0,normal,trivial,Future Release,enhancement,new,has-patch,2012-01-05T22:24:18Z,2012-04-27T18:47:27Z,"When you're on network admin screens, the page `<title>` doesn't contain the network name, unlike site admin screens which contain the site name.",johnbillion
Consider for Next Major Release (has-patch),17450,Almost pretty permalinks with non-ASCII characters do not work in Apache,westi,Permalinks,3.1,normal,major,Future Release,defect (bug),reopened,needs-unit-tests,2011-05-16T05:53:14Z,2012-04-27T19:03:50Z,Almost pretty permalinks (using PATH_INFO) with non-ASCII characters do not work in Apache; a not found error is returned. The same permalink works in IIS when UTF-8 is used for server variables. It also works when mod_rewrite is used.,peaceablewhale
Consider for Next Major Release (has-patch),10249,Page slug in cyrillic = Error 404 - Not Found!,westi*,Permalinks,2.7,normal,major,Future Release,defect (bug),accepted,needs-unit-tests,2009-06-23T19:44:34Z,2012-04-27T19:04:18Z,"When I create a page with page slug for example ""киро""
then when I try to open domain/киро - Error 404 - Not Found

The permalinks are %postname%

Post slug with this slug is working just fine, the same BUG exists in 2.7, 2.7.1 and 2.8",kalifi
Needs Milestone,20185,Postname Permalink with no title yields 404 error,,General,3.3.1,normal,normal,Awaiting Review,defect (bug),reopened,close,2012-03-06T19:16:44Z,2012-04-27T19:30:20Z,"When I change the permalink structure to %postname%, I get a 404 for all posts that don't have titles. The URL for each of these posts appears to be correct - it includes the ID instead of the title, but the post being served is listed as not found. If I change the generated permalink so that it is 3 digits rather than 4 or so that it has some alphabetic characters in it, all is OK.",ikemarrus
Consider for Next Major Release (has-patch),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
Needs Milestone,19707,admin-ajax.php requests via http regardless of force_ssl_admin() state,,HTTP,,normal,normal,Awaiting Review,enhancement,new,dev-feedback,2012-01-01T00:53:52Z,2012-04-27T20:59:54Z,"Noticing these requests failing:

""NetworkError: 403 Forbidden - http://HOSTNAMEwp-admin/admin-ajax.php""


My server explicitly denies http to wp-admin.  SSL only.

Looks like admin_url() is giving http rather than https. I suspect this bug actually lies somewhere in get_site_url(), but I don't have time to triage this right now.

This is technically a security bug since WP should always obey force_ssl_admin(), but I don't think anything is being leaked or compromised.  You don't get access to anything, and nothing being sent over the wire is sensitive since it still obeys the rules of the protocol (cookie is secure).  It's just a nuisance.",robertaccettura
Needs Milestone,18604,New hook for paginate_links() result,lightningspirit,Formatting,3.3,normal,major,Awaiting Review,enhancement,new,dev-feedback,2011-09-06T17:40:06Z,2012-04-27T23:28:53Z,"I'd like to propose two new hooks to paginate_links() in http://core.trac.wordpress.org/browser/trunk/wp-includes/general-template.php#L1950


This two hooks ''paginate_links_array'' and ''paginate_links_html'' will allow plugins to add, remove or alter html and links in admin pagination output, including the media uploader.


'''Background:''' sites with more than a thousand media objects have 140+ pages in media uploader interface. I had to be able to create a input box to enter page number manually.
",lightningspirit
Needs Milestone,17301,Keep the connection open when doing upgrades or long-running operations,,General,,normal,normal,Awaiting Review,enhancement,new,,2011-05-02T06:27:39Z,2012-04-28T17:44:21Z,"When we do long-running operations like upgrades-over-FTP, we may go a while without sending any data, which may cause the connection to be closed. We should investigate whether we can send some ""hey, still here"" dummy data down the pipe to keep the connection from being unceremoniously closed on us.

For example, Rackspace Cloud Sites runs behind load balancers that cut the connection after 30 seconds of no data. I was able to defeat it by manually flushing some dummy data like so:

{{{
<?php

for ( $i = 1; $i < 46; $i++ ) {
	echo ""$i...<br />\r\n"";
	flush();
	sleep( 1 );
}
echo ""DONE"";
}}}",markjaquith
Needs Milestone,16252,Allow comment reparenting to fix poor threading,,Comments,,normal,normal,Awaiting Review,feature request,new,has-patch,2011-01-15T23:12:25Z,2012-04-29T10:48:16Z,"For the OCD among us, it would be super nice to be able to edit the comment_parent, to properly thread comments made in the wrong place/threading order.

Choose your own UI, but even just a numeric editor in the Quick Edit area would be a huge enhancement.",Otto42
Needs Milestone,20558,allow wp_localize_script data to be added to existing objects,,Performance,3.3,normal,minor,Awaiting Review,enhancement,new,dev-feedback,2012-04-27T16:44:03Z,2012-04-30T05:50:36Z,"Re: WP_Scripts::localize() located in wp-includes/class.wp-scripts.php

Currently when `WP_Scripts::localize()` handles the printing of wp_localize_script data to JavaScript, it starts the string with a `var` declaration, like this:

{{{
$script = ""var $object_name = "" . json_encode($l10n) . ';';
}}}


Because this is printed in the global scope, it becomes a global variable regardless of whether it's preceded by `var`. As far as JavaScript is concerned the above string would be equivalent to:

{{{
$script = $object_name . ' = ' . json_encode($l10n) . ';';
}}}

or

{{{
$script = 'this.' . $object_name . ' = ' . json_encode($l10n) . 
';';
}}}

or

{{{
$script = 'window.' . $object_name . ' = ' . json_encode($l10n) . 
';';
}}}


But I suppose it's possible thru hooks to make it so that the localization data prints outside of the global scope, in which case you might want the `var` to be there (if it we're wrapped in a closure). So I think the '''overall best solution''' would to check if the `$object_name` contains a period `.` character. If it does, omit the `var`. In other words, make it so that:

{{{
wp_localize_script('myplugin', 'myPluginData', $object )
}}}

would print:

{{{
var myPluginData = {...};
}}}

but that:

{{{
`wp_localize_script('myplugin', 'myPlugin.data', $object )`
}}}

would print:

{{{
myPlugin.data = {...};
}}}

By default the localization data runs before any enqueued scripts, in which case `myPlugin` would not yet be defined, but we should leave that for the JavaScript dev work out. My point is that the flexiblity should be there. Another route would be to apply a filter on that line but I don't think a filter is necessary if the above change is made.",ryanve
Needs Milestone,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
Consider for Next Major Release (has-patch),17571,bad double quote replacement  in wp_texturize,,Formatting,,normal,minor,Future Release,defect (bug),new,dev-feedback,2011-05-26T09:18:08Z,2012-04-30T12:49:51Z,"Bug seen in  Wordpress 3.1.2. with buddypress 1.2.8

Some database fields that contain a string like this 'a string with \""escaped double quotes\""' are displayed this way : 'a string with >>escaped double quotes>> ' instead of 'a string with <<escaped double quotes>>'

The bug come from wp_texturize function in wp-includes/formatting.php .

I join a patch to resolve this issue.


",csanquer
Needs Milestone,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
Needs Milestone,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_
Needs Milestone,20439,Introduce __return_one function,,General,,normal,normal,Awaiting Review,enhancement,new,,2012-04-13T19:38:53Z,2012-04-30T18:37:22Z,"Following #20357 and #18845 , I feel it would be useful to have a return function for 1 for use with filters.",bananastalktome
Consider for Next Major Release (has-patch),19730,"Death ""Add Media"" link after permanently deleting media items.",,Media,3.3,normal,minor,Future Release,defect (bug),new,has-patch,2012-01-04T10:30:13Z,2012-05-01T13:27:10Z,"After deleting a media item permanently and try to directly add a new one via the 'title-menu-link' (the button-link near the ""Media"" title in the admin screen) will result in a death link (""Invalid post type"").

Follow these steps to reproduce the death link(s):

If you have no '''unattachted''' media in your library, first do this:
- Media > Add New
- From the 'title' menu ""Add New"" (Button near ""Media Library"" at the top)
- Add a random image/file and press ""Save changes""
- You'll get redirected back to the overview of all your media.

If you already have one or more '''unattached''' media items in the library:
- Click on the ""Delete Permanently"" link of the file you just uploaded (the unattached file) (and press oke in the alert dialog)
- This is where something goes wrong: You'r now redirected to the edit.php page where you can read: ""Item permanently deleted."". Now click again on the ""Add New"" link in the title-menu near the title ""Media""
- You're now redirected to an invalid page: ""Invalid post type"".
",Jordi-Fun
Consider for Next Major Release (has-patch),17821,wp_get_nav_menu_object() doesn't check when passing to get_term(),,Menus,3.1.4,normal,normal,Future Release,defect (bug),new,has-patch,2011-06-17T00:02:14Z,2012-05-01T13:27:40Z,"`wp_get_nav_menu_object()` initially passes the menu string to `get_term()` to see if it's an ID. However, `get_term()` expects an integer or object and type-casts any non-objects passed into integers. This results in a menu name i.e. '10-ton elephant' being reduced to '10', which it then uses as a term ID, potentially producing unexpected results.",kawauso
Consider for Next Major Release (has-patch),15956,Remove user link should be red,,Multisite,,normal,normal,Future Release,defect (bug),new,has-patch,2010-12-22T23:10:02Z,2012-05-01T14:07:04Z,"On MultiSite, a user has a 'Delete' action link, which erases them from the system completely. It is red.

When going to `Network Admin -> Sites -> Edit Site -> Users` there is a 'Remove' link, which only erases a user from a certain site in the network. This is currently blue.

Since it's still a destructive action (no trash), the 'Remove' link should be red as well.",scribu
Needs Milestone,20597,Allow WP_Comment_Query::query to filter by category,,Comments,3.4,normal,normal,Awaiting Review,enhancement,new,has-patch,2012-05-02T03:35:35Z,2012-05-02T03:45:58Z,"The attached patch allows WP_Comment_Query::query to accept three additional arguments:

* `cat`
* `category__in`
* `category__not_in`

The resulting comments are then filtered by these category arguments as well as any other arguments.

These arguments work the same way as their `WP_Query` counterparts.

I would appreciate advice on the appropriateness of using `INNER JOIN` (as I have done here) to join in the taxonomy tables to the query.",sambauers
Needs Milestone,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
Needs Milestone,20595,Collapsible Admin menu fails if items are added by code,,Administration,3.3.1,normal,normal,Awaiting Review,defect (bug),new,dev-feedback,2012-05-01T23:27:42Z,2012-05-02T07:48:13Z,"If I add a Button to the admin meny by '''action adminmenu''' the menu wont rebuid from collapsed state due z-index issues. In my opinion creating the menue might be changed to the following: 


{{{

diff --git a/wp-admin/menu-header.php b/wp-admin/menu-header.php
index cdd81b2..8454a3d 100644
--- a/wp-admin/menu-header.php
+++ b/wp-admin/menu-header.php
@@ -164,10 +164,6 @@ function _wp_menu_output( $menu, $submenu, $submenu_as_parent = true ) {
                }
                echo ""</li>"";
        }
-
-       echo '<li id=""collapse-menu"" class=""hide-if-no-js""><div id=""collapse-button""><div></div></div>';
-       echo '<span>' . esc_html__( 'Collapse menu' ) . '</span>';
-       echo '</li>';
 }

 ?>
@@ -181,6 +177,9 @@ function _wp_menu_output( $menu, $submenu, $submenu_as_parent = true ) {

 _wp_menu_output( $menu, $submenu );
 do_action( 'adminmenu' );
+echo '<li id=""collapse-menu"" class=""hide-if-no-js""><div id=""collapse-button""><div></div></div>';
+echo '<span>' . esc_html__( 'Collapse menu' ) . '</span>';
+echo '</li>';

 ?>
 </ul>
}}}

see also: http://wordpress.org/support/topic/admin-menu-wont-dis-collapse-anymore",digitaldonkey
Needs Milestone,19689,Context for Dismiss,,I18N,3.3,normal,normal,Awaiting Review,defect (bug),reopened,has-patch,2011-12-29T20:37:46Z,2012-05-02T16:32:18Z,"In WP 3.3 there are some new occurences for ""Dismiss"". But in some languages there is not one ideal translation for this verb.

1) Dismiss - meaning Close (suitable for Welcome screen, Browser window and Pointers).

2) Dismiss - meaning Cancel or Stop (suitable for uploading media).

I created basic patch to better explain this idea.

I also could not find occurences for Dismiss in async-upload.php and script-loader.php anywhere in administration during upload, but maybe it is related to some special conditions? In which circumstances can users see string Dismiss during uploading media?",pavelevap
Consider for Next Major Release (has-patch),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
Needs Milestone,18762,Pagination does not work correctly on walker in reverse order.,,Comments,3.2.1,normal,normal,Awaiting Review,defect (bug),new,has-patch,2011-09-23T21:08:42Z,2012-05-02T17:26:33Z,"Steps to reproduce:
1. Go to Discussion and change Comments should be displayed with the  comments at the top of each page to ""newer"" (that is, set comment_order='desc'). 
2. Make sure your theme is paginating comments. Make sure you have more than the page limit of comments.
3. Note that the first page does not actually contain the newest comments (they're off by a page, or perhaps they're just sorted in one way for the pagination and a different way for the inner page sort).

If you check out the $start, $oldstart and $end variables, the way it was written before the patch, $start gets set to 11 (page limit + 1) on page = 1, the way it is written after the patch, start is 0, as it should be. 

All I've done is swapped the order of $start and $end being updated. This fixes the starting point. This needs to be tested in more detail before actually deploying it, but there is definitely a pretty serious bug here.",gburtini
Needs Milestone,20602,Replace media,,Media,3.3.1,normal,major,Awaiting Review,enhancement,new,dev-feedback,2012-05-02T13:29:45Z,2012-05-02T17:55:33Z,"I have been developing themes for clients lately that require the same image across the theme in varying places. A good example is an event site where the image is a badge/sticker showing the price of the tickets. This gets output on various pages in varying locations. 

get_attachment_link is perfect as I can plugin a single ID and use the graphic wherever. However, the ticket prices change as the event gets closer and the graphic needs to be updated which breaks the theme in production when my client does so as a new ID is generated. 

This doesn't make too much sense to me. I've worked with and developed CMSs of all kinds and usually the ID is preserved. 

I would at least like the option, perhaps a checkbox, to indicate I want to reupload a new image. I think it's more common that an update on a media item would be to modify the same logical graphic rather than just replacing it with something entirely new.

I found the following plugin but I feel this really ought to be core.

http://wordpress.org/extend/plugins/enable-media-replace/

Thanks for your consideration.",PorridgeBear
Consider for Next Major Release (has-patch),18143,Add size for Gallery Settings,nacin*,Gallery,3.2.1,normal,normal,Future Release,enhancement,accepted,has-patch,2011-07-17T00:02:49Z,2012-05-02T20:25:00Z,Add a size option for gallery settings so it's easy to insert a single column gallery with large or full size images.,designsimply
Consider for Next Major Release (has-patch),20116,Welcome User Email in Multisite Can't Be Changed,,Multisite,3.3,normal,normal,Future Release,defect (bug),new,has-patch,2012-02-24T21:44:28Z,2012-05-02T20:32:08Z,"Reproduced this on 3.3 and 3.4-aortic.

Go to /wp-admin/network/settings.php

Add 'New' to the sentance 'Welcome User' to make it 'Welcome New User'

Hit update.

Page refreshes, text does not change.",Ipstenu
Needs Milestone,19930,Add tabindex to Comment Submit button,,Comments,3.3.1,normal,normal,Awaiting Review,defect (bug),new,,2012-01-30T14:54:21Z,2012-05-03T15:40:22Z,"For accessibility reasons, it would be nice to be able to add tabindex to the comment form submit area.",wpsmith
Needs Milestone,20446,Add comment form submit button class attribute,,Comments,3.3.1,normal,normal,Awaiting Review,enhancement,new,has-patch,2012-04-15T07:34:55Z,2012-05-03T15:59:12Z,"The comment_form() is packed with filters all over the place to customize the from just the way you need, but one thing i find missing is a class on the submit input tag and if there was a class attribute then it should be filterable.

I know you can set the input ID and simply style based on the ID selector but when designing themes usually you have some kind of class defined for buttons, especially when using any of the html5/responsive theme frameworks and if the comment submit input had a class which was filterable then it would make our lives much easier.

",bainternet
Needs Milestone,18792,Wrong FROM email when using wp_mail and built in mail() function,westi*,External Libraries,3.2.1,normal,normal,Awaiting Review,defect (bug),accepted,has-patch,2011-09-27T16:35:28Z,2012-05-04T14:43:56Z,"When using wp_mail in combination with mail() function, then From: envelope passed through -f parameter to sendmail is not set correctly.

Here is simple patch, that fixes the problem:

{{{
--- pluggable.php	2011-09-26 20:54:02.219330702 +0200
+++ pluggable.fixed.php	2011-09-27 18:19:21.283454810 +0200
@@ -394,8 +394,7 @@
 	}
 
 	// Plugin authors can override the potentially troublesome default
-	$phpmailer->From     = apply_filters( 'wp_mail_from'     , $from_email );
-	$phpmailer->FromName = apply_filters( 'wp_mail_from_name', $from_name  );
+	$phpmailer->SetFrom(apply_filters('wp_mail_from', $from_email),apply_filters('wp_mail_from_name', $from_name));
 
 	// Set destination addresses
 	if ( !is_array( $to ) )
}}}
",pigster
Consider for Next Major Release (has-patch),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
Needs Milestone,20609,"<p> tags  in Editor not working on editing with wp_editor, wenn disabling media_buttons or quicktags",,Editor,,normal,normal,Awaiting Review,defect (bug),new,,2012-05-03T16:36:01Z,2012-05-05T01:01:57Z,"When disabling the media_buttons or quicktags via the third argument in wp_editor via a settings array, <p> tags are not displayed any more, so there are no line breaks any more in the editor. Only ""      "" is in the source code. The Problem also occurs, when changing 'quicktags' or 'media_buttons' in class-wp-editor.php in the core to false. wpautop is still true.

",julian42
Consider for Next Major Release (has-patch),10786,Implementation of %my_taxonomy% in permastructs is incomplete,ryan,Permalinks,2.9,normal,minor,Future Release,defect (bug),new,dev-feedback,2009-09-15T03:30:56Z,2012-05-05T22:21:42Z,"The `register_taxonomy()` function includes a call to `add_rewrite_tag()` which should allow for a site's permastruct to include a %my_taxonomy% tag just like you can include a %category% tag or a %tag% tag, however this implementation is incomplete and doesn't work.

Example:

`register_taxonomy('genre','post');`

should allow you to create a permastruct (from the Settings->Permalinks screen) which includes %genre% in it.

The problem is that `get_permalink()` doesn't check for custom taxonomies and the replacement of %genre% with your post's genre in the permalink doesn't happen.

Patch upcoming.",johnbillion
Needs Milestone,20620,create redirect_media_location filter in media.php,,Media,,normal,normal,Awaiting Review,enhancement,new,,2012-05-06T07:54:09Z,2012-05-06T07:54:09Z,"Similar to the post.php redirect_post_location filter, media.php could use a redirect_media_location filter. This is useful for plugins that want to edit an attachement and redirect back to a specific place.",Sjeiti
Consider for Next Major Release (has-patch),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
Needs Milestone,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
Needs Milestone,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
Needs Milestone,17157,Cannot preview changes to published multi-page posts,,General,3.0.4,normal,normal,Awaiting Review,defect (bug),new,has-patch,2011-04-17T17:41:50Z,2012-05-09T17:10:23Z,"Use Case: After publishing a post, an editor needs to make changes/update the post.  Editor would like to preview changes before publishing.  (Permalinks are turned on in this case)

To Reproduce:
1. Write a post. Make it paged by putting <!--nextpage--> somewhere in the post.
2. Publish the post 
3. Make changes to the post, somewhere on page 2
4. Click ""Preview Changes"" button

Browser will open a new page for the post: http://[domain]/yyyy/mm/dd/[post title]/?preview=true&preview_id=126507&preview_nonce=f0a2ecd9ae

5. Next page link will point to http://[domain]/yyyy/mm/dd/[post title]/   (Note: that preview, preview_id and preview_nonce are missing from the url)

Suggested fix is attached.
",akoyfman
Needs Milestone,20651,"Inconsistent MS API: delete_site_option action hook is only called AFTER deletion, unlike delete_option",,Multisite,3.3.2,normal,normal,Awaiting Review,enhancement,new,dev-feedback,2012-05-10T09:54:37Z,2012-05-11T16:30:39Z,"Unlike the delete_option action hook, the delete_site_option action hook is only called AFTER deletion of the row from the sitemeta table - making it difficult to capture the expiring value (for instance), unless you know its precise option key name ( and hook it using pre_delete_site_option_{$option} ).

Suggest introducing a pre-deletion, non-specific action hook call named ""pre_delete_option"" for options and ""pre_delete_site_option"" for site options, for consistency.",danielnashnz
Needs Milestone,20660,wp_get_attachment_url() ignores filter for unrecognized IDs,,General,3.3.2,normal,minor,Awaiting Review,feature request,new,,2012-05-11T16:49:29Z,2012-05-11T20:54:53Z,"wp_get_attachment_url() fails to invoke its filters when it encounters an unrecognized post ID.  It would be helpful to allow a filter to deal with the situation.

The plugin NextGEN Gallery uses image IDs like ""ngg-1"", while WP's image IDs are integers.  A filter could deal with the situation.

wp_get_attachment_url() begins like this:


{{{
$post_id = (int) $post_id;
if ( !$post =& get_post( $post_id ) )
  return false;
}}}


Obviously, a nonstandard post ID will ignore the filters.  If the filters were invoked, nonstandard IDs can be dealt with as desired by themes or plugins.

The filter should be given a ""false"" value instead of $url, and the original $post_id value (before forcing to (int)).  If existing filters are already dealing with null or empty URLs, they can handle this situation.

Suggestion:

{{{
$post_id_original = $post_id;
$post_id = (int) $post_id;
if ( !$post =& get_post( $post_id ) )
  $url = apply_filters( 'wp_get_attachment_url', false, $post_id_original );

  if ( empty( $url ) )
     return false;

  return $url;
}}}
",RoamFree
Needs Milestone,20661,Add help text for search usage in Multisite User browsing,,Help/About,,normal,normal,Awaiting Review,enhancement,new,has-patch,2012-05-11T18:32:34Z,2012-05-12T04:40:21Z,"Search on the Network Users page defaults to wildcards disabled by default. This may not be expected functionality by a lot of end users, so I think some notes on how to use search should help.

Related: #20135",ericlewis
Needs Milestone,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
Consider for Next Major Release (has-patch),4328,"Redirect Old Slugs feature needs to redirect slugs for pages, not just posts, and redirect old permalink structure",markjaquith,Canonical,2.2,normal,normal,Future Release,enhancement,new,has-patch,2007-05-24T01:52:44Z,2012-05-13T19:42:18Z,"Create a page, browse to it, edit it, change its slug, WP redirects to the old page's slug and serves a 404. Wasn't WP 2.1 or WP 2.2 supposed to make the redirect old slug feature built-in?

Along the same lines, it would be sweet if instead of simply redirect old slugs, WP would redirect old urls. When the date changes, when the page parent changes, or when the permalink structure changes, the url changes but neither of WP, the redirect old slug plugin, the permalink redirect plugin, or anything else catches this.",Denis-de-Bernardy
Consider for Next Major Release (has-patch),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
Needs Milestone,20672,Mime-Type Matching Error With Certain Added Mime-Types,,Media,3.0,normal,normal,Awaiting Review,defect (bug),new,has-patch,2012-05-14T09:50:10Z,2012-05-14T11:11:54Z,"I think I've found a bug in the handling of post_mime_types with certain legitimate file MIMEs. My suspicion is that the problem is related or similar to that reported in [http://core.trac.wordpress.org/ticket/17855 #Ticket #17855], and apparently fixed in Wordpress v3.2.

The particular problem I've been experiencing only becomes apparent when adding MIME-types to the $post_mime_types array via the ''post_mime_types'' filter hook. For example, the following is a legitimate MIME-type:

''application/vnd.google-earth.kml+xml''

However, if I add the MIME to post_mime_types array with:

{{{
function kml_modify_post_mime_types( $post_mime_types ) {
	$post_mime_types['application/vnd.google-earth.kml+xml'] = array(__('KML'), __('Manage KML'), _n_noop('KML <span class=""count"">(%s)</span>', 'KML <span class=""count"">(%s)</span>'));
	return $post_mime_types;
}
add_filter( 'post_mime_types', 'kml_modify_post_mime_types' );
}}}

in my plugin, I don't see a filter link at the top of the Media list (like the ones for Video, Audio etc.), as I should do. I may be wrong, but I think this is because the '+' character in the attachment MIME-type is not handled correctly.

To test this, I tried faking a new MIME, minus the '+'. I changed the MIME-type my plugin add to the post_mime_types array to

{{{
$post_mime_types['application/vnd.google-earth.kmlxml'] = array(__('KML'), __('Manage KML'), _n_noop('KML <span class=""count"">(%s)</span>', 'KML <span class=""count"">(%s)</span>'));
}}}

then changed the value in the MIME field of a previously-uploaded KML file to the same (''application/vnd.google-earth.kmlxml''). Now I DO see the filter link, and clicking on the link reveals the KML file as the only item in the filtered list, as it should.

I'm not sure if the problem manifests itself anywhere else. I've not found any evidence it does, but it may well do. From doing some multi-file searches on the WP system files, my suspicion is that the problem is with one or both of the following functions in post.php:

* wp_match_mime_types()
* wp_post_mime_type_where()


but I'm really not sure.

I'd be grateful if a more skilled coder than me could confirm if this is actually a bug. I'm afraid my regular-expression understanding is minimal, but I suspect this might be an easy fix for someone who knows their stuff.

I'm more than happy to run any tests anyone might suggest to help pin down the source of the problem and/or help fix it.

Thanks guys.

a|x",toneburst
Needs Milestone,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
Needs Milestone,20214,Pingback discovery doesn't strip fragment identifiers from URL,,Pings/Trackbacks,3.3,normal,normal,Awaiting Review,defect (bug),new,has-patch,2012-03-11T08:34:46Z,2012-05-14T20:44:41Z,"To reproduce:

1. Insert a link containing a fragment identifier into a post, e.g., `http://localhost/wp/helloworld/#comments`.
2. Save post.
3. Observe the URL which !WordPress attempts to retrieve in `discover_pingback_server_uri()` - the requested path contains the `#fragment_identifier`, which it shouldn't, and in most cases will result in a 404, thus the pingback fails.",solarissmoke
Needs Milestone,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
Needs Milestone,20523,Disable autoloader when using class_exists(),,General,3.3.1,normal,normal,Awaiting Review,feature request,new,,2012-04-23T10:08:32Z,2012-05-16T01:07:04Z,"A couple of files inside the /wp-includes/pomo directory use class_exists() the wrong way, for example in /wp-includes/pomo/entry.php :
{{{
if ( !class_exists( 'Translation_Entry') ):
}}}

It should be:
{{{
if ( !class_exists( 'Translation_Entry', false) ):
}}}

The second parameter 'false' disables autoloading. This is important because I'm integrating some WP functions into another existing website which already comes with an Autoloader for some classes = confusion.

This should be easy to fix. Thanks :)
",michael.heuberger
Needs Milestone,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
Needs Milestone,20690,add_post_meta/update_post_meta and cache,,General,3.3.2,normal,normal,Awaiting Review,defect (bug),new,,2012-05-16T14:33:30Z,2012-05-16T14:33:30Z,"I have a custom post type with 2 fields for price, second one has 5% discount and I want to populate it automatically by hooking to 'save_post'. 

I have a working logic that calls update_post_meta() (or add_post_meta() ) for the second field but it doesn't get executed even with several post updates. However, if I end my function call with a var_dump that outputs the values from the function, everything goes smooth.

It looks like some caching issue to me that gets flushed per var_dump call, anyone able to reproduce?",nofearinc
Needs Milestone,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
Needs Milestone,20223,simulate mysql_real_escape_string when not yet connected to DB,,Database,3.3.1,normal,normal,Awaiting Review,enhancement,new,has-patch,2012-03-13T09:16:53Z,2012-05-16T19:49:33Z,"Currently wpdb::_real_escape() falls back to addslashes() when you're not yet connected to the database

Instead, have it fall back to a closer mimic of mysql_real_escape_string():

Use this to make patch:
http://pastebin.com/5vMaBhQe

Reference: 
http://dev.mysql.com/doc/refman/5.0/en/mysql-real-escape-string.html
http://www.php.net/manual/en/function.mysql-real-escape-string.php",scottconnerly
Needs Milestone,2875,https enclosures fail on post.,,Feeds,2.0.2,normal,major,Awaiting Review,defect (bug),reopened,has-patch,2006-06-29T10:35:51Z,2012-05-17T19:20:25Z,"I was noticeing a problem in that when you post on a standard HTML site, enclosures get added into postmeta on publishing a post. When running off an HTTPS site, this no longer happens.

The reason is the regex only looks for HTTP. Line 1032 of wp-includes/functions.php

{{{
  preg_match_all(""{\b http : [$any] +? (?= [$punc] * [^$any] | $)}x"", $content, $post_links_temp2);
}}}

Add the following under this line and it works.
{{{
  preg_match_all(""{\b https : [$any] +? (?= [$punc] * [^$any] | $)}x"", $content, $post_links_temp2);
  foreach($post_links_temp2[0] as $link) {
    $post_links_temp[0][] = $link;
  }
}}}
There may be a nicer way to regex that up, but I couldn't add it.

I have raised it as high/major because it is a bit of a hole that I cannot override the functionality of, and I use the RSS feed for podcasting - which WordPress does not support from an HTTPS site.",nigelkane
Consider for Next Major Release (has-patch),14881,do_action should not pass empty string by default,,Plugins,,normal,normal,Future Release,defect (bug),new,has-patch,2010-09-15T20:44:56Z,2012-05-17T21:09:41Z,"{{{
function test( $a = true ) {
   var_dump( $a );
}
add_action( 'test', 'test' );
add_action( 'test', 'test', 10, 0 );
do_action( 'test' );
}}}
Second example is bool(true) as expected, but the first is a zero-length string.

In this case, since do_action() is not passing any arguments, then no arguments should be passed to test() -- even if by default, one argument gets passed.

The issue here is how do_action() is defined: `function do_action( $tag, $arg = '' );`. There's our zero-length string. Of note, apply_filters() does not have this same issue.

The solution looks something like what I have attached. Has yet to be benchmarked.

Of note, this does not appear to have any direct implications for passing all args by default, as proposed in #14671, but I wanted to reference it anyway.",nacin
Needs Milestone,19864,Abstract export_wp() for use by CLI scripts,,Export,3.3.1,normal,normal,Awaiting Review,enhancement,reopened,,2012-01-20T18:16:17Z,2012-05-20T04:15:19Z,"Need to be able to execute an export from the PHP CLI for the purpose of running cron / maintenance scripts that write out exports.

This would include writing additional hooks that allow the arguments to be pulled from the cli as well as hooks that allow the output to redirected from the output buffer to a file.

Related ticket: #19863, extra hooks for manipulating content and arguments of an export",scottconnerly
Needs Milestone,20706,Adding a link without a name or web address yields no (error) feedback,,General,,normal,minor,Awaiting Review,enhancement,new,dev-feedback,2012-05-19T00:42:57Z,2012-05-20T16:12:51Z,"If a user successfully creates a link (on link-add.php), the user receives the message ""Link added."" However, there are no measures taken to notify the user if the link was ''not'' successfully added.

Links are not added when the link name and web address fields are left blank, so I have included a little patch to let the user know when this occurs.

This could be done with some JavaScript form validation that makes an alert box pop up, but half the (PHP/HTML) code was already present for this, and I think it looks better this way, personally. This is my first attempt at submitting a patch to any open source project, so I appreciate your feedback. Thanks!",AVReidy
Needs Milestone,20663,add_image_size needs a $label,,Media,3.3.2,normal,normal,Awaiting Review,enhancement,new,,2012-05-12T20:47:31Z,2012-05-21T00:05:59Z,"add_image_size() does not have a $label parameter, this effects both localization but more importantly limits the `image_size_names_choose` filter.

The is when you try to add an image to a post and you can select sizes via the radio buttons.

Default sizes have labels like:  `'large' => __('Large')`

the `image_size_names_choose` filter is a great new filter that allows you to alter those radio buttons, but requires you to hardcore the array values for add_image_size() since it does not have a label (unless I'm missing something).

Reference code: https://gist.github.com/2668630

Related: #19990",wycks
Needs Milestone,20716,Control how and when request_filesystem_credentials outputs creds form,,Filesystem,3.4,normal,normal,Awaiting Review,enhancement,new,reporter-feedback,2012-05-21T02:02:08Z,2012-05-21T02:05:10Z,"When using WP_Filesystem in a plugin or other external app, you can initialize it this way:

{{{
if ( false == ( $creds = request_filesystem_credentials( $url, $method, false, false, $form_fields ) ) ) {
    return true;
}
}}}

Makes sense. If the method isn't direct or we don't have the credentials we need, `request_filesystem_credentials` outputs a form and returns false. Then we check again to make sure the credentials can be verified, and it not, we continue to output the form until the credentials are good.

{{{
if ( ! WP_Filesystem( $creds ) ) {
    request_filesystem_credentials( $url, $method, true, false, $form_fields );
    return true;
}
}}}

`request_filesystem_credentials` arbitrarily outputs the form whether you want it to or not, unless you explicitly filter the `request_filesystem_credentials` function itself. Using this in conjunction with Ajax, you have to use output buffering to catch the output and return it to the Ajax script for processing or else you get errors. This definitely isn't ideal.

I'd suggest storing the form in a variable and possibly pass a parameter that determines whether or not we want to actually output the form or not. Or, if there is another (better) way, that's cool too. Just some way to help `request_filesystem_credentials` determine how we want to interact with credentials should we need them.

",griffinjt
Needs Milestone,20720,attachment_fields_to_save filter is called twice after initial image upload in post,,Media,3.3,normal,normal,Awaiting Review,defect (bug),new,has-patch,2012-05-21T16:18:41Z,2012-05-22T00:12:20Z,"I believe I found a bug in WordPress with the attachment_fields_to_save filter.  For some reason attachment_fields_to_save is called twice per image, but only if you ""Save all changes"" after uploading a new image to a post.  

How to reproduce:
1.  Add the below code to a plugin:

{{{
add_filter( 'attachment_fields_to_save', 'test_attachment_fields_to_save', 10, 2 );

function test_attachment_fields_to_save( $post, $attachment ) {

	echo 'Hi! </br >';

	return $post;
	
}
}}}

2.  Create a new post
3.  Upload a single image and click ""Save all changes""

You'll see ""Hi!"" displayed twice.  Now visit the Gallery tab and save the same image and you'll see ""Hi!"" is only displayed once.  This only happens when you save a new image uploaded to a post.  If you save an image under the Gallery tab, or via the Media Library, the filter is only called once as expected.

I confirmed this is happening in 3.3.1 and trunk",williamsba1
Needs Milestone,20725,Media library inconsistency,,General,3.3.2,normal,normal,Awaiting Review,enhancement,new,,2012-05-22T10:26:45Z,2012-05-22T10:26:45Z,"I need to put extra filters using restrict_manage_posts to Media library and i have noticed, that my filters did not appear on Media library iframe, opened when adding new media in post. It is handled with wp-admin/includes/media.php via media_upload_library_form function, which seems to be very old comparing to media library in class-wp-media-list-table

e.g. it does not use 	$this->months_dropdown( 'attachment' ); but wrotes 25 rows of code which  do the same.

IMO it could be migrated to the new code

also it misses the 			
do_action( 'restrict_manage_posts' );
line, which is important for my desired functionality (when i hardcode it there, it works)",thomask
Needs Milestone,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
Consider for Next Major Release (has-patch),16979,Extra hooks needed in comment process,,Comments,,normal,normal,Future Release,enhancement,new,dev-feedback,2011-03-27T06:06:54Z,2012-05-22T16:29:11Z,"I'm running into a few commenting issues whilst building a plugin with a custom post type..

 * Duplicate comment check's cannot be bypassed
 * Empty comments are not allowed (In this case, the comment body is empty whilst a set of custom fields acting as metadata are set, meaning, the plugin wants to accept that comment)
 * being able to override the wp_die() in the commenting process would be useful (Currently: Duplicate comments, User not logged in, and not all fields filled in will cause this)

One potential solution would be to move [http://core.trac.wordpress.org/browser/trunk/wp-comments-post.php#L55 lines 55-84] from `wp-comments-post.php` to functions hooked to `preprocess_comment`",dd32
Consider for Next Major Release (has-patch),9777,"Usability : add delete button to ""edit category"" menu",,Administration,2.7.1,normal,minor,Future Release,enhancement,new,has-patch,2009-05-09T22:56:39Z,2012-05-22T16:56:47Z,"Add ""delete"" button to ""edit category"" menu so i can delete the category and not only edit it. this is a very useful feature that is missing in this menu.

'''LOCATION:'''

Admin -> Posts -> Categories -> Edit Category

'''URL:'''

http://www.site.org/wp-admin/categories.php?action=edit&cat_ID=302
",ramiy
Needs Milestone,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
Needs Milestone,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
Needs Milestone,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
Needs Milestone,20740,strip_shortcodes Chokes On Empty Shortcodes,,General,3.3.2,normal,minor,Awaiting Review,defect (bug),new,,2012-05-23T22:58:56Z,2012-05-23T22:58:56Z,"It appears the regex for strip_shortcodes doesn't recognize empty shortcodes. For example, a caption shortcode like this would only have the opening shortcode tag stripped:


{{{
[caption id=""attachment_3360"" width=""288"" caption=""Some caption""][/caption]
}}}


The closing caption tag remains in the resulting string.

I realize this is a fringe case (why would you have an empty caption?), but it popped up for me when working with a popular plugin that attempts to generate an excerpt by doing the following:

{{{
$content = strip_tags($content);
$content = strip_shortcodes($content);
}}}

Seems harmless--but if a caption contains only an image tag, the strip_tags removes it, and the strip_shortcodes chokes on the now-empty shortcode. Or even worse, if you have a second caption shortcode in the content, it strips EVERYTHING between the first opening caption tag and the second closing caption tag.

And I have to imagine there are some custom shortcodes that may be legitimately empty for some reason. I dunno.

To reproduce:

{{{
$content = '[caption][/caption]

Lorem ipsum dolor sit amet, consectetur adipiscing elit.

[caption][/caption]';

$content = strip_shortcodes($content);

echo $content;
}}}
",MathSmath
Needs Milestone,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
Needs Milestone,20228,Image options can't be changed,,Media,,normal,normal,Awaiting Review,defect (bug),new,close,2012-03-13T12:33:07Z,2012-05-24T07:18:18Z,"While testing #19126 I noticed the following options can never change:

* image_default_link_type
* image_default_size
* image_default_align

The ""Add media"" dialog remembers the last setting for size/align by using cookies. Link type always defaults to file.",koke
Needs Milestone,20319,$page value not being defaulted to 1 in the absence of cpage query var in get_next_comments_link()/get_previous_comments_link(),,Comments,3.0,normal,normal,Awaiting Review,defect (bug),new,has-patch,2012-03-29T09:23:19Z,2012-05-24T07:27:29Z,"get_next_comments_link() generates incorrect comment pagination links on the first page when used alongside a user-made call to wp_list_comments().

Currently, get_next_comments_link() doesn't take into account instances where there is no 'cpage' query var (which is the case when a user-made call to wp_list_comments() is performed). The intval() of the empty $page variable returns 0, and at this point should then be defaulted to 1 in order for the correct link to page 2 to be generated. Instead, it's left as 0, and the resulting link is self-referencing to page 1.

In wp-includes/link-template.php:

{{{
function get_next_comments_link( $label = '', $max_page = 0 ) {
    global $wp_query;

    if ( !is_singular() || !get_option('page_comments') )
        return;

    $page = get_query_var('cpage'); //RETURNS EMPTY IN ABSENCE OF A cpage VALUE ON PAGE 1 OF A USER-MADE CALL TO wp_list_comments()

    $nextpage = intval($page) + 1; //intval() RETURNS 0, 0+1=1, RESULTING IN THE ""Newer Comments"" LINK SELF-REFERENCING PAGE 1, INSTEAD OF POINTING TO PAGE 2

    ...
}}}

Coincidentally, in paginate_comments_links() (wp-includes/link-template.php) this situation is handled correctly, and $page does get correctly defaulted to 1. The same conditional used in paginate_comments_links() can be applied to both get_next_comments_link() and get_previous_comments_link(). The code to properly account for it is:

{{{
function get_next_comments_link( $label = '', $max_page = 0 ) {
    global $wp_query;

    if ( !is_singular() || !get_option('page_comments') )
        return;

    $page = get_query_var('cpage');
    if ( !$page ) //******** ADDED
        $page = 1; //******** ADDED

    $nextpage = intval($page) + 1; //intval() RETURNS 0, 0+1=1, RESULTING IN THE ""Newer Comments"" LINK NOT POINTING TO PAGE 2

    ...
}}}

The same addition should be made to get_previous_comments_link() as well, although it's obviously unnoticeable on the first page.",MomDad
Needs Milestone,20634,dbDelta is unforgiving about field declarations,,Database,1.5,normal,minor,Awaiting Review,enhancement,new,has-patch,2012-05-08T03:27:05Z,2012-05-24T07:31:40Z,"the variable type is case sensitive:
int(22) != INT(22)

the mysql type BOOL or BOOLEAN comes back from the db as tinyint(1):
tinyint(1) != BOOLEAN

Not a huge issue, just annoying. Makes dbDelta fire off unnecessary sql.
 ",SidHarrell
Consider for Next Major Release (has-patch),20304,Strikethrough does not work for multiple paragraphs in the post editor,,Formatting,3.4,normal,normal,Future Release,defect (bug),new,needs-unit-tests,2012-03-25T20:13:00Z,2012-05-24T07:32:15Z,"'''Overview'''

If you have multiple paragraphs of text in the text editor and select all of them and push the strikethrough button, the text appears to be striked through; however, upon publishing/updating, only the first paragraph of text retains the strikethrough.

'''Steps to Reproduce'''

1) In a new post write screen add two paragraphs of text.

2) Select all of the text

3) Click the strikethrough button

4) Viewing the HTML of the rich text editor through web inspector (note that I am not toggling the visual/html tabs) shows:


{{{
<del>
	<p>text</p>
	<p>text</p>
</del>
}}}


5) Save post 

6) The text in the textarea only has strikeout for the first paragraph.

7) When viewing the source of the content on the front end, you get the following HTML:


{{{
<p>
	<del>text
</p>
<p>text</p>
<p>
	</del>
</p>
}}}


'''Other Information'''

I have tried these same steps on a clean install of 3.3.1. The strikethrough works as expected, and produces in all scenarios:


{{{
<p>
	<del>text</del>
</p>
<p>
	<del>text</del>
</p>
}}}

		
I first had this issue crop up for a .com client approximately 3-4 weeks ago, so this issue may have been introduced with a more recent patch.",tollmanz
Needs Milestone,18297,Cropping in step 2 in Custom_Image_Header,,Media,3.2.1,normal,normal,Awaiting Review,defect (bug),new,dev-feedback,2011-07-29T17:35:27Z,2012-05-24T22:50:56Z,"The cropping should not be based on the ratio but should follow some basic logic.

if ( ( yimg < HEADER_IMAGE_HEIGHT ) && ( ximg < HEADER_IMAGE_WIDTH ) ) // no crop
else //do follow current functionality",wpsmith
Needs Milestone,20748,Include CPT Posts in Author Count & Archive Page,,General,,normal,normal,Awaiting Review,enhancement,new,,2012-05-25T17:59:48Z,2012-05-25T18:07:20Z,"For whatever reason, the default behavior is to only count the number of 'post' that an author has published.

With the advent of custom post types, they should be included as well if the CPT has the 'author' capability.

Currently, the author archive can include CPTs if you manually alter the query - this should be enabled by default if authorship is allowed.",iridox
Needs Milestone,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
Consider for Next Major Release (has-patch),16365,Comment transition for new comments,,Comments,3.1,normal,minor,Future Release,enhancement,new,dev-feedback,2011-01-24T21:07:46Z,2012-05-28T12:39:19Z,"As far as I can tell wp_transitions_comment_status() does not get called for new 'comments' based on my testing and review of comment.php in wp-includes.

There is a similar transition for posts that gets called for new 'posts' including hooks like 'new_to_publish' and 'new_to_private'.

I feel that there should be a similar hook to this form comments so that plugins can hook into new comments differently from comments moved from one existing status to another (like comment_unapproved_to_approved'.",MattyRob
Needs Milestone,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
Consider for Next Major Release (has-patch),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_
Needs Milestone,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
Consider for Next Major Release (has-patch),19549,Please remove X-Mailer from class-phpmailer,westi,External Libraries,3.3,normal,minor,Future Release,enhancement,assigned,dev-feedback,2011-12-14T20:37:14Z,2012-06-02T13:32:25Z,"It is nobody's business what software I am using to send mail, or what version number it is. Providing version numbers of server-side packages to strangers is an unnecessary security exposure.  With each update to WordPress, I apply this patch.  I would appreciate it if you would either include this patch yourselves, or provide a hook where I can do this myself without modifying the source.


{{{
--- wp-includes/class-phpmailer.php	5 Jul 2011 20:53:19 -0000	1.3
+++ wp-includes/class-phpmailer.php	14 Dec 2011 19:43:32 -0000
@@ -1129,8 +1129,8 @@
     } else {
       $result .= sprintf(""Message-ID: <%s@%s>%s"", $uniq_id, $this->ServerHostname(), $this->LE);
     }
-// jwz: no.    $result .= $this->HeaderLine('X-Priority', $this->Priority);
-// jwz: no.    $result .= $this->HeaderLine('X-Mailer', 'PHPMailer (phpmailer.sourceforge.net) [version ' . $this->Version . ']');
+    $result .= $this->HeaderLine('X-Priority', $this->Priority);
+    $result .= $this->HeaderLine('X-Mailer', 'PHPMailer '.$this->Version.' (phpmailer.sourceforge.net)');
 
     if($this->ConfirmReadingTo != '') {
       $result .= $this->HeaderLine('Disposition-Notification-To', '<' . trim($this->ConfirmReadingTo) . '>');

}}}",jwz
Consider for Next Major Release (has-patch),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
Needs Milestone,20822,Switching visual/html on wp_editor used on front end not saved as new default,,General,3.3.2,normal,minor,Awaiting Review,defect (bug),new,,2012-06-04T06:45:12Z,2012-06-04T06:45:12Z,"Using the wp_editor on the frontend it doesn't default to the last used state it defaults to the last used state on the back end.

I did find that using:
add_filter( 'wp_default_editor', create_function('', 'return ""tinymce"";') );

inside the function I am using to replace the front end comments with the visual editor worked around this a for me by defaulting to visual which works as well for me in this case as last used, but the default should probably change globally when a logged in user toggles between the two _or_ should get saved independently.



",jb510
Consider for Next Major Release (has-patch),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
Needs Milestone,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
Needs Milestone,18105,Improve JOIN efficency of tax_query,,Database,,normal,normal,Awaiting Review,enhancement,new,,2011-07-14T04:28:59Z,2012-06-04T23:40:00Z,"Use of multiple items in a tax_query creates an inner join for each entry. This seems unnecessary.

Example query:

{{{
array(
  'tax_query' => array(
    'relation' => 'OR',
    array('taxonomy' => 'tax1', 'field' => 'slug', 'terms' => 'term1'),
    array('taxonomy' => 'tax2', 'field' => 'slug', 'terms' => 'term2'),
  )
)
}}}

Resulting SQL:

{{{
SELECT SQL_CALC_FOUND_ROWS wp_posts.* FROM wp_posts  
INNER JOIN wp_term_relationships ON (wp_posts.ID = wp_term_relationships.object_id) 
INNER JOIN wp_term_relationships AS tt1 ON (wp_posts.ID = tt1.object_id) 
WHERE 1=1 AND
...
AND (wp_term_relationships.term_taxonomy_id IN (XXX) 
  OR tt1.term_taxonomy_id IN (YYY) ) 
...
}}}

Each new entry in the array creates another inner join on the term_relationships table, along with an associated select argument.

However, the term_relationships table is defined with these main keys:

{{{
CREATE TABLE $wpdb->term_taxonomy (
 term_taxonomy_id bigint(20) unsigned NOT NULL auto_increment,
 term_id bigint(20) unsigned NOT NULL default 0,
 taxonomy varchar(32) NOT NULL default '',
...
 PRIMARY KEY  (term_taxonomy_id),
 UNIQUE KEY term_id_taxonomy (term_id,taxonomy),
}}}


This basically means that the term_taxonomy_id is a unique ID for the row, and it's pointing to a unique relationship between some term and some taxonomy. Essentially, term_relationships defines what terms are in what taxonomies.

Therefore, the extra inner join and selection are entirely unnecessary. All references to a term in a taxonomy are unique. This isn't individual terms we're looking for in this query, but term+taxonomy. 

An equivalent SQL statement to the one given before would be this:

{{{
SELECT SQL_CALC_FOUND_ROWS wp_posts.* FROM wp_posts  
INNER JOIN wp_term_relationships ON (wp_posts.ID = wp_term_relationships.object_id) 
WHERE 1=1 AND
...
AND (wp_term_relationships.term_taxonomy_id IN (XXX, YYY) ) 
...
}}}

This is equivalent because both XXX and YYY point to a specific term+taxonomy combination, not just to a term.

For the similar relation = AND case (instead of relation = OR), this query would be equivalent:


{{{
SELECT SQL_CALC_FOUND_ROWS wp_posts.* FROM wp_posts  
INNER JOIN wp_term_relationships ON (wp_posts.ID = wp_term_relationships.object_id) 
WHERE 1=1 AND
...
AND (wp_term_relationships.term_taxonomy_id IN (XXX) 
AND (wp_term_relationships.term_taxonomy_id IN (YYY) ) 
...
}}}

We get a second statement in the where clause, but note the lack of a second inner join and lack of referencing it. This greatly improves performance. 

Only one inner join is ever actually required for any number of items in the tax_query, thanks to the pre-lookups being performed to find the proper term_relationship entries.

Similar enhancements might be available for the meta table, however that is more complex and may be more difficult to improve.
",Otto42
Consider for Next Major Release (has-patch),15110,Useless MIME type served for rss feeds,,Feeds,3.0,normal,normal,Future Release,defect (bug),new,dev-feedback,2010-10-13T14:16:54Z,2012-06-05T08:37:39Z,"Both /feed/, /feed/rss2/, and /feed/rss/ are served using the very undescriptive and generally useless ""text/xml"" MIME type.  ATOM and RDF feeds are served with their proper MIME types.  It looks like the MIME types for RSS are in feed.php, but for some reason there is a special ""rss-http"" type that returns the useless type?  Changing the first line in feed-rss.php and feed-rss2.php to use the rss and rss2 type instead of rss-http fixed it on my site.",singpolyma
Needs Milestone,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
Consider for Next Major Release (has-patch),11888,The streams & fopen HTTP transport arn't sending headers that are passed to it,,HTTP,2.9.1,normal,normal,Future Release,defect (bug),new,has-patch,2010-01-13T20:01:41Z,2012-06-05T13:09:20Z,"In particular, cookie headers. Related php bugs:

http://bugs.php.net/bug.php?id=41051

http://bugs.php.net/bug.php?id=45092

Based on the second PHP ticket, this would affect systems up to PHP 5.2.9.

I tried to replace $strHeaders with an $arrHeaders array based on the discussions in the second ticket, but it didn't make the slightest difference.

I'm running out of ideas, too...",Denis-de-Bernardy
Needs Milestone,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
Needs Milestone,20848,Header images are cropped and resized with improper permissions.,,Administration,3.3.2,normal,normal,Awaiting Review,defect (bug),new,has-patch,2012-06-05T17:41:45Z,2012-06-05T17:41:45Z,"On some systems the cropped and resized header images become unreadable by the web server.  

The attached patch makes the files inherit the permissions from the parent folder.


",gtenney99
Needs Milestone,18218,Too many similar translation string,,I18N,3.2.1,normal,normal,Awaiting Review,enhancement,reopened,has-patch,2011-07-22T17:12:26Z,2012-06-06T18:30:59Z,"WordPress .po/.mo file is too big (3,312 strings). I know that we can't delete strings '''but''' we can reduce the file size by merging simmilar strings. WordPress has too many simmilar string. English developers don't notice this but non-english translators are frustrated by this when they have to translate the same string in 2 or 3 different variations.

I suggest to merge simmilar strings, this way will achive two things:

1. Smaller .po/.mo files.
1. Easier translation process as there will be less string to translate. I belive 200-300 strings less.

(Check out the bbPress ticket #BB1584 for more information and examples)

Few WordPress examples:

----

'''No login ID submitted'''
* wp-includes/class-pop3.php:168

'''no login ID submitted'''
* wp-includes/class-pop3.php:115

(change n->N)
----

'''You are not allowed to post as this user.'''
* wp-admin/includes/post.php:65

'''You are not allowed to post as this user'''
* wp-includes/class-wp-xmlrpc-server.php:2263

(add '.')
----

'''Log out'''
* wp-includes/general-template.php:189

'''Log Out'''
* wp-includes/admin-bar.php:92
* wp-admin/admin-header.php:165

'''Log out &raquo;'''
* wp-includes/theme-compat/comments.php:73

'''Log out of this account'''
* wp-includes/theme-compat/comments.php:73

(change all to ""Log Out"")
----

'''Log In'''
* wp-includes/general-template.php:261
* wp-login.php:627
* wp-login.php:646
* wp-admin/install.php:144
* wp-admin/install.php:238

'''Log in'''
* wp-includes/general-template.php:187
* wp-login.php:419
* wp-login.php:444
* wp-login.php:475
* wp-login.php:531

(change all to ""Log In"")
----

'''E-mail'''
* wp-includes/theme-compat/comments-popup.php:80
* wp-login.php:520
* wp-admin/user-new.php:229
* wp-admin/user-new.php:291
* wp-admin/comment.php:160
* wp-admin/includes/class-wp-users-list-table.php:165
* wp-admin/includes/template.php:356
* wp-admin/user-edit.php:329

'''Email'''
* wp-includes/comment-template.php:1525

'''E-mail address'''
* wp-admin/options-general.php:104
* wp-admin/options-general.php:123

'''Your E-mail'''
* wp-admin/install.php:128
",ramiy
Consider for Next Major Release (has-patch),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
Needs Milestone,20880,Keyboard navigation in Appearance > Header is broken,,Accessibility,3.3.2,normal,normal,Awaiting Review,defect (bug),new,,2012-06-07T17:40:34Z,2012-06-08T06:27:11Z,"It's impossible to use the Appearance > Header section with the keyboard because the Enter button will submit the form using the top-most submit input, which is not always the Save Changes button. How to reproduce, in Appearance > Header, using Twenty Eleven:

1. Select one of the default header images
2. Check the Show header text with your image option
3. Enter #111 for Text Color
4. Click Save Changes

At this point everything looks fine, but here comes the trouble:

5. Enter #222 for Text Color and hit Enter

You'll notice that #222 hasn't been set as the Text Color, instead your chosen header image (in step 1) has been removed, as if the Remove Header Image button was clicked.

6. Enter #333 for Text Color and hit Enter

You'll notice that #333 hasn't been set as the Text Color, instead it's been set to #000 which is Twenty Eleven's default, as if the Restore Original Header Text button was clicked.

When both Remove Header Image and Restore Original Header Text buttons are not present, the Return key submits the form using Save Changes, as expected. It's not limited to Text Color, but any other element that can submit the form using the Enter key.

I've been facing the exact same problem when doing an options panel for a theme with multiple actions as submit buttons, still haven't found a good solution. Marked as 3.3.2 but I believe it's been around earlier.

Thanks!",kovshenin
Needs Milestone,20888,RDF Feed validation problems.,,Feeds,3.3.2,normal,normal,Awaiting Review,defect (bug),new,has-patch,2012-06-08T11:05:19Z,2012-06-08T11:05:19Z,"The RDF feed produced by feed-rdf.php produced validation errors due to description either not encoded correctly or not wrapped in CDATA tags.

To reproduce view a RDF feed: http://en.blog.wordpress.com/feed/rdf/

To see the validation errors: http://validator.w3.org/feed/check.cgi?url=http%3A%2F%2Fen.blog.wordpress.com%2Ffeed%2Frdf%2F


Attached is a patch to fix this issue.

",hootbah
Needs Milestone,20890,Standardize line endings of wp-config-sample.php and wp-fullscreen.css,,General,,normal,trivial,Awaiting Review,defect (bug),new,,2012-06-08T15:24:46Z,2012-06-08T15:57:59Z,"Two core files seem to have invalid line endings (\r).
{{{
~/data/wp$ ack -l ""\r""
wp-includes/js/tinymce/plugins/wpfullscreen/css/wp-fullscreen.css
wp-config-sample.php

~/data/wp$ cat -vT wp-config-sample.php | head
<?php^M
/**^M
 * The base configurations of the WordPress.^M
 *^M
 * This file has the following configurations: MySQL settings, Table Prefix,^M
 * Secret Keys, WordPress Language, and ABSPATH. You can find more information^M
 * by visiting {@link http://codex.wordpress.org/Editing_wp-config.php Editing^M
 * wp-config.php} Codex page. You can get the MySQL settings from your web host.^M
 *^M
 * This file is used by the wp-config.php creation script during the^M
}}}",xknown
Consider for Next Major Release (has-patch),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
Needs Milestone,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
Needs Milestone,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
Consider for Next Major Release (has-patch),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
Consider for Next Major Release (has-patch),18710,post_deleted_messages filter,nacin*,Administration,,normal,normal,Future Release,enhancement,accepted,has-patch,2011-09-19T21:19:21Z,2012-06-11T13:05:21Z,It would be nice to be able to updated post deleted messages like you can through the post_updated_messages filter.,jgadbois
Needs Milestone,20907,About screen text assumes user has update privileges,,Help/About,3.3,normal,normal,Awaiting Review,enhancement,new,,2012-06-11T17:59:18Z,2012-06-11T18:02:42Z,"From the 'About' screen in WordPress:

> Thank you for updating to the latest version!

But I didn't! I am just a lowly editor. My administrator probably updated the site for me.

We shouldn't show this sentence if the user doesn't have the `update_core` capability.",johnbillion
Consider for Next Major Release (has-patch),20903,Exporter gets stuck in a loop a loop/break in the category hierarchy,westi,Export,3.1,normal,normal,Future Release,defect (bug),new,has-patch,2012-06-11T11:26:07Z,2012-06-12T08:13:02Z,"Ideally it should be impossible for a loop/incorrect parentage in a category hierarchy to exist.

But sometimes they do.

If one does exist then {{{export_wp()}}} gets stuck :(

It gets stuck in this code:

{{{
		// put categories in order with no child going before its parent
		while ( $cat = array_shift( $categories ) ) {
			if ( $cat->parent == 0 || isset( $cats[$cat->parent] ) )
				$cats[$cat->term_id] = $cat;
			else
				$categories[] = $cat;
		}
}}}

Similar to #20635 but different.",westi
Needs Milestone,20928,Add regular-text style to textareas,,Administration,,low,normal,Awaiting Review,enhancement,new,has-patch,2012-06-12T20:13:43Z,2012-06-12T20:14:38Z,The `regular-text` class style is only applied to input elements. It would be nice to get this on textareas too so my textareas are the same width as my single line text inputs.,johnbillion
Needs Milestone,20563,Add actions between sections in User Edit form,,Plugins,3.4,normal,normal,Awaiting Review,enhancement,new,,2012-04-27T22:20:08Z,2012-06-12T23:45:44Z,"Currently there is only one hookable area in the User Edit to cleanly output additional fields: 'edit_user_profile' / 'show_user_profile'

I suggest we add another set just before each of the H3 tags on this page (/wp-admin/user-edit.php).

Above Personal Options:

{{{
<?php
	if ( IS_PROFILE_PAGE )
		do_action( 'show_user_profile_personal', $profileuser );
	else
		do_action( 'edit_user_profile_personal', $profileuser );
?>
<h3><?php _e('Personal Options'); ?></h3>
}}}

Above Name:

{{{
<?php
	if ( IS_PROFILE_PAGE )
		do_action( 'show_user_profile_name', $profileuser );
	else
		do_action( 'edit_user_profile_name', $profileuser );
?>
<h3><?php _e('Name') ?></h3>
}}}

Above Contact Info:

{{{
<?php
	if ( IS_PROFILE_PAGE )
		do_action( 'show_user_profile_contact', $profileuser );
	else
		do_action( 'edit_user_profile_contact', $profileuser );
?>
<h3><?php _e('Contact Info') ?></h3>
}}}

Above About:

{{{
<?php
	if ( IS_PROFILE_PAGE )
		do_action( 'show_user_profile_about', $profileuser );
	else
		do_action( 'edit_user_profile_about', $profileuser );
?>
<h3><?php IS_PROFILE_PAGE ? _e('About Yourself') : _e('About the user'); ?></h3>
}}}

For hooking into the save, I believe the existing action 'user_profile_update_errors' will suffice, though I'm not sure if that's the best name for having developers hook into for adding their own field and this runs after error checking.. So we could also add an action before error checking runs to allow for more extensibility to modify existing fields being saved there (letting you still use WP built-in error handling).

This would be added around line 130 in /wp-admin/includes/user.php:

{{{
	// Allow plugins to modify user fields before error handling
	do_action_ref_array( 'user_profile_update', array ( &$user, $update ) );

	$errors = new WP_Error();
}}}",sc0ttkclark
Needs Milestone,20935,No display in the WYSIWYG editor.,,General,3.4,normal,normal,Awaiting Review,defect (bug),new,,2012-06-13T05:58:51Z,2012-06-13T05:58:51Z,"Sometimes, nothing in the visual editor in me does not appear and you can switch to HTML view.",OldShaterhan
Needs Milestone,20203,To return 404 page when user request not existing category and existing at once (in URL),,General,3.3.1,normal,normal,Awaiting Review,enhancement,new,,2012-03-08T14:45:04Z,2012-06-13T10:45:59Z,"I have category 'category1' with posts in it. I want to get posts from 'caegory1' and not existing category 'not_existing'.
if I use URL like 'http://mysite.com/category/category1+notexisting' I get normal archive page but this is a page without post because there are no posts in 'category1' and 'not_exists' at once.
But maybe it is better to return 404 page? Because it produces additional duplicate pages for search engines like google.",egorpromo
Consider for Next Major Release (has-patch),20920,Removing all hooks too aggressive if a priority number is given,,Plugins,3.3.2,normal,normal,Future Release,defect (bug),new,has-patch,2012-06-12T13:01:13Z,2012-06-13T13:24:30Z,"When you call `remove_all_filters()` or `remove_all_actions()` with a priority number (second parameter), all hooks get removed if none is found with the given priority.

Example:

{{{
#!php
<?php
global $wp_filter;

add_action('my_action', 'callback_foo');
add_action('my_action', 'callback_bar', 20);
var_dump($wp_filter['my_action']);

// At this point only callback_foo is left. Fine.
remove_all_actions('my_action', 20);
var_dump($wp_filter['my_action']);

// Exactly the same function call as above,
// but now all hooks bound to my_action are removed!
remove_all_actions('my_action', 20);
var_dump($wp_filter['my_action']);
}}}

Calling `remove_all_filters()` or `remove_all_actions()` with a priority should never remove hooks with another priority.",GeertDD
Needs Milestone,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
Needs Milestone,19793,'thumbnail' edit doesn't work,,Media,3.3.1,normal,critical,Awaiting Review,defect (bug),new,,2012-01-10T15:38:54Z,2012-06-13T21:38:18Z,"When you upload some image, by the default 'thumbnail', 'medium' and 'large' sizes of this image are generated.
You can re-crop them by clicking on 'edit image' link.
If you check 'Thumbnail' on 'Apply changes to:', only 'thumbnail' size will be re-cropped (thats how I understand this feature).

But.
If you set 'Selection' in 'Image Crop' to actual 'thumbnail' size set in 'Media' page of the settings, nothing will be re-cropped and saved (first problem). Once you try, you lose the ability to check 'Apply changes to' option on the 'Edit image' screen, it disappears (second one).

How to reproduce.
Set 'thumbnail' in settings to '280x210'. Check crop option.
Upload some big image (bigger than 'thumbnail' size), click on 'Edit image' link in image edit screen.
Make a selection on image.
Find 'Image Crop' section. Don't fill 'Aspect ratio' (not tested), fill 'Selection' with '280' and '210'.
Set 'Thumbnail' in 'Apply changes to'.
Click on crop icon, and then on 'Save' button.
Get a response 'Image saved'.
You fill like you have re-cropped 'thumbnail' size of the image and new one was generated. It didn't.
Go to uploads folder, try to find your new thumbnail. There is still a previous one.
Something strange happened.

After this, inside '_wp_attachment_backup_sizes' of re-cropped attachment, we get 'thumbnail-orig' item. Its ok.
If you check '_wp_attachment_metadata', you won't find 'thumbnail' item anymore. Its disappeared. Like you don't have 'thumbnail' size set.
Thats strange. Logically, it should contain link to re-cropped thumbnail.

Tested on 3.3 and 3.3.1.
",janmakinen
Needs Milestone,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
Needs Milestone,18191,New filter request - media_items,,Media,3.2.1,normal,normal,Awaiting Review,enhancement,new,,2011-07-21T15:03:21Z,2012-06-14T11:59:15Z,"Hi there,

I humbly ask for new filter in WordPress, in file wp-admin/includes/media.php, function get_media_items(), aplied on output after the media files have been processed. Please see attached file (based on 3.2.1 version of the file) where I would like to have it.

Purpose: I am developing a plug-in that would add mass-rename/update to the gallery items (e.g. I upload 50 pictures into gallery and want to set their label to the same value for all 50 of them, so I don't need to edit it 50 times, but do it just once). For this I want to add one more line to the list of media items where I put the code for this functionality. For this injection of my code I ask for the new filter.

Thanks, Honza",honza.skypala
Needs Milestone,20927,Ampersand inside HTML comment causes wp_insert_post to loop infinitely,,General,3.3.2,normal,normal,Awaiting Review,defect (bug),new,,2012-06-12T19:54:46Z,2012-06-14T13:09:40Z,"I'm encountering an issue with wp_insert_post where, when the post_content contains an HTML comment containing an ampersand (ie, ""<!-- & -->""), wp_insert_post seems to be getting stuck in an infinite loop. As far as I can tell, it is endless escaping the & into &amp; over and over.

I've attached a small script that reproduces this error; you need to replace the HTTP_HOST and the path to wp-load.php to reflect your own machine for it to run. I've reproduced this issue on two different machines, both running Ubuntu 12.04, one on Wordpress 3.3.1 and the other on Wordpress 3.3.2.

The most bizarre thing about this issue, to me, is if you move the contents of the includeFiles() function out of the function and into the main body of the script, the issue no longer occurs. Somehow, including wp-load.php from a function is causing the infinite loop.",jpayette
Needs Milestone,20958,Add to the Template Hierarchy the 410 error page,byteee,General,,normal,normal,Awaiting Review,feature request,new,,2012-06-14T16:32:57Z,2012-06-14T16:32:57Z,"In my last project where I migrate a web from asp to wordpress, I have some pages that not longer exists. Normally, we do a 301 redirection to the home page or some other place. But digging a little in google, if we get a page that not longer exists, its better to return a 410 response code instead of 301 code (talking about SEO aspects).

I did it manually following this post: [http://otroblogmas.com/retornar-410-wordpress/]

I think that we can include in the Template Hierarchy the 410.php file to show it when we are getting a page that not longer exists. ",byteee
Needs Milestone,18501,plugin_dir_path() returns unsanitized path on Windows installs,,Plugins,2.8,normal,normal,Awaiting Review,defect (bug),new,has-patch,2011-08-23T18:40:29Z,2012-06-15T09:33:11Z,"Currently plugin_dir_path() only returns the result of dirname( $file ), which can produce mixed results on local Windows installations.

Attached patch takes pieces from plugin_basename() and plugins_url() to guarantee a working and accurate plugin directory path is returned in all operating systems.

See #BB1596 (and associated revisions) for back-story.",johnjamesjacoby
Needs Milestone,20977,Add Dynamic Comment Statuses,,Comments,3.4,normal,normal,Awaiting Review,enhancement,new,,2012-06-15T17:12:07Z,2012-06-15T17:21:37Z,It would be great to add some filters/actions that would allow plugin developers to add additional statuses to comments.,supercleanse
Needs Milestone,20578,Allow users to delete a plugin without uninstalling,,Plugins,,normal,normal,Awaiting Review,enhancement,new,dev-feedback,2012-05-01T01:18:35Z,2012-06-15T21:30:27Z,"Sometimes, a user may need to delete plugin files without deleting all the plugin data.",scribu
Needs Milestone,20983,Change phrasing for 'Network Activate' newly installed plugins,,Multisite,3.0,normal,minor,Awaiting Review,defect (bug),new,has-patch,2012-06-15T21:25:05Z,2012-06-16T02:28:39Z,"Not everyone is clear what 'Network Activate' means and after installing a plugin, a lot of people just assume that activate will turn it on for one site only. Then they complain that the plugin turned it self on automagically!

While it would make the link longer, I think changing it to the same wording we have in the title might actually catch their eye: ''Activate this plugin for all sites in this network''

(The other thought was to put 'Return to Plugins Page' in front of Network install, but that would annoy single site people, of whom there are a majority)",Ipstenu
Needs Milestone,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
Needs Milestone,18060,image upload handling between atompub and xmlrpc different,,AtomPub,3.2,normal,normal,Awaiting Review,defect (bug),new,has-patch,2011-07-10T12:33:27Z,2012-06-17T12:58:30Z,"Uploading images via XMLRPC generates different image sizes in addition to the original image. Uploading the same image through AtomPub will only create a single original file in the uploads/year/month/ directory, the thumbnail and different formats normally generated on upload are missing. It is probably because wp_handle_upload is missing from the wp-app.php create_attachment definiition - it only uploads the bits and creates an attachment, but neither handles metadata updates nor image thumbnail generation.",rfc1437
Needs Milestone,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
Consider for Next Major Release (has-patch),8973,Function get_page_of_comment() returns incorrect page numbers,,Comments,2.7,normal,normal,Future Release,defect (bug),reopened,dev-feedback,2009-01-27T16:54:40Z,2012-06-17T22:37:09Z,"The function get_page_of_comment(), defined in /wp-includes/comment.php for WordPress 2.7, returns wildly incorrect results in cases where the database includes spam trackbacks or pingbacks. The reason is that the DB query on line 595 does not include ""comment_approved = 1"" and therefore incorrectly counts unapproved trackback and pingback spam (not to mention non-spam comments in moderation). As far as I can tell from browsing my DB, although spam comments have their comment_type changed to 'spam' in the database, trackbacks and pingbacks still retain their original comment_type.

As a newbie to the WordPress Trac, I'm afraid I don't know how to provide a diff, but the full correct query is as follows:

$oldercoms = $wpdb->get_var( $wpdb->prepare( ""SELECT COUNT(comment_ID) FROM $wpdb->comments WHERE comment_approved = 1 AND comment_post_ID = %d AND comment_parent = 0 AND comment_date_gmt < '%s'"" . $comtypewhere, $comment->comment_post_ID, $comment->comment_date_gmt ) );

The upshot is that without the above fix, comment URLs in several places (e.g., RSS feeds) may point to non-existent pages.

All the best,
Greg

",GregMulhauser
Needs Milestone,21014,Add Action to Form Tags In Settings Pages,,General,3.4,normal,normal,Awaiting Review,enhancement,new,,2012-06-18T19:04:14Z,2012-06-18T19:04:14Z,"It would be nice to have additional hooks that allow adding attributes to form tags in settings pages.

For example, if you would like to allow a user to upload an image in a settings page, you need to add the enctype attribute to the form tag. Having a hook would allow you to avoid doing this with JS.

user-edit.php and user-new.php allow this using the 'user_edit_form_tag' and 'user_new_form_tag' hooks respectively, and it appears that edit-tag-form.php is adding this also. (http://core.trac.wordpress.org/ticket/15261)",desrosj
Needs Milestone,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
Needs Milestone,20450,wp_dropdown_categories - inconsistent use of single-quotes causes (javascript) assignment  issues,,General,3.3.1,normal,minor,Awaiting Review,defect (bug),new,close,2012-04-15T23:06:37Z,2012-06-18T23:02:05Z,"wp_dropdown_categories outputs double-quote characters for all options (value etc) BUT single-quote characters for main select attributes - which is inconsistent.

this causes a problem when assigning output to eg. a javascript string - meaning we must perform a separate 'replace' operation first.

similarly, we already have to do a replace of all newline-characters in output for newline-backslash - in order that its multi-line output can be assigned to a javascript variable.

please could we have double-quote characters used consistently  in output? ideally provision of a javascript friendly output format (ie. backslash-newline) would also be great - though my no means essential. 
 ",rcain
Needs Milestone,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
Consider for Next Major Release (has-patch),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
Needs Milestone,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
Needs Milestone,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
Needs Milestone,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
Needs Milestone,20844,Specify titles using <!-- nextpage -->,,General,,normal,normal,Awaiting Review,feature request,new,,2012-06-05T09:49:51Z,2012-06-19T23:05:04Z,"Hi,

I'm planning to code a plugin but maybe you're going to code it into WP core, so I prefer to ask before.

The idea is to modify <!-- nextpage --> code in order to give a title to every page, also better in SEO to have an url like www.wordpress.org/2012/my-article and www.wordpress.org/2012/my-article/conclusion/ instead of www.wordpress.org/2012/my-article/2/.

Maybe is possible to modify it this way: <!-- nextpage['Conclusion'] -->

It's different from subpages because it will be usable on every post type, not even on pages, and you will create just one post, not more.

Last but not least you could have a page selector with titles not page numbers.

Thanks :)",sgr33n
Needs Milestone,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
Consider for Next Major Release (has-patch),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
Needs Milestone,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
Needs Milestone,21044,Add action hook to end of resetpassform reset_pass_form,romaimperator,Plugins,3.4,normal,normal,Awaiting Review,feature request,new,has-patch,2012-06-21T20:59:55Z,2012-06-21T20:59:55Z,"'''Description'''

This hook will allow plugin developers to add content to the form users see when they are setting a new password for their account.

'''Why do I want this feature?'''

My plugin found [http://wordpress.org/extend/plugins/trustauth/ Here] replaces the need for passwords. I added a feature to allow users to completely disable password logins for their account to prevent bruteforcing. This hook will allow me to add a feature which will let them assign a new TrustAuth key (just a public key) to their account rather than forcing them to reenable password logins and set a new password.

'''Current Behavior'''

Currently plugins cannot add anything to the form.

'''Implementation Strategy'''

I have created a patch which simply runs the action hooks before outputting the submit tag.

'''Work Estimate'''

However long it takes to review this ticket and apply my patch.

'''Commitments'''

me, romaimperator, implementing the one line of code",romaimperator
Needs Milestone,17902,"You guys should add a ""Plugin Details"" pop-up link to installed plugins.",chsxf,Plugins,3.1.3,normal,normal,Awaiting Review,enhancement,assigned,has-patch,2011-06-27T02:44:54Z,2012-06-21T22:33:15Z,"The link would make a pop-up appear with the plugin details as if you are viewing the plugin details when you search for plugins.

CUrrently, plugins that have available updates have a link to view details...

It'd be SUPER convenient to have a link to view details at all times. Sometimes you have to recall these details when you haven't been to your blog in a while, and its a hassle just to search for it in the ""Add New Plugin"" page or on wordpress.org (a waste of time compared to having a ""plugin details"" link)",trusktr
Needs Milestone,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
Needs Milestone,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
Needs Milestone,17255,Draft status for media files,,Media,3.1,normal,normal,Awaiting Review,defect (bug),new,dev-feedback,2011-04-27T11:48:11Z,2012-06-23T00:56:18Z,"It's weird that media files don't carry any concept of pub status. If someone wants to upload files (either attached to a post or directly into the library), they should be able to keep them hidden via 'draft' status just like any other content. The fact that people can link to things that haven't been explicitly published is bizarre. 

Media files should have a pub status. If uploaded as post attachment, should inherit publish on post publish. Would then need a workflow for if a post becomes unpublished containing media, as it then lives in library for use by other content, so would need to ask if user wants to unpub media files as well. This would be a big shift, so would make most sense as part of a media redux with a long notice period for plugin and theme authors. ",jane
Consider for Next Major Release (has-patch),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
Consider for Next Major Release (has-patch),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
Needs Milestone,21051,Database query needs optimization - function post_exists,,Performance,3.4,normal,normal,Awaiting Review,enhancement,new,,2012-06-23T10:42:34Z,2012-06-23T21:09:26Z,"Function post_exists in /wp-admin/includes/post.php is causing full table scans and sometimes it takes upto 30 seconds when there are millions of records in wp_posts table.

Sample query -

{{{
# Time: 120623  2:16:28
# User@Host: test[test] @ localhost []
# Query_time: 17  Lock_time: 0  Rows_sent: 0  Rows_examined: 13952234
SELECT ID FROM wp_posts WHERE 1=1 AND post_title = 'MIO WALKBLK'AND post_content = 'Mio Walk Black MENS HEART RATE DIGITAL FACE<br /><br /> Brand: MIO<br /> Style: HRM<br /> Size: Mens<br /> Attachement: Black Resin Band';
}}}

On running EXPLAIN output generated is

{{{
id 	select_type 	table 	type 	possible_keys 	key 	key_len 	ref 	rows 	Extra
1 	SIMPLE 	wp_posts 	ALL 	NULL	NULL	NULL	NULL	13952445 	Using where
}}}

Clearly its not making use of any index on wp_posts and thus causes full table scans and slow queries.

Suggestions:
More parameters like 'post_type', 'post_author', and 'post_category' can be added to improve functionality of post_exists function and this might also improve performance of database queries.",arpit.tambi.in
Consider for Next Major Release (has-patch),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
Needs Milestone,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
Needs Milestone,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
Needs Milestone,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
Needs Milestone,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
Needs Milestone,21034,Flyout Menu on Backend doesn't Loades Untill Whole Page is Loaded,,Administration,3.4,normal,normal,Awaiting Review,enhancement,new,,2012-06-21T09:43:55Z,2012-06-25T05:30:06Z,"I have noticed this ever since the flyout menu was introduced. Menu items on flyout menus is not shows until the whole page gets loaded. For high speed connection its not a problem but it gets annoying people who connected in dial up (last week my ISP was down so i had to work with dial up for couple of days).

So, we could make the flyout menu items css/js to load on header so it doesn't wait for to load the whole page and make the backend accessible to and less annoying to low speed users.. For testing it you have to log into backend with low speed connection. If you need proof i can make a video with my dial up. Just let me know.

BTW: What i see on firebug that the css for flyout menu loads on header so i don't really find out what causes the menu to not showing on hover until the page loads.",prionkor
Needs Milestone,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
Needs Milestone,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
Needs Milestone,21070,Added a filter to the sub-menu class attribute,,Menus,3.4,normal,normal,Awaiting Review,enhancement,reopened,dev-feedback,2012-06-25T12:47:34Z,2012-06-25T20:50:30Z,"The sub-menus are hard coded with ""sub-menu"" as the only CSS class. This may cause bad performing CSS with maintainability issues, like when you're targeting the third level sub menu.

I've added a filter, so CSS classes like ""sub-menu-level-$depth"" can be added.",bjornjohansen
Needs Milestone,21073,Main functions file (/wp-includes/functions.php) could use a coding standards cleanup,,General,,normal,normal,Awaiting Review,enhancement,new,has-patch,2012-06-26T03:04:21Z,2012-06-26T03:04:21Z,"[http://core.trac.wordpress.org/browser/trunk/wp-includes/functions.php?rev=21113 This file] is very inconsistent in its coding standards, and as a result is difficult to read.

I had to find a couple things in here recently; after some frustration in reading the different styles I decided to take a pass at refreshing it.",evansolomon
Needs Milestone,20870,error notice when $post = NULL with gallery_shortcode,,Media,3.3,normal,trivial,Awaiting Review,defect (bug),new,,2012-06-07T11:05:46Z,2012-06-26T03:12:02Z,"i have noticed with many relevant plugins and functions it may happen, that gallery_shortcode is called when global $post returns NULL. problem is, that gallery_shortcode function media.php containts 

{{{
		'id'         => $post->ID,
}}}

(row 798 on 3.4 or 783 on 3.3.2) so when $post is NULL it returns error notice

there is trivial solution - adding (!$post) check just after the $output filter (so it could be rewriten by plugin authors) - see last line:


{{{
function gallery_shortcode($attr) {
	global $post;

	static $instance = 0;
	$instance++;

	// Allow plugins/themes to override the default gallery template.
	$output = apply_filters('post_gallery', '', $attr);
	if ( $output != '' )
		return $output;

        if (!$post) return;
}}}


(sorry, i do not know how to change it on svn). This bug is even on 3.3.2 even on latest 3.4",thomask
Needs Milestone,20882,Remove strings related to Akismet from WP localization files,,I18N,2.0,normal,normal,Awaiting Review,defect (bug),new,,2012-06-07T20:10:36Z,2012-06-26T03:14:15Z,"There were several tickets (#19832, #19597) related to this issue, but we had to miss it somehow for 3.4.

Main purpose of this ticket is removing all strings related to Akismet from localization files. All strings (about 110) are loaded (mainly on frontend) even if Akismet is not active. Akismet can have its own localization file.",pavelevap
Needs Milestone,21072,CRON often returns ambiguous values,,Cron,,normal,normal,Awaiting Review,enhancement,new,has-patch,2012-06-26T02:18:27Z,2012-06-26T06:18:34Z,"Many of the cron API functions return ambiguous values.  For example, `wp_cron()` [http://core.trac.wordpress.org/browser/tags/3.4/wp-includes/cron.php#L251 returns] `null` (explicitly) when cron doesn't run, but it also returns `null` (implicitly) every other time.  This can make debugging harder.

Whenever possible, I think it's valuable to return meaningful values.  The attached patch does that.",evansolomon
Needs Milestone,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
Needs Milestone,21017,Using force_feed() for simplepie in core,nacin,Feeds,3.4,normal,minor,Awaiting Review,enhancement,reviewing,dev-feedback,2012-06-18T22:21:48Z,2012-06-27T14:32:13Z,"Receiving the following error in the ""Incoming Links"" widget in the admin dashboard:
[[BR]]

{{{
RSS Error: A feed could not be found at http://www.google.com/search?
ie=utf-8&partner=wordpress&q=link:http://mysite.com/
&tbm=blg&tbs=sbd:1&output=rss. A feed with an invalid mime type may fall
victim to this error, or SimplePie was unable to auto-discover it.. Use
force_feed() if you are certain this URL is a real feed.
}}}

[[BR]]
The support forum thread which can provide more specific information can be found here:
[http://wordpress.org/support/topic/incoming-links-error-message-1?replies=41]
[[BR]][[BR]]

It has been suggested adding '''force_feed()''' to the core might alleviate this issue in future dev.
",josh401
Consider for Next Major Release (has-patch),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
Consider for Next Major Release (has-patch),14060,"Misleading ""You do not have sufficient permissions to access this page.""",,Plugins,3.0,normal,normal,Future Release,defect (bug),new,has-patch,2010-06-23T14:46:16Z,2012-06-27T21:50:39Z,"When accessing a page of a plugin in the admin that does not exists any longer, you're told by an error message, that:

> You do not have sufficient permissions to access this page.

This message is a little misleading, because there is no such page.

A message that better reflects the decision to display it would be less misleading, e.g.:

> The requested page is not accessible.


",hakre
Consider for Next Major Release (has-patch),16594,inconsistency in wp_nav_menu_items,,Menus,3.0,normal,normal,Future Release,enhancement,new,has-patch,2011-02-19T10:43:12Z,2012-06-28T04:29:51Z,"Not sure if it is a bug: when I create a menu, e.g.
wp_nav_menu(array( 'theme_location' => 'footer' ));
and put there a menu (E.g. named ""My menu"") using nav-menu.php editor and then try to call wp_nav_menu_items filter to see all arguments, e.g.
{{{
add_filter('wp_nav_menu_items','my_test', 10, 2);
function my_test($items, $args) {
print_r ($args);
}
}}}
the resulting object is

{{{
(
    [menu] => 
    [container] => div
    [container_class] => 
    [container_id] => 
    [menu_class] => menu
    [menu_id] => 
    [echo] => 1
    [fallback_cb] => 
    [before] => 
    [after] => 
    [link_before] => 
    [link_after] => 
    [items_wrap] => <ul id=""%1$s"" class=""%2$s"">%3$s</ul> 
    [depth] => 0
    [walker] => 
    [theme_location] => menu
)
}}}

But if I put the same ""My menu"" to the same place using widget, I got object with extended 'menu'

{{{
    [menu] => stdClass Object
        (
            [term_id] => 4
            [name] => My menu
            [slug] => my-menu
            [term_group] => 0
            [term_taxonomy_id] => 4
            [taxonomy] => nav_menu
            [description] => 
            [parent] => 0
            [count] => 3
        )
 
    [container] => div
    [container_class] => 
    [container_id] => 
    [menu_class] => menu
    [menu_id] => 
    [echo] => 1
    [fallback_cb] => 
    [before] => 
    [after] => 
    [link_before] => 
    [link_after] => 
    [items_wrap] => <ul id=""%1$s"" class=""%2$s"">%3$s</ul> 
    [depth] => 0
    [walker] => 
    [theme_location] =>
}}}

I guess that they should be the same (except 'theme_location') - the problem is, that using the first scenario, i got no way to find ""My menu"" details - id, name, slug ... of the menu, so i even cannot filter by them in my functions (e.g. apply filter just for a specific menu).",thomask
Consider for Next Major Release (has-patch),9072,New Socket HTTP transport to use stream_socket_client,,HTTP,,normal,normal,Future Release,enhancement,assigned,has-patch,2009-02-09T05:45:50Z,2012-06-28T13:43:20Z,"Steams use of stream_socket_client:
 * Support SSL.
 * Better support for non-blocking.
 * Damn sexy.",jacobsantos
Consider for Next Major Release (has-patch),14657,Resync Boolean Type Case,,General,,normal,trivial,Future Release,enhancement,assigned,has-patch,2010-08-20T15:09:54Z,2012-06-28T13:44:30Z,"TRUE to true and FALSE to false.

It seems patches weren't inline with the lowercase usage of the boolean type. Depends on programmer preference.",jacobsantos
Needs Milestone,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
Consider for Next Major Release (has-patch),19347,"Ugly alert: false !== strpos( $which_one_was_needle, $this_one )",westi,General,,normal,normal,Future Release,enhancement,reviewing,has-patch,2011-11-23T22:08:02Z,2012-06-28T16:29:40Z,"In WordPress {{{strpos()}}} is used hundreds of times. Very large percentage of those calls are trying to accomplish one of these 3 goals:

 * Check if a string starts with another string
 * Check if a string contains another string
 * Check if a string ends with another string

The code for doing these 3 things is not very readable, ugly, and error-prone:

{{{
0 === strpos( $one_string, $other_string )
false !== strpos( $one_string, $other_string )
strpos( $one_string, $other_string ) == ( strlen( $one_string ) - strlen( $other_string )
}}}

I propose we introduce functions to hide the ugliness and the complexity behind these three common operations:

 * {{{wp_startswith( $haystack, $needle )}}}
 * {{{wp_in( $needle, $haystack )}}}
 * {{{wp_endswith( $haystack, $needle )}}}

The logic of the arguments order is consistent and easy to remember:

''first argument'' '''verb''' ''second argument''.

 * everything starts with a beginning translates to {{{wp_startswith( ""everything"", ""a beginning"" )}}}
 * goat is in  distress translates to {{{wp_in( ""goat"", ""distress"" )}}}
 * movie ends with happy end translates to {{{wp_endswith( ""movie"", ""happy end"" )}}}

These three functions are happily used in GlotPress and WordPress.com.

The implementations are attached.",nbachiyski
Needs Milestone,21107,wp_register_resource,,General,,normal,normal,Awaiting Review,feature request,new,,2012-06-28T20:38:31Z,2012-06-29T09:15:34Z,"

Building on the concept of wp_register_script and wp_register_style I would love to see something more general for requiring resources with dependencies.  Many times certain scripts require certain styles to be included and vice versa.  This could also extend to other resource types as well.  


Let's use a basic example of some certain script creatively called Script-1.  That Script-1 may have certain scripts and styles or other item on which it is dependent, let’s call them Script-1-A,Script-1-B and Style-1-A, Style-1-B.  When you register the script you can of course specify other dependent scripts, but not the dependent styles, or other resource.  Of course you can register the styles separately.  It may seem trivial that you can then just register Script-1-A, Script-1-B and register Style-1-A, Style-1-B and then wp_enqueue_script (Script-1,array(Script-1-A, Script-1-B)) and wp_enqueue_style(Style-1-A), wp_enqueue_style(Style-1-A)  separately.  Now let's say you have Script-2 that depends on Script-1.  When you call wp_enqueue_script(Script-2) you also have to remember to call wp_enqueue_style(Style-1-A) and wp_enqueue_style(Style-1-B).  As the levels of dependency increase or if something changes it gets a lot more difficult to maintain.  


My example above only focused on styles and scripts but could apply to other resources such as fonts and/or images that you would like to manage using the flexibility of the WordPress queueing and  actions/hooks systems. Sure you could have scripts call the styles themselves but then those styles would not be processed through wordpress and therefore might not take advantage of combining, compressing, caching systems you might have in place in addition to the ability to deregister and change certain items in child themes/skins as easily.

I have a system setup to run hundreds of sites with a core theme that provides common structure, style, scripts and a host of other functionality.  Then I have an array of child themes geared towards certain types of sites.  Those child themes each can have an unlimited number of skins.  The skins can all introduce new functionality and build on the functionalities, styles, scripts, etc of the child theme which builds upon the core theme.  This is one of the many cases where being able to just call the single wp_enqueue_resource would greatly help, especially when things change. 

Implementation: To implement for just scripts and styles to get started you could make a new “Resources” queue in which each resource could have a list of resources and type.  When you enqueue a resource it could call wp_enqueue_script and wp_enqueue_style.  Now we would have to add the ability to add a placeholder or null type of item in wp_register_script and wp_register_queue. Because looking at the example I laid out above you would do something like this:



Class Resource might either contain and array of generic resources or could have separate styles/scripts.  There are obviously flexibility and performance implications of both methods.

Here is some very rough pseudocode:

{{{
wp_register_resource(‘Resource-1’,
  array(
    ‘script’=>array(
      ‘handle’=>‘Script-1’,
      ‘src’=>‘Script-1-URL’,
      ‘deps’=>array(’Script-1-A’,’Script-1-B’),
      ‘ver’=>’’)
    ‘style=>array(
      ‘handle’=>‘Style-1’,
      ‘src’=>‘ Style-1-URL’,
      ‘deps’=> array(Style-1-A’, Style -1-B’),
      ‘ver’=>’’,
      ‘media’=>’’)
  )
)
}}}

do not call wp_register_style/ wp_register_script upon registering of the resource and wait until this resources or resource requiring this resource is enqueued.  This way the style and script are not enqueued separate from the resource and therefore each other since they are dependent on each other.  It would however register the resource in the resource queue.

{{{
wp_enqueue_resource(‘Resource-1’) would:
wp_enqueue _script(‘Resource-1’, ‘Script-1-URL’, array(’Script-1-A’,’Script-1-B’));
wp_enqueue _style(‘Resource-1’, ‘Style-1-URL’, array(Style-1-A’, Style-1-B’));
}}}

2a
//wp_register_resource($handle, $resources=array(),$deps=array())

{{{
wp_register_resource(‘Resource-2’,
  array(
    ‘script’=>array(
      ‘handle’=>‘Script-2’,
      ‘src’=>‘Script-2-URL’,
      ‘deps’=>array(’Script-2-deps’)
      ‘ver’=>’’)
    ‘style=>array(
      ‘handle’=>‘Style-1’,
      ‘src’=>’’,
      ‘deps’=>array(’’)’,
      ‘ver’=>’’,
      ‘media’=>’’)
  ),
  array(‘Resource-1’)
);
}}}

{{{
wp_enqueue_resource(‘Resource-2’) would:
wp_register_script(‘Resource-1’,’Scipt-1-URL’……)
wp_register_style(‘Resource-1’,’Style-1-URL’……)
wp_enqueue_script(‘Resource-2’, ‘Script-1-URL’, array(‘Resource-1’,’Script-1-A’,’Script-1-B’))
wp_enqueue_style(‘Resource-2’, ‘’, array(‘Resource-1’))
}}}


`wp_deenqueue_resource(‘Resource-2’)` would take dequeue it’s scripts and dependent scripts/styles (assuming those dependent scripts and styles were not enqueued elsewhere)


There are the issues to work out on whether a resource could specify multiple scripts/styles or whether it should just be zero/one of each that listed others as dependencies.  Either way can work, just depends on what community thinks.",gruvii
Needs Milestone,21096,Filter on is_front_page return value,,General,,normal,normal,Awaiting Review,enhancement,new,dev-feedback,2012-06-28T10:32:03Z,2012-06-29T13:05:58Z,"When you set a page (as 'placeholder' with same slug) as front page which is actually a post type archive to front page, is_front_page() will always return false on that page. The return value of the is_front_page() function is not filterable.

Attached patch adds this filter in the most basic way.",CoenJacobs
Needs Milestone,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
Needs Milestone,21089,Add admin url to install notification email,,General,3.4,normal,minor,Awaiting Review,enhancement,new,has-patch,2012-06-27T21:50:40Z,2012-06-29T23:07:34Z,"I've seen a number of individuals inquiring as to the login url of their WordPress site for administration purposes.  Let's give it to them by changing:

Your new WordPress site has been successfully set up at:

http://wordpress.url

You can log in to the administrator account with the following information:

Username: admin
Password: The password you chose during the install.

We hope you enjoy your new site. Thanks!

--The WordPress Team
http://wordpress.org/

to

Your new WordPress site has been successfully set up at:

http://wordpress.url

You can log in to the administrator account with the following information:

Username: admin
Password: The password you chose during the install.
Location: http://wordpress.url/wp-admin

We hope you enjoy your new site. Thanks!

--The WordPress Team
http://wordpress.org/",georgestephanis
Needs Milestone,21119,Make WP_User_Query::prepare_query() public,,General,,normal,normal,Awaiting Review,enhancement,new,has-patch,2012-06-30T07:57:47Z,2012-06-30T07:59:30Z,"WP_User_Query tries to follow the pattern from WP_Query, where if you don't pass any args, it won't run the query.

The problem is that you can't do anything with that instance afterwards; both prepare_query() and query() accept no parameters.",scribu
Needs Milestone,20241,make it possible for plugins to activate other plugins,,General,,normal,normal,Awaiting Review,feature request,new,has-patch,2012-03-15T12:48:59Z,2012-06-30T11:36:05Z,"When creating a plugin that depends on other plugins, i would like to enable those plugins during activation of the main plugin.

This is currently not possible, as updates to active_plugins done by the other plugins get overwritten.

Please apply the attached patch to fix this.",magnus78
Consider for Next Major Release (has-patch),16164,"""You are not allowed to delete this post."" - While Deleting a Media Library Item",,General,3.1,normal,normal,Future Release,defect (bug),new,dev-feedback,2011-01-09T13:39:10Z,2012-06-30T20:14:21Z,"While deleteing 999 media library items, the request timed out. Resending the same request triggered an error message:

> You are not allowed to delete this post.

For me as a programmer, I know that those library items are technically a post, but for communicating with the user, the error message is misleading.",hakre
Needs Milestone,21126,"Different ID on ""Set featured image"" link if there is already an image set",,General,3.4,normal,normal,Awaiting Review,enhancement,new,has-patch,2012-06-30T22:02:55Z,2012-06-30T22:02:55Z,"I ran into a situation where I wanted to target the ""Set featured image"" link text in the featured image metabox. The ""Set featured image"" link displays and has an id of ""set-post-thumbnail"". When you set the thumbnail, the link still has an ID of ""set-post-thumbnail"" though now it is wrapping around the thumbnail image rather than the ""Set featured image"" text. Then a second link is added to remove the featured image with the id of ""remove-post-thumbnail"". 

In my situation I wanted to target the ""Set featured image"" link (with the text) and the ""Remove featured image"" link separately, but this was tricker than it needed to be because the ""Set featured link"" keeps the same id of set-post-thumbnail when it is wrapped around the thumbnail image.

Beyond my specific issue, I think it could be argued that this link deserves a specific id, since the action the link is performing is modifying the featured image more than it is setting it. 

So I've included a patch here that will modify the $set_thumbnail_link variable when the $thumbnail_id is present and change the link's id to modify-post-thumbnail. I'm not sure if it's the most elegant/clever way to achieve what I'm after, but I know it gets the job done.",ryanimel
Needs Milestone,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
Needs Milestone,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
Needs Milestone,21139,Month format in Publish box,,I18N,3.4,normal,normal,Awaiting Review,defect (bug),new,,2012-07-02T18:47:26Z,2012-07-02T20:03:24Z,"New translatable month format was introduced in r19820.

Problems:

1) Month numbers are not localized. Czech does not use numbers with format 01, 02, etc. I can remove month numbers by ""not translating"" them, but it is not the best solution.

2) How should be strings ""May_May_abbreviation"" translated in the right way? I found that some languages uses for example ""Kvě_Květen_abbreviation"" translation and others only ""Kvě"". Translators are probably afraid of removing ""_May_abbreviation"" part because they do not want to broke anything even if there is preg_replace function following. I do not understand why there has to be the whole ""May_May_abbreviation"" original string? Also explanation for translators (three-letter abbreviation of the month) is not exact, because we can use 2 (better for Czech) or any other number of characters.",pavelevap
Needs Milestone,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
Needs Milestone,20589,domain_exists should add trailing slash to path,,Multisite,3.0,normal,minor,Awaiting Review,defect (bug),new,has-patch,2012-05-01T16:49:18Z,2012-07-03T00:36:37Z,"{{{insert_blog}}} runs {{{trailingslashit}}} on the path, however, {{{domain_exists}}} uses whatever is passed in. If WP is enforcing the trailing slash on blog insertion, it really should when checking existence. It should probably also cast the site_id as an int per {{{insert_blog}}}.",ejdanderson
Needs Milestone,21134,Registering and enqueueing on the same action can cause enqueueing to happen before registering,,General,3.4,normal,normal,Awaiting Review,defect (bug),new,,2012-07-02T11:00:17Z,2012-07-03T01:42:10Z,"We have two plugins, plugin1 and plugin2. Plugin1 registers a script, Plugin2 wants to enqueue this script. Both of these routines are executed on the [http://wpdevel.wordpress.com/2011/12/12/use-wp_enqueue_scripts-not-wp_print_styles-to-enqueue-scripts-and-styles-for-the-frontend/ _enqueue_scripts] action.

There is a chance that enqueueing in Plugin2 will happen before registering in Plugin1 and therefore fail.

Possible fixes:

* Every time we enqueue a script, registered in another plugin, we use a higher priority. I am not a fan of this approach, because it is opaque – we need to document each enqueue like this, because the next developer might not know why did we use higher priority.
* Every time we register a script, we use a lower priority. I am not a fan of this either, because we will have to do this for almost every register, because we can't know if another plugin won't try to enqueue our scripts.
* Violate core recommendation and register the script on an earlier hook. I am not a fan of  approach for obvious reasons.
* Add {{{_register_scripts}}} hooks and recommend plugin authors to register their scripts at this time.

I would prefer if we added another set of hooks, because it both makes sense to register on a register hook (as opposed to enqueue hook) and it separates the two actions, so that we can execute them at different times.

When we agree on a solution, I would be happy to write the patch.
",nbachiyski
Consider for Next Major Release (has-patch),15397,redirect_guess_404_permalink() purposedly doesn't guess posts with updated dates,,Canonical,,lowest,normal,Future Release,enhancement,new,dev-feedback,2010-11-12T00:17:38Z,2012-07-03T15:37:18Z,"'''Problem'''

Here's my post path scheme: http://site.com/YEAR/MONTH/DAY/SLUG. Whenever I have writers working on a post for a while and saving drafts (we're all using Windows Live Writer), they oftentimes publish to the date when the last draft was saved, i.e. several days in the past. Then, they quickly correct the date but the previously tweeted/shared link is now 404 due to the changed date.

I've looked into the source of redirect_guess_404_permalink(), and it purposedly narrows down the query when it sees a post date to that date only. If I understand correctly, this is done to minimize accidental redirects to the wrong post, but has the side effect of not guessing the new link if only the date was changed.

A workaround of removing these lines:
{{{
  if ( get_query_var('year') )
    $where .= $wpdb->prepare("" AND YEAR(post_date) = %d"", get_query_var('year'));
  if ( get_query_var('monthnum') )
    $where .= $wpdb->prepare("" AND MONTH(post_date) = %d"", get_query_var('monthnum'));
  if ( get_query_var('day') )
    $where .= $wpdb->prepare("" AND DAYOFMONTH(post_date) = %d"", get_query_var('day'));
}}}

fixes the problem for me.

Can this case be solved in the trunk and the code above removed, or logic improved? My .htaccess file is filled with 301 redirects to correct wrong dates.

Thank you.",archon810
Consider for Next Major Release (has-patch),12584,Emails from WordPress Admin are html encoded,,Mail,2.9.2,normal,normal,Future Release,defect (bug),new,has-patch,2010-03-11T16:41:17Z,2012-07-03T16:55:00Z,"When a comment form is filled out that contains characters that are candidate for html encoding in the display of the comment on the web site, those comments are also html encoded in the display of the notification email send to the author.

Example comment left on my WordPress install:
Ampersand: &
Quote: ""
Registered: ®

Resulting email notification:
{{{
New comment on your post #168 ""Prevent iTunes from creating unnecessary clutter and cruft""
Author : --
E-mail : --
URL    : 
Whois  : --
Comment: 
Ampersand: &amp;
Quote: ""
Registered: ®
}}}

You can see all comments on this post here: 
http://example.com/prevent-itunes-from-unnecessary-clutter-and-cruft/#comments

Delete it: http://example.com/wp-admin/comment.php?action=cdc&c=xxxx
Spam it: http://example.com/wp-admin/comment.php?action=cdc&dt=spam&c=xxxx

It appears that only the ampersand has this issue.  I am not sure if it also applies to the subject of the email, but can confirm it applies to the body of the email.

The email headers show it was sent as plain text:
MIME-Version: 1.0
Content-Transfer-Encoding: 8bit
Content-Type: text/plain; charset=""UTF-8""",hexley
Needs Milestone,16774,Remember list view/excerpt view setting,,Administration,3.1,normal,normal,Awaiting Review,enhancement,new,has-patch,2011-03-06T13:37:18Z,2012-07-03T19:43:23Z,"I love the new excerpt view, except that the next time I go to the Articles page, it shows me the list view again. The selected view should be retained as a setting.",texttheater
Consider for Next Major Release (has-patch),12506,admin-color-scheme.css already loaded on wp-login.php. why?,,Administration,2.9.2,low,minor,Future Release,enhancement,reviewing,has-patch,2010-03-03T21:55:21Z,2012-07-03T20:55:11Z,"On wp-login.php we are already on admin, because wp is loading the whole color-scheme for a user... which is wrong. It is senseless, because the color-scheme the user selected for admin cannot be loaded without his user-data. And that is not possible as long as he/she didn't enter any login-data.

REQUEST: get the ~30kB color scheme out of the wp-login.php and add the following to wp-admin/css/login.css:


{{{
body.login {
    border-top-color:#464646;
}
body, #wpbody, .form-table .pre {
    color:#333333;
}
a, /* All obsolete on wp-login.php - could here simply be h1 a */
#adminmenu a,
#poststuff #edButtonPreview,
#poststuff #edButtonHTML,
#the-comment-list p.comment-author strong a,
#media-upload a.del-link,
#media-items a.delete,
.plugins a.delete,
.ui-tabs-nav a {
    color:#21759B;
}
.submit {
    border-color:#DFDFDF;
}
textarea, /* All obsolete - could be #login #wp-submit */
input[type=""text""],
input[type=""password""],
input[type=""file""],
input[type=""button""],
input[type=""submit""],
input[type=""reset""],
select {
    background-color:#FFFFFF;
    border-color:#DFDFDF; /* Obsolete due to .submit-class above */
}
input.button-primary, button.button-primary, a.button-primary {
    -moz-background-clip:border;
    -moz-background-inline-policy:continuous;
    -moz-background-origin:padding;
    background:#21759B url(../images/button-grad.png) repeat-x scroll left top;
    border-color:#298CBA;
    color:#FFFFFF;
    font-weight:bold;
    text-shadow:0 -1px 0 rgba(0, 0, 0, 0.3);
}
.submit {
    border-color:#DFDFDF;
}
.login #nav a {
    color:#21759B !important;
}
.login #backtoblog a {
    color:#CCCCCC;
}
}}}
",F J Kaiser
Consider for Next Major Release (has-patch),14697,wp_list_comments not fully HTML5-friendly,,Comments,3.0.1,normal,minor,Future Release,enhancement,new,has-patch,2010-08-25T16:33:37Z,2012-07-04T09:47:48Z,"Currently, wp_list_comments supports ol, ul, and div as ""styles"" of nesting for threaded comments. While HTML5 is new enough that good markup practices are not entirely settled, the closest thing I've seen to a consensus is nested article elements.

This is currently not possible (except perhaps through a callback). Making it work right would also require inserting the comment classes as part of wp_list_comments' operation, which might require another parameter to turn it on.

I'm sure there are other WP functions that could use expanding to accommodate good HTML5 markup, but this is what jumped out at me.",adamrice
Needs Milestone,21153,supporting protocol-relative urls,,General,3.3.2,normal,normal,Awaiting Review,enhancement,new,,2012-07-04T10:04:09Z,2012-07-04T11:04:29Z,"changing http:// and https:// generated links to // links would easily add support for hosting a site both under http and https easily

one place I've found this to be changed is in wp-includes/link-template.php around line 2006

the first if could be changed to:

$url = str_replace( ""https://"", ""//"", $url)
$url = str_replace( ""http://"", ""//"", $url)",nagyv
Consider for Next Major Release (has-patch),16891,Deleting all attachments from post under 'Gallery' tab shows 'From Computer' tab sans uploader,,Media,3.1,normal,normal,Future Release,defect (bug),new,dev-feedback,2011-03-18T17:33:26Z,2012-07-04T14:12:42Z,"'''Steps to Reproduce:'''
1. Attach images to post using 'Add an Image' dialog
1. '''Save post'''
1. Go to Gallery tab under dialog
1. Delete images
1. View changes to 'From Computer' tab with only empty table from Gallery tab",kawauso
Needs Milestone,21156,Move utility functions out of wp-admin/network.php,,Multisite,,normal,normal,Awaiting Review,enhancement,new,dev-feedback,2012-07-04T17:15:03Z,2012-07-04T17:15:03Z,"There are several functions in wp-admin/network.php that would come in handy outside the WP Admin -> Network Setup screen:

* network_domain_check() 
* allow_subdirectory_install()
* get_clean_basedomain()

etc.

They could be moved to wp-admin/includes/ms.php",scribu
Needs Milestone,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
Needs Milestone,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
Needs Milestone,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
Needs Milestone,21132,"List tables' ""select all"" should let you really select all, regardless of screen options",,Administration,,normal,normal,Awaiting Review,enhancement,new,,2012-07-02T04:38:38Z,2012-07-05T15:13:48Z,"The select all checkbox in list tables selects all the items in your current view.  Usually what I really want is to select all the items on all the pages.

As a hack, I'll often leave the screen options setting for items per page on something really high, like 1,000.  Unfortunately this means the tables are often really slow for no benefit (most of the time I don't need them all).  A better solution would be a way to intelligently select all items without needing to show them on the page.

The best example of this that I know of is Gmail, which adds a line above the list of emails when you click the select all box that looks something like this: ""All 50 conversations on this page are selected. Select all 653 conversations in Spam"".  The second sentence is a link that, as expected, selects all of your emails that fit the current view, regardless of paging.  Screenshot attached.",evansolomon
Needs Milestone,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
Needs Milestone,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
Needs Milestone,21171,jQuery Events for Metaboxes,,General,,normal,minor,Awaiting Review,feature request,new,,2012-07-05T21:35:47Z,2012-07-06T01:14:52Z,"Currently, when a plugin adds a metabox with complex objects (like TinyMCE, Maps, CodeMirror etc) care must be taken to refresh the objects when the elements are moved (including hidden/shown).

After some digging, I've found that this seems to works in most cases:
{{{
var context = ""#custom_meta_box_id"";
$( '#adv-settings' ).on( 'click', context + '-hide, ', refresh );
$( context ).on( 'click', '.hndle, .handlediv', refresh );
	
$('.meta-box-sortables').bind( ""sortstop"", refresh );
}}}
which isn't terrible, but seems fragile if core changes in the future, and there should just be a better way :-)

Two ideas from dev chat are triggering custom events or the (coming soon) ""js actions"" which would be more robust (like php actions).",WraithKenny
Needs Milestone,18476,Duplicate code in filesystem classes,kurtpayne,Filesystem,3.2.1,normal,minor,Awaiting Review,enhancement,new,dev-feedback,2011-08-18T17:54:33Z,2012-07-06T14:09:04Z,"Each filesystem class extends a base class and most, but not all, include an implementation of chown.  I propose a slight refactoring to include a default implementation of chown in the base class and let each subclass override chown when necessary.",kurtpayne
Needs Milestone,21182,WP_HTTP_Cookie doesn't handle the default conditions for the 'domain' and 'path' field correctly.,,HTTP,,low,minor,Awaiting Review,defect (bug),new,,2012-07-07T04:34:45Z,2012-07-07T04:34:45Z,"WP_HTTP_Cookie currently handles ""simple"" cookies in exactly the same way they're received, that is, it only fills in the details that the set-cookie header contained.

However, some fields are optional, and as a result of this, the [http://www.ietf.org/rfc/rfc2109.txt rfc for state management] specifies a set of default values for certain fields:
{{{
4.3.1  Interpreting Set-Cookie

   The user agent keeps separate track of state information that arrives
   via Set-Cookie response headers from each origin server (as
   distinguished by name or IP address and port).  The user agent
   applies these defaults for optional attributes that are missing:

   VersionDefaults to ""old cookie"" behavior as originally specified by
          Netscape.  See the HISTORICAL section.

   Domain Defaults to the request-host.  (Note that there is no dot at
          the beginning of request-host.)

   Max-AgeThe default behavior is to discard the cookie when the user
          agent exits.

   Path   Defaults to the path of the request URL that generated the
          Set-Cookie response, up to, but not including, the
          right-most /.

   Secure If absent, the user agent may send the cookie over an
          insecure channel.
}}}

We currently don't do anything special for Secure cookies (From what I can see), but we also need to handle the 'domain' and 'path' field defaults better, as currently they remain at the default null if nothing is passed. This can result in domains passing the WP_HTTP_Cookie::test() method to a different domain or path than they were issued on.

Example cookie values (and WP_HTTP_Cookie representations) which can trigger this:
{{{
PHPSESSID=ros1liponkqip23k9le0hhmp31; path=/' (length=44)
test=1341632838; expires=Sat, 07-Jul-2012 04:47:18 GMT
array (size=2)
  0 => 
    object(WP_Http_Cookie)[87]
      public 'name' => string 'PHPSESSID' (length=9)
      public 'value' => string 'ros1liponkqip23k9le0hhmp31' (length=26)
      public 'expires' => null
      public 'path' => string '/' (length=1)
      public 'domain' => null
  1 => 
    object(WP_Http_Cookie)[86]
      public 'name' => string 'test' (length=4)
      public 'value' => string '1341632838' (length=10)
      public 'expires' => int 1341636438
      public 'path' => null
      public 'domain' => null
}}}

This is not a issue for WordPress core, but could affect plugins who do anything special with Cookies.",dd32
Needs Milestone,19181,Make image_link_input_fields filterable to add buttons,,Media,2.7,normal,normal,Awaiting Review,enhancement,new,has-patch,2011-11-06T20:27:53Z,2012-07-07T10:31:15Z,"This patch makes the image_link_input_fields function filterable, so that additional buttons could be added to the Link URL section when inserting an image into a post.

In my case, I want to be able to link an image to the post it belongs to. It's a weird/tiny use case, but this filter will let me use a plugin to add it myself.",ryanimel
Needs Milestone,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
Needs Milestone,21185,Upload/insert popup not scrollable on iPad,,General,,normal,normal,Awaiting Review,defect (bug),new,,2012-07-07T20:58:36Z,2012-07-07T20:58:36Z,"When using iPad (testing with a v1 iPad) the upload/insert popup is not scrollable so if you expand an image by clicking ""show"" you cannot scroll down to the"" insert into post"" link.",husobj
Needs Milestone,21172,Adding the first filter/action in an earlier priority during a later priority causes the earlier priority to run (last),,Plugins,3.4,normal,normal,Awaiting Review,defect (bug),new,has-patch,2012-07-05T23:30:54Z,2012-07-07T22:41:11Z,"During testing of #21169, it occurred to me that [http://core.trac.wordpress.org/ticket/5338#comment:1] might present a problem with each rather than next/current, but that turns out not to be the case.  Instead, this exposed a different bug:

If you add a new filter at priority 9, when priority 9 did not previously have any filters, during the priority 10 execution, the priority 9 filter will run (!) after all other priorities (since the filters are not resorted after each priority).

(Generally, if you add an earlier priority that did not previously have any filters during a later priority...)

The attached unit test demonstrates this behavior.",devesine
Needs Milestone,21190,Add a action in check_admin_referer() in the event the nonce auth fails,,Administration,,normal,normal,Awaiting Review,enhancement,new,dev-feedback,2012-07-08T09:12:56Z,2012-07-08T09:12:56Z,"Currently plugins don't have a way to perform custom handling in the event that a nonce fails in `check_admin_referer()` - Whilst in most cases this will never be needed, I'd like the ability for plugins to be able to use `check_admin_referer()` directly AND have the option of redirecting failed nonces to their own page.

We currently have an action which is fired when a nonce passes:
{{{
do_action('check_admin_referer', $action, $result);
}}}",dd32
Needs Milestone,21189,We should improve the nonce failure page,,Administration,,normal,normal,Awaiting Review,enhancement,new,,2012-07-08T09:07:17Z,2012-07-08T13:14:00Z,"Currently when a admin nonce expires, in most cases we catch this condition using `check_admin_referer()` which presents expired nonces with a rather ugly uninformative error message:
[[Image(http://f.cl.ly/items/26271g453h2y0K393Y1l/Screen%20Shot%202012-07-06%20at%2012.14.25%20PM.png)]]

I'd like to propose that we make this page a bit nicer to end users - who although are unlikely to hit it (I hope) it'd be nice to let them know what's actually happened.

My initial approach would be to change the page to 
- Include a !WordPress logo, and a link back to the Admin area
- Change the message to something like ""The link you've followed has now expired, In order to complete the action you were performing, please return to the previous page, refresh it, and attempt to follow the link again."".
- In the case where this is happening within the !WordPress admin, it would make sense to have some kind of UI on the page as well - This can currently be done by not using `check_admin_referer()` and using `wp_verify_nonce()` directly and redirecting to an error page.

The current message could often cause confusion, as of course the user wants to do it (They just followed a link!) but as there's no continue button, they're left confused.",dd32
Needs Milestone,20944,Changing plugin filename causes Fatal error on automatic activation after update,,Plugins,3.3,normal,normal,Awaiting Review,defect (bug),new,has-patch,2012-06-13T19:43:38Z,2012-07-08T20:56:03Z,"In a new version of a (my) plugin in the WordPress repository, I changed the filename of the main plugin file (to match the folder name).  When an old version of the plugin is activated, doing an automatic update to the latest version of the plugin (with the new filename), the following error message is displayed:  ""The plugin jonradio-display-kitchen-sink/jonradio-kitchen-sink.php has been deactivated due to an error: Plugin file does not exist.""

An immediate manual Activation completes successfully.

Observed on sites with WordPress Network turned off and on, including when the plugin was Network Activated.

Plugin is jonradio Display Kitchen Sink, and update was from Version 1.0 to 1.1.",adiant
Needs Milestone,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
Needs Milestone,21204,Encoding problem with errors and warnings,,General,3.4.1,normal,normal,Awaiting Review,defect (bug),new,,2012-07-09T16:31:04Z,2012-07-09T22:01:05Z,"There are several functions for debugging and their messages are also localized. For example _deprecated_argument(), _doing_it_wrong(), etc. But when these functions are fired, encoding of the whole administration (not only error messages) is damaged (see attached screenshot).

It is not very good because even if debugging is turned off, some errors can be still triggered - for example trigger_error() in ms_subdomain_constants() function, etc.",pavelevap
Consider for Next Major Release (has-patch),12821,Merge get_posts() and get_pages(),garyc40,Post Types,3.0,normal,normal,Future Release,enhancement,assigned,has-patch,2010-04-02T21:10:54Z,2012-07-10T01:32:11Z,"get_pages() should wrap get_posts() the same way get_page() wraps get_post(). Arguments of different names need to be retained for back compat.

Reasoning for this includes #14823. Querying a nonhierarchical post type should still be allowed with child_of for example, to allow for cross-type relationships.",mikeschinkel
Needs Milestone,19716,Marking buttons and names in text,,I18N,3.3,normal,normal,Awaiting Review,enhancement,new,,2012-01-03T13:37:18Z,2012-07-11T13:43:51Z,"There is no united way to mention buttons, tabs, names etc in texts. 

Sometimes there are quotes around button name:

{{{
If you would like to see more themes to choose from, click on the &#8220;Install Themes&#8221; tab
}}}

Sometimes not:

{{{
You must click the Save Changes button at the bottom
}}}

Maybe there should be any rules? For users it could be better to see button names someway highlighted (quotes, strong, etc) and everytime it would be clear that it is mentioned button...",pavelevap
Needs Milestone,20946,Improve 'Right Now' in Network Admin,,Network Admin,3.4,normal,normal,Awaiting Review,feature request,new,,2012-06-13T21:02:14Z,2012-07-11T21:50:34Z,"It seems like there are a few things that could be done to make 'Right Now' in the Network Admin a little more informative and functional:

1. Add the current !WordPress version and applicable 'Update to X' and/or 'Update Network' buttons. Currently in NetAdmin the version is only displayed in the footer and (sort of) in /network/update-core.

2. List and link the site and user counts in similar fashion as the single-site 'Right Now' box

3. List and link theme and plugin counts",DrewAPicture
Needs Milestone,21221,Image title and alt attribute content should be texturized.,,Media,3.4.1,normal,normal,Awaiting Review,enhancement,new,has-patch,2012-07-11T19:49:18Z,2012-07-11T22:11:44Z,"
gallery_shortcode() texturizes the caption shown underneath images in galleries.

For consistency, alt and title tags content should also be texturized.
This is also valuable for developers extending the gallery shortcode or output, such as with the WordPress.com (and Jetpack) [http://en.blog.wordpress.com/2011/11/08/new-photo-carousel/ Gallery Carousel feature], as it provides i18n'd texturization, for EG.

See attached patch, which:
 * uses wptexturize() in wp_get_attachment_image() directly (/wp-includes/media.php), which makes it work with gallries, attachment pages, etc.
 * also uses wptexturize() in get_image_tag() (/wp-includes/media.php), for consistency.
 * uses wptexturize() in wp_get_attachment_link() (/wp-includespost-template.php), for consistency",stephdau
Consider for Next Major Release (has-patch),14077,Add support for removal of multiple features from a post type in remove_post_type_support,,Post Types,3.0,normal,minor,Future Release,enhancement,new,has-patch,2010-06-24T18:10:59Z,2012-07-12T00:52:41Z,"From [http://groups.google.com/group/wp-hackers/browse_thread/thread/1843101eba1f29fc this thread]

add_post_type_support allows an array to be passed as the 2nd parameter, but remove_post_type_support doesn't.

The patch attached adds the functionality.",Utkarsh
Needs Milestone,21225,Dashboard Incoming Links - Google blogsearch fails when get_option( 'home') is not a TLD,,Feeds,2.5,normal,minor,Awaiting Review,defect (bug),new,dev-feedback,2012-07-12T02:47:09Z,2012-07-12T04:23:56Z,"When WordPress gets installed and the first time a user visits the dashboard the dashboard_widget_options get set for dashboard_incoming_links.  The Google blogsearch link gets set based on your settings for wp_home.  If your developing on a local machine most likely wp_home is not a true TLD.

Google blogsearch incorrectly returns incoming links when the site: url is not a true TLD.  For example I'll use an install where wp_home is set to http://wp.patch.  The link that gets formed is:

http://blogsearch.google.com/blogsearch_feeds?scoring=d&ie=utf-8&num=10&output=rss&partner=wordpress&q=link:http://wp.patch/

If you visit that link you will notice that results are getting returned just using the ""patch"" keyword.

If the sited gets moved to live production you will continue to get the incorrect incoming links unless the dashboard_widget_options get manually changed or deleted.

Also to note is that the Google blogsearch API has been deprecated:  https://developers.google.com/blog-search/

My suggestion is to remove the widget or hide it by default in screen options like we did for some of the stuff in post.php.

Another option is to do a check and return WP_Error if wp_home is not a TLD before setting the dashboard widget options.",c3mdigital
Consider for Next Major Release (has-patch),20487,Comment search isn't customizable,,Comments,3.2.1,normal,normal,Future Release,enhancement,new,has-patch,2012-04-18T23:32:07Z,2012-07-12T16:05:07Z,"*cross-posted to the wp-hackers mailing list last night*


I work on a large news oriented WP site and first off, it actually scales remarkably well. We keep users, comments, and actual posts all in WordPress. However, due to our size, administering comments is causing us issues at the moment.

Our last outage was caused by one of our comment moderators doing a simple comment search in the admin. The query took 16 seconds to execute, the next query locked, and, with our traffic, the DB couldn't handle the resulting queued traffic.

Staying away from discussions of ""you should use Disqus"" or, ""you need more X for your mysql server,"" I think there is significant opportunity to improve the way WP handles comment searching. Every comment search takes the following form:

SELECT * FROM wp_comments  WHERE ( comment_approved = '0' OR comment_approved = '1' ) AND (comment_author LIKE '%TERM%' OR comment_author_email LIKE '%TERM%' OR comment_author_url LIKE '%TERM%' OR comment_author_IP LIKE '%TERM%' OR comment_content LIKE '%TERM%') ORDER BY comment_date_gmt DESC LIMIT #;

As we can all see, this is a beast of a query. Even when the term is clearly an specific term (say an email or IP), or when the intent of the admin is known (e.g. clicking the IP link on a specific comment). Furthermore, there are no hooks activated in this process for plugins to use to say create an advanced comment search plugin. One might expect hooks like those activated in post search to be activated here, like ""parse_request"" and ""get_search_query.""

Waxing philosophical, as posts, comments, and users are the three basic types of data to be stored and displayed in WP, one would expect them to have similar interfaces and functionality. They each have basic functionality of being able to retrieve a single item, a list (in full or in part), search for an element, or edit a single entry. For this reason I don't understand why each of their functionality isn't derived from something like an abstract class or an interface. The architecture here is also difficult in that you are not able to replace or extend a single class to change the functionality.

Back on target. I propose that we add functionality by which we'll be able to search by exact match in addition to the existing full wildcard (left, right, or full wildcard is probably excessive) as well as specifying the field to search. This would allow my earlier use case of searching by IP to look for an exact match in the ""comment_author_IP"" field only, not searching the fulltext of every comment.

This functionality can be created simply by:

1. Adding ""search_type"" and ""search_field"" to the WP_Comment_Query::query_vars data structure in wp_includes/comment.php
2. Replacing WP_Comment_Query::get_search_sql with something more robust, able to understand these new properties and construct the query on their basis
3. Upgrading WP_Comments_List_Table::prepare_items to accept the new queries and add them to the data structure it creates
4. Either modifying WP_List_Table::search_box to have some options of advanced search, or dropping a hook so that a plugin can easily modify it
5. Modifying the WP_Comments_List_Table::column_author to supply the correct query string to indicate an IP search

If I can figure out a way to make this more similar to the signature of posts and users, or at least add some hooks at the right places, I can do that as well.

This will add efficiency for everyone--particularly those who have lots of comments. I modified our core for this functionality today and we will fully QA it tomorrow. I made it on 3.2.1 as that is what we're running right now, and there are minimal changes in the affected files and functions between 3.2.1 and 3.3.1 and even the nightly.

I can submit a patch as long as it passes our QA--how should I do that, off the nightly?

Thanks,
-Kenton Jacobsen",brokentone
Needs Milestone,21234,Recursive directory creation & get_calendar() for custom post types,,General,3.4.1,normal,normal,Awaiting Review,defect (bug),new,,2012-07-12T12:31:28Z,2012-07-13T00:28:43Z,"Hello!
I made two patches, and sent the pull request on githab.

https://github.com/WordPress/WordPress/pull/12
https://github.com/WordPress/WordPress/pull/14

And I want to join to contributers team. How can I do it? 
Irc chanel is Terminated :(",avaddon
Needs Milestone,21253,Replaces deprecated get_delete_post_link in class-wp-posts-list-table.php,,Post Types,3.1,normal,normal,Awaiting Review,enhancement,new,has-patch,2012-07-13T04:41:31Z,2012-07-13T04:41:31Z,Changing the ajax nonce actions from post-post_type_ to post_ in #21194 allows us to change deprecated get_delete_post_link() to wp_nonce_url() in class-wp-posts-list-table.php.  Patch requires #21194 to work on custom post types.,c3mdigital
Needs Milestone,21258,Autosuggest for tags suggests tag already chosen,,General,,normal,normal,Awaiting Review,enhancement,new,,2012-07-13T12:38:03Z,2012-07-13T12:38:03Z,"When entering tags in the meta box on a post (or page) edit screen in admin, the AJAX autosuggest will suggest tags that have already been added to the post (i.e. shown below the input field).

Steps to reproduce:

1. Go to the post edit screen.
2. Add a tag (example: ""Apple"") to the current post.
3. Type ""App"" in the tag entry field and wait for autosuggest to come up.
4. ""Apple"" is listed in the suggestions dropdown.

I've investigated this a little, and I don't think there's a really easy patch for this (mostly because of how suggest.js works). However, it would imho be very elegant to fix this. Perhaps autocomplete.js can be of service here (see issue #12399)?",roytanck
Needs Milestone,21265,settings_fields() conflict with admin-ajax.php in ajax requests,,Plugins,3.4.1,normal,normal,Awaiting Review,defect (bug),new,,2012-07-13T19:30:32Z,2012-07-13T19:30:32Z,"I created a plugin, which uses the function 'settings_fields()' to generate required fields. When I save the plugin options, I decided to use Ajax Requests to save time.

Until 3.3.2 this was working well, but with 3.4.1 admin-ajax.php code update generates a errors. Because ""settings_fields()"" generate hidden field called ""action"" and before 3.4.1 admin-ajax.php used $_GET['action'] to call ajax action dynamically.

'''How reproduce:'''
1. Use WP 3.4.1
2. Put this code snippet in a .php file in wp root folder: 
{{{
<?php
	require 'wp-load.php';
	
	add_action('wp_ajax_mysettings_save' , 'mysettings_save');
	
	function mysettings_save() {
		//DO SOMETHING USEFULL HERE
		exit('It worked!');
	}

?>
<script src=""http://ajax.googleapis.com/ajax/libs/jquery/1.7/jquery.min.js""></script>
<form>
	<p><input type=""text"" name=""my_settings_field"" value=""""></p>
	<button>Save</button>
	<?php settings_fields('my_settings'); ?>
</form>
<script>
	$('form').submit(function(event){
		event.preventDefault();
		
		$.post('wp-admin/admin-ajax.php?action=mysettings_save', $(this).serialize(), function(data){ console.log(data); });
	});
</script>
}}}


In wordpress 3.4.1 field 'action' changes to 'update', because $_REQUEST['action']. In wordpress 3.3.2, field 'action' is 'mysettings_save'.

I have to redo all my work with my plugin with this change in Wordpress 3.4.1. ",vdvtt
Needs Milestone,21268,_wp_page_template is getting 'stuck' to a page,,General,3.4.1,normal,normal,Awaiting Review,defect (bug),new,,2012-07-13T22:21:42Z,2012-07-13T22:21:42Z,"Unmodified WP 3.4.1 / Ummodified TwentyEleven theme

Create a page (id=2).  Manually add a postmeta entry for 

{{{
post_id=2, 
meta_key = _wp_page_template, 
meta_value = pagefull.php
}}}


The page now opens with margin: 0 7.6%;  (correct!)

Now try to change it back to default, either by removing the _wp_page_template postmeta record or by editing the page -> Page Attribute / Template.  The page will not revert back to Default.  It continually displays as Full Width, and a postmeta item telling post_id 2 to use _wp_page_template = pagefull.php is added.

http://wp34.roveridx.com/?page_id=2

This behavior does not happen in 3.3.2.",shawmutsteve
Needs Milestone,17142,Prettier gallery display and navigation through core,,Gallery,3.3,normal,normal,Awaiting Review,feature request,reopened,,2011-04-15T16:14:13Z,2012-07-13T22:44:10Z,"WordPress gallery display and navigation typically feels rather crude from the user point of view. With digital cameras dumping images as IMG_XXXX or long numeric strings, the default image titles are usually prominent and ugly in most of the themes I've tested (see attachments for examples). Some themes use thumbnail navigation instead, but those implementations also feel dated in many (most?) cases.

I realize that the theory is display/navigation is determined by the themes, and that display/navigation can be greatly altered via various plugins...  but the reality of how this plays out results in a default user experience that simply feels outdated. 

Many (most?) themes seem pretty unimaginative in their gallery output and IMHO a more elegant out-of-the-box display and navigation experience seems like it would really be useful for all WordPress users. I would think most users expect something like a Lightbox experience at minimum, but I am not ideologically tied to any particular solution. 

Is there something we could do on the core side to strongly encourage (or even gently enforce) a prettier default construct? 
",hew
Needs Milestone,16494,"Remove ""no conflict"" mode from bundled jquery",,External Libraries,3.1,low,minor,Awaiting Review,enhancement,new,close,2011-02-08T18:45:49Z,2012-07-14T11:04:26Z,"Remove ""no conflict"" mode from jquery

Over the last six months more and more of the themes I review for large sites have being using Google's CDN version of jquery (deregistering the bundled), not to get the benefit of CDN, but because most jquery libraries are dependent on $ and the developers don't know or want to deal with getting them to work in ""no conflict"".

I image we originally put in place ""no conflict"" mode for bundled jquery, as part of the transition from Prototype.

I appreciate it is hard to measure the impact of this type of change, but wanted to trac this all the same.

=== Additional Info ===

http://codex.wordpress.org/Function_Reference/wp_enqueue_script#jQuery_noConflict_wrappers

http://docs.jquery.com/Using_jQuery_with_Other_Libraries",lloydbudd
Needs Milestone,21266,Enhancements for page numbers links API,,Permalinks,3.4.1,normal,normal,Awaiting Review,enhancement,new,has-patch,2012-07-13T20:59:17Z,2012-07-14T21:47:23Z,"Currently WordPress provides few functions to create links with page numbers embedded. Unfortunately they have some limitations:[[BR]]
- `get_pagenum_link()` - works on `$_SERVER['REQUEST_URI']` only;[[BR]]
- `get_comments_pagenum_link()` - works on current post only;[[BR]]
- `_wp_link_page()` - works on current post only, returns HTML code and is private.

Because of these limitations in the past I have reimplemented these functions in my SEO plugin. Now I decided that it will be better if WP core will provide needed functionality.

Attached path introduces following changes for functions:[[BR]]
- `get_pagenum_link()` - added new `$url` param, which can be used to pass any URL to function;[[BR]]
- `get_comments_pagenum_link()` - added two new params: `$post` and `$add_anchor`. The former one allows to pass any post object to function, the latter one tells function if it should append `#comments` at the end of URL;
- `get_post_page_link()` - new function. I moved code from `_wp_link_page()` here and modified it so it can work on any post. Additionally it calls new filter `get_post_page_link` before returning value.[[BR]]

Additionally these functions passes new argument(s) to filter at the end, so it will be easier for plugins to generate different pagination URLs.

I also modified `_wp_link_page()` function (now it calls `get_post_page_link()`) and removed `@access private` from `wp_link_pages()` (as I checked, it is called from themes code only).",sirzooro
Needs Milestone,21243,move password hint text to a function,,General,,normal,normal,Awaiting Review,enhancement,new,has-patch,2012-07-12T16:56:24Z,2012-07-16T02:52:21Z,"The password hint text, noted below, is hard coded in four places:

{{{
wp-admin/install.php
wp-admin/user-edit.php
wp-admin/user-new.php
wp-login.php
}}}

{{{
Hint: The password should be at least seven characters long. To make it stronger, use upper and lower case letters, numbers and symbols like ! "" ? $ % ^ &amp; ).
}}}

This approach is prone to mistakes when changes are made.  In addition, plugins that want to override the text need to use the resource intensive and clumsy gettext filter.

Per nacin and westi, the attached patch moves the text to a function ({{{wp_password_hint()}}}) in {{{wp-includes/user.php}}} and adds a filter ({{{password_hint}}}).",convissor
Needs Milestone,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
Needs Milestone,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
Needs Milestone,21304,Create unique file for rotated images,,Media,,normal,normal,Awaiting Review,enhancement,new,,2012-07-18T16:31:06Z,2012-07-18T16:31:06Z,"When images are cropped in WordPress, the resulting file is given a unique filename, which helps in two ways — the original is preserved, and it also busts any caching. Preserving the original isn't such a major concern when we're talking about rotating the image, but caching still can be an issue. I propose that when images are rotated they're given a unique filename to bust through any caching or CDN that the image has already gone to.",wpdavis
Needs Milestone,21306,"Archived blogs should return HTTP ""404 Not Found"", not ""410 Gone""",,Multisite,,normal,normal,Awaiting Review,defect (bug),new,has-patch,2012-07-18T19:39:51Z,2012-07-18T19:39:51Z,"In a multisite network, if a site is archived, ms_site_check() currently serves up a HTTP 410 status code. Here's what the [http://www.w3.org/Protocols/rfc2616/rfc2616-sec10.html HTTP spec] has to say about 410:

  The requested resource is no longer available at the server and no forwarding address is known. This condition is expected to be considered permanent. Clients with link editing capabilities SHOULD delete references to the Request-URI after user approval. If the server does not know, or has no facility to determine, whether or not the condition is permanent, the status code 404 (Not Found) SHOULD be used instead. This response is cacheable unless indicated otherwise.

It's acceptable to serve a 410 if the site is marked as deleted or spam, but I don't think that archiving the site is an indication that the site is permanently and irrevocably gone. Although a case can be made for changing it to 404, my contention is that a 403 is more appropriate for semantics and for bots. From the same HTTP spec:

  403 Forbidden: The server understood the request, but is refusing to fulfill it.

vs

  404 Not Found: The server has not found anything matching the Request-URI.",amattie
Needs Milestone,21311,"The ""Paste as plain text"" feature in TinyMCE produces double-line breaks between paragraphs.",,Editor,3.4.1,normal,minor,Awaiting Review,defect (bug),new,close,2012-07-19T10:41:13Z,2012-07-20T08:44:55Z,"Mac OSX Lion, Chrome, WordPress 3.4.1

See attached SWF for a screen-video demonstration.

 • In WP-Admin -> Posts -> Add new, with the editor in visual mode, click the ""Pase as plain text"" icon [[BR]][[BR]]
 • Paste your content into the window that pops up and click ""Insert"" [[BR]][[BR]]
 • Note that two paragraphs seem to be double-line breaked. [[BR]][[BR]]
 • Switch to HTML mode and note that there are extra ""&nbsp;"" spaces inserted between paragraphs. [[BR]]

 ",uxtremist
Needs Milestone,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
Needs Milestone,20592,Add hooks to New Site form in Dashboard,,Multisite,,normal,normal,Awaiting Review,enhancement,new,,2012-05-01T18:53:16Z,2012-07-20T19:03:02Z,"WordPress provides hooks for altering the wp-signup.php form that users use to create new sites on a MultiSite network.  Using these, we developed a plugin that adds fields there for people to indicate some other information about their site. (specifically, to choose a topic)

However, there are no such hooks available on the New Site form available to network admins via the dashboard for some reason.  This means that I am not able to append the extra form fields here that I can on the wp-signup.php page.

There should be similar (or identical) hooks used here so the New Site form can be modified in a similar way and be consistent with the wp-signup.php form.",MadtownLems
Needs Milestone,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
Needs Milestone,21341,Explain Site and User count update frequency in Network Admin contextual help,,Help/About,,normal,trivial,Awaiting Review,enhancement,new,has-patch,2012-07-22T01:03:00Z,2012-07-22T01:03:00Z,"While adding a bunch of sites to a multisite install today, I noticed for the first time that the counts (option `blog_count`) for sites and users in the Right Now box don't update immediately. I was confused, but then saw [[ticket:15170]] which moved the count update to a twicedaily cron for scalability reasons.

It may be helpful to include this information in the contextual help for others who will find themselves confused. Attached patch is an attempt at that.",jeremyfelt
Consider for Next Major Release (has-patch),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
Needs Milestone,21364,Pass post type to count_user_posts(),,General,3.0,normal,normal,Awaiting Review,enhancement,new,has-patch,2012-07-24T08:22:14Z,2012-07-25T12:26:04Z,"Add $post_type argument to count_user_posts(). Defaults to 'post', as it is hard-coded now.",Caspie
Needs Milestone,21380,Impossible to modify URL of attachment,,Media,3.4.1,normal,major,Awaiting Review,defect (bug),new,,2012-07-25T16:16:42Z,2012-07-25T17:45:33Z,"When you upload an image to a post and want to change the URL field afterwards and click ""save changes"", wordpress reloads and the URL is still the same.",mkampitsch
Needs Milestone,20057,Media upload for multi-webserver setups introduces a nasty race condition that could corrupt uploaded files,,Media,3.3.1,normal,major,Awaiting Review,defect (bug),new,,2012-02-17T05:46:40Z,2012-07-26T03:53:59Z,"I am in the process of scaling a Wordpress blog with several million monthly pageviews, and I have designed a plan to scale it in the highest availability manner possible.

'''The setup'''
Each web server that hosts HTML/PHP, static files, and uploads will be replicated via rsync from time to time and sitting behind a load balancer. Rsync will run every 5min to 1 hour, and to mitigate the 404s in the uploads, I put together an nginx setup that automatically tries a different upstream server in its configuration when it encounters 404s. This allows any web server to go down at any time, and the system to run as if nothing happened. This also gives me freedom for rsyncing periodically rather than immediately and avoids 404s completely.

'''The problem'''
Now, the bug (note, I'm using Windows Live Writer which automatically names uploads image.png, but I could see this potentially happen without WLW too since WP seems to automatically name files on disk in case of collisions).

Let's say we have server A and B. The site name is foo.com. Let's also say B is out of date by an hour and a bunch of files got uploaded to A that aren't on B. Say, A has image.png and image2.png and B has only image.png.

Now, the issue is that if the load balancer directs the new post uploader (the new post contains a single image) to server B, the file that it will create on disk will be named image2.png rather than image3.png. So now B will have a file that's different from A's but is named the same way.

The main problem is that the file name is given based on what's available on the disk rather than according to the database. It's easy for this race condition (between rsyncs) to destroy the integrity of the files. Furthermore, and I've experienced this first hand), if you delete the attachment from the Wordpress UI, it could actually delete the wrong file from the wrong server as a result.

Seeing this, I can't continue with my scaling plan until file names are assigned by the database rather than the file system or I figure out how to mitigate that. I don't want to force all writers to use only server A for uploads using its direct IP, as I want HA (high availability).

Thank you.",archon810
Consider for Next Major Release (has-patch),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
Needs Milestone,21375,Add Filter for next_posts_link/prev_posts_link label,,General,,normal,minor,Awaiting Review,feature request,new,,2012-07-25T14:56:47Z,2012-07-26T17:06:56Z,"There is currently a filter 'next_posts_link_attributes' that allows plugins to add/modify classes/rel/etc to the links.  However, the actual label that is displayed for the link is not accessible through this.

I think that the $label variable in function get_next_posts_link should be run through a filter to allow it to be modified by plugins.

For example, a plugin that adds a custom post type of Apple might want these links to say Next Apples or Previous Apples, or if a plugin changes the ordering of posts, it might want to change 'Earlier' type labels that many themes use to better reflect the new ordering system",MadtownLems
Needs Milestone,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
Consider for Next Major Release (has-patch),16185,Bulk Actions Dropdown Box JS Sync Ajax-Tables,,General,3.1,normal,normal,Future Release,enhancement,new,has-patch,2011-01-11T11:15:33Z,2012-07-26T19:25:41Z,"It would be an increase in usability - if JS is enabled - to sync the changes between the bulk-action-drop-down on top of the table with the one below the table.

In my scenario I increased the amount of entries to over 100. So you need to scroll. So to set the bulk action on top and then you might think twice, need to check something, scroll down to the list to check the last entry and you want to press the bulk submit down below.

That combo box is still on the default value right now. To spare additional clicks, it would be nice that it got synched with the one on top.

Related: #14579; #15580",hakre
Needs Milestone,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
Needs Milestone,21403,"Introduce wp_scandir, remove opendir / closedir code",,Filesystem,3.0,normal,normal,Awaiting Review,enhancement,new,has-patch,2012-07-28T08:57:20Z,2012-07-29T18:29:23Z,"There is {{{@opendir}}} code all over the place that is not standardized. On top of that, there is plenty of code that is duplicated and could be condensed into one handy function. Plus, in all of the places we are using {{{opendir()}}}, we really want to be using {{{scandir()}}}. 

I have created a master function in {{{load.php}}} called {{{wp_scandir()}}} that does the basics:
* scans a directory for files / subdirectories
* filters list by extension(s)
* optionally returns ONLY files

This cleans up code in many places.",wonderboymusic
Needs Milestone,21407,Allow filtering of upload resize dimensions,,Media,3.4.1,normal,normal,Awaiting Review,enhancement,new,dev-feedback,2012-07-28T18:00:19Z,2012-07-29T19:29:25Z,"Background: 

Plupload ships with a client-side upload resizer that was included with Core in 3.3 but had the action removed because of [http://core.trac.wordpress.org/ticket/19174 browser inconsistencies] so I implemented it as [http://wordpress.org/extend/plugins/enable-image-scaling-option-on-upload/ a plugin] at the time. Everything works just fine and dandy with zero problems except that the `resize_height` and `resize_width` vars are defaulted to the Large image sizes defined in media settings. It would be nice to be able to filter one or both of the dimensions outside the scope of the 'Large' size (when 'Original' becomes the same size as 'Large', you effectively lose an image size).

Patch attached.

You'll have to re-add this action to test:

`add_action( 'post-upload-ui', 'media_upload_max_image_resize' );`

Related: #19174, #19770",DrewAPicture
Needs Milestone,18850,hidden admin page,,Administration,,normal,normal,Awaiting Review,enhancement,new,,2011-10-03T21:43:12Z,2012-07-30T16:22:40Z,"it should be possible to create a hidden admin page.

this is useful for pages, that require parameters which are better inserted in other pages (e. g. using the post_row_actions filter).

if this is already possible, it should be documented somewhere where it might be found.

(btw: i'm not sure, what the difference between feature request and enhancement is. please redeclare as fit)",ibotty
Needs Milestone,21412,Hookable dropins,,Cache,,normal,normal,Awaiting Review,enhancement,new,dev-feedback,2012-07-29T03:59:34Z,2012-07-30T22:12:02Z,"This ticket is the result of a discussion on the wp-hackers list where I proposed the idea in [http://lists.automattic.com/pipermail/wp-hackers/2012-July/043772.html this message]. 

Currently for dropins there can be only one[1] per install which means that, especially for `advanced-cache.php` where multiple plugins cannot easily:

- Cache different mime types with different plugins
- Provide basic functionality and leave the complexity to other plugins because hooks are not available ''(this is likely needed for a good page caching API to ever emerge from the work of plugins.)''

For caching this results in plugins like WP Super Cache and WP Total Cache that significantly violate a sancrosact WordPress philosophy of ''""[http://wordpress.org/about/philosophy/#decisions Decisions, not Options]''"". To see what I mean, just visit the settings page for either of these plugins.  ''(Note: I'm not criticizing the plugins or their developers, instead saying that WordPress doesn't give them much of a choice.)''

It turns out however that fixing this is really lightweight and easy, at least for `advanced-cache.php`. I will attach the following files but here is the short list of changes to core required:

- Move the hooks-related function out of `/wp-includes/plugin.php` into another file which I called `/wp-includes/hooks.php` and include `/wp-includes/hooks.php` in `/wp-settings.php` close to the top after `/wp-includes/versions.php` is included.
- Include another new file `/wp-includes/dropsin.php` in `/wp-settings.php` after `/wp-includes/hooks.php` which contains a `wp_load_dropins()` function that `include()`s all `.php` files found in `/wp-includes/dropins/`.  
- Lastly add the following two (2) lines before `advanced-cache.php` is included:

{{{
// Load any potential dropins found /wp-content/dropins/
wp_load_dropins();

// Run the hook-based page cache.
do_action( 'page_cache' );
}}}

With this future caching plugins can implement the page_cache hook by dropping a file into `/wp-content/cache/` instead of  adding an `/wp-content/advanced-cache.php`.  

If this idea is blessed then we could add a deprecation notice for `/wp-content/advanced-cache.php` and also potentially replace (some of) the other dropins with `do_actions( ""{$dropin_hook}"" )`.   


[1] [http://www.urbandictionary.com/define.php?term=%22there%20can%20only%20be%20one%22%20 Gratuitous Highlander reference].",mikeschinkel
Needs Milestone,20854,functions.php on line 155 ?,Nikolaos Raftopoulos,Multisite,3.3.2,normal,normal,Awaiting Review,defect (bug),new,reporter-feedback,2012-06-06T12:45:29Z,2012-07-31T02:42:37Z,"In my network dashboard I get the following error message : 


Warning: number_format() expects parameter 1 to be double, string given in /home/tklighth/public_html/wp-includes/functions.php on line 155",leondari
Needs Milestone,21435,wp-includes/comment.php line85 causes slow query due to the non-indexed column,,General,3.4.1,normal,minor,Awaiting Review,enhancement,new,has-patch,2012-08-01T00:31:47Z,2012-08-01T00:31:47Z,"Following query is causes slow query if  the wp_comment table is huge.
{{{
$ok_to_comment = $wpdb->get_var(""SELECT comment_approved FROM $wpdb->comments WHERE comment_author = '$author' AND comment_author_email = '$email' and comment_approved = '1' LIMIT 1"");                                                         
}}}

In my case, I have 600 thousand records in the wp_comments table and the query takes over 10 minutes to complete.

http://matsu.teraren.com/blog/wp-content/uploads/2012/08/a40b1291fd99413dc3057fbe0b792a93.png

To fix this issue, I added index on my running wordpress and returns 0.00sec.

I'll attach the patch for create table file.
",matsubobo
Consider for Next Major Release (has-patch),19858,Close comments on attached images,,Media,3.2,normal,normal,Future Release,defect (bug),new,has-patch,2012-01-19T16:03:03Z,2012-08-01T12:46:32Z,"In posts, for gallery images and individual images which open in an attachment page when clicked, the image attachment page does not close comments after the designated xx days as the original post does. 

This creates a pile of spam to manage for users that rely on closed comments after xx days and post lots of images.

You can replicate the problem with these steps:
1) In Discussion Settings: set comments to close after 1 day. 'Automatically close comments on articles older than 1 days'

2)Create a post with publish date 2 days ago. Insert an image or gallery which opens in in an attachment page, not just as the image file.

3) The post will have comments closed.

4) The image attachment page will still have comments open.


Here's a test post of mine. Notice the comments closed on the post but still open for the images.
http://hackhappy.wordpress.com/2012/01/17/image-attachment-comment-test/

Bottom Line: Comments should also close after xx days for image attachments, just as the post does. Users reasonably expect this.

Check the post type for image attachment page. It may be marked as a regular page as pages are not controlled by this setting. 

",dohman
Needs Milestone,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
Needs Milestone,21452,When uploading media wp_unique_filename() treats capitalisation as being different.,,Filesystem,3.4.1,normal,normal,Awaiting Review,defect (bug),new,,2012-08-02T13:24:11Z,2012-08-02T13:24:11Z,"On most web servers ""Photo.jpg"" and ""photo.jpg"" can be treated as different files.

The problem is when backing up a local copy (to my Mac) it will not let both these files exist at the same time - it wants to replace one with the other as it treats lowercase and uppercase as the same.

I suggest that we should do the same with uploads so that if ""Photo.jpg"" exisits and you upload ""photo.jpg"" is is renamed to a unique name.

I guess this would require a fix in the wp_unique_filename() function.",husobj
Needs Milestone,21453,Appending hyphen before numbers when creating a create unique filename in wp_unique_filename(),,Filesystem,3.4.1,normal,normal,Awaiting Review,enhancement,new,,2012-08-02T13:32:00Z,2012-08-02T13:32:00Z,"When WordPress appends a number to a file to create a unique filename, it just adds a number to the file.
ie If ""photo.jpg"" exists then ""photo1.jpg"" is created

I suggest that it should include a hyphen so the file would be called ""photo-1.jpg""

The main reason is that if you upload files ending in numbers then then the new filename is less easy to read.
ie If ""photo234.jpg"" exists then ""photo2341.jpg"" is created

Would be nicer if it produced ""photo234-1.jpg""

It's only cosmetic but it does make it easier to search for images in the uploads folder if you need to for any reason, especially if you have uploaded a load of images from a camera DSC123.jpg, DSC124.jpg etc",husobj
Needs Milestone,21448,unfiltered HTML comments from a frame js fix breaks js in windowed comments,,Comments,3.4.1,normal,normal,Awaiting Review,defect (bug),new,has-patch,2012-08-01T21:58:53Z,2012-08-02T17:56:36Z,"Noticed this today.

We have comments loading up in a jquery colorbox on a site being developed and it loads the comment form via ajax.  When it's loaded, the fix in #20812 breaks javascript because the property ""name"" is null.

Attaching a patch after posting this for only executing when `document.getElementById(""_wp_unfiltered_html_comment_disabled"")` != null.",nerrad
Consider for Next Major Release (has-patch),13841,Some HTTP Transports do not respect transfer timeouts,,HTTP,3.0,normal,normal,Future Release,defect (bug),new,has-patch,2010-06-11T04:48:30Z,2012-08-03T01:30:39Z,"While doing some testing I found that fopen, fsockopen and streams do not respect transfer timeouts.

Out fopen transport cannot support a transfer timeout properly because we do not pass the 3rd optional parameter to fopen for stream context.  We don't do this on purpose because the 3rd parameter was not added until php 5, and that is partially what the streams transport is designed to cover.  So in short, unless we want to conditionally use the streams context here for php versions > 5, we cannot reliably use transfer timeouts.

The streams timeout was missing the context for timeout, which does support ""microtime"".  However, unsure at this point why, but the timeout needs to be divided by 2, so that the timeout happens requested timeout.

With fsockopen, we need to actually test for the timeout during the while loop, because the stream_set_timeout applies to each pass of fread and not the total process.",sivel
Needs Milestone,21460,The accesskeys in Quicktags don't work in all browsers,,Editor,,normal,normal,Awaiting Review,defect (bug),new,,2012-08-03T19:21:56Z,2012-08-03T22:01:43Z,"IE (Alt+letter) works properly. Firefox (Alt+Shift+letter) only focuses the corresponding Quicktags button sometimes. Doesn't perform the action. If the button is hidden, performs the action (this shouldn't happen in Quicktags). Chrome doesn't seem to do anything. Opera works differently: Shift+Esc brings a list of all defined access keys on that page. The Quicktags access keys are not listed there.

",azaozz
Consider for Next Major Release (has-patch),15644,"When deleting a user, corresponding comment user IDs aren't reset",,Comments,,lowest,minor,Future Release,defect (bug),new,dev-feedback,2010-12-02T11:19:18Z,2012-08-04T09:55:22Z,"Delete a user with a comment.

The user ID stays.

Potential for clashes later.

We should run this: `$wpdb->update( $wpdb->comments, array( 'user_id' => 0 ), array( 'user_id' => $user_id ) );` in wp_delete_user.

Alternative is to do a full query then manually run wp_insert_comment() on each, so all hooks get fired, which is fine too and is more in line with what we do elsewhere.",nacin
Needs Milestone,21470,Wrong menu when no menu is set,,Menus,3.4.1,normal,normal,Awaiting Review,defect (bug),new,,2012-08-05T13:27:13Z,2012-08-05T13:59:30Z,"In the case if the admin hasn't created any menu in the dashboard (and so the default menu is shown), some parameters of wp_nav_menu() don't work. I verified that 'container'=>false does not work. Other parameters may no work as well.",porton
Consider for Next Major Release (has-patch),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
Needs Milestone,21472,Allow supplying a custom text to status_header(),,General,,normal,minor,Awaiting Review,enhancement,new,has-patch,2012-08-05T20:19:54Z,2012-08-05T20:19:54Z,"Problem: I'd like to issue a HTTP 500 error, but include a text different from Internal Server Error, so that the client knows what caused the error.

Currently for a known error code the {{{status_header()}}} function always uses the global array {{{$wp_header_to_desc}}} and the only way to have my own text is to set the value in the global array.

The patch adds a second a argument to {{{status_header()}}}.",nbachiyski
Needs Milestone,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
Needs Milestone,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
Needs Milestone,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
Consider for Next Major Release (has-patch),11725,Add start and count attributes to gallery shortcode,,Gallery,2.9.1,normal,normal,Future Release,feature request,new,has-patch,2010-01-05T15:00:27Z,2012-08-05T22:58:23Z,"Add shotcodes COUNT for views full gallery after click on MORE. Home

Modify files ./wp-includes/media.php
Lines 699 (add COUNT => '-1')
Lines 767-798 (add ForEach ... )

Use in WP:

[gallery] ... show standard gallery

OR

[gallery count=3] ... show images 1-3
- more -
[gallery count=3+] ... show images 4-n",frymi
Needs Milestone,21168,Add ability to remove a parent theme's page templates,,General,,normal,normal,Awaiting Review,enhancement,new,,2012-07-05T19:32:31Z,2012-08-05T23:54:15Z,"When building a website using a child theme, I'll often want to remove page templates that the parent theme provides but aren't useful/relevant to the specific site I'm building. 

You can create a page template with the same name to override the parent theme's, but you can't simply remove it.

This could be a use case of #13265, or we could add function that leverages #13265",billerickson
Needs Milestone,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
Needs Milestone,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
Consider for Next Major Release (has-patch),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
Needs Milestone,21492,Theme customizer > Static front page: missing error message when front page and posts pages are similar,,Appearance,,normal,normal,Awaiting Review,defect (bug),new,,2012-08-06T00:15:25Z,2012-08-06T01:11:40Z,"Steps to reproduce:

1. Activate Twenty Eleven
2. Open the Customizer
3. In ""Static Front page"", choose the same page as your front page and Posts page:
  * You do not receive any warning 
  * http://i.wpne.ws/IYAO
  * In Reading Settings, you do actually receive a warning: http://i.wpne.ws/IY2S (see http://core.trac.wordpress.org/browser/trunk/wp-admin/options-reading.php#L99 )

Would it be possible to display the same warning in the Customizer, to avoid any confusion for the users?

Related: #19627 and #16379",hd-J
Needs Milestone,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
Needs Milestone,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
Needs Milestone,21428,Bad mail subject encoding on new blog notification,,Multisite,3.4.1,normal,normal,Awaiting Review,defect (bug),new,reporter-feedback,2012-07-31T14:02:59Z,2012-08-07T11:43:45Z,"Email subject is in Russian language. When trying to add new blog using page http://mysite.com/wp-admin/network/site-new.php, user gets email where subject is like - '''=??B??='''. So I was trying to find where this bug appears. And I think, I found it. 

Script tries to send notification using function '''wpmu_welcome_notification''' on line http://core.trac.wordpress.org/browser/tags/3.4.1/wp-includes/ms-functions.php#L1250. But '''get_option('blog_charset')''' returns empty string, so header is bad-generated and encoded...",TheSteelRat
Needs Milestone,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
Consider for Next Major Release (has-patch),14273,maybe_create_table cleanup,pento,Database,3.0,normal,normal,Future Release,enhancement,assigned,has-patch,2010-07-11T13:08:09Z,2012-08-08T07:47:23Z,"Cleaned up maybe_create_table() - no more iterations.
Cheers. Dragoonis aka Dr4g(irc).",dragoonis
Consider for Next Major Release (has-patch),11717,Access to automatic database repair/optimize with admin rights,ryan,Database,2.9.1,normal,normal,Future Release,enhancement,new,dev-feedback,2010-01-05T07:35:10Z,2012-08-08T08:52:02Z,"Hi,

I read somewhere that the reason for using a constant as enabler for the automatic repairing/optimizing database functionality was, that some people are not able to access their back-end in case certain tables are broken.

Anyway, as db optimization (and not only repairing) is also included in ''/wp-admin/maint/repair.php'', it would be helpful, if we could avoid setting the constant and in addition grant users with the admin role the right to access the functionality.

I've added the necessary two lines and attached a patch to this ticket. - Hopefully this will make it into core, because it would really ease access and increase usability.

My Best,
Berny",neoxx
Needs Milestone,21446,plugins using curl with IPV6 enabled servers,,HTTP,3.4.1,normal,normal,Awaiting Review,enhancement,new,close,2012-08-01T21:46:28Z,2012-08-09T10:41:24Z,"
plugins using curl give problems on servers having both IPV4 and IPV6 network interfaces running. Basically the performance is poor because curl is timing out on the IPv6 address..  The workaround is:

add line:
curl_setopt( $handle, CURLOPT_IPRESOLVE, CURL_IPRESOLVE_V4);
in ../wp-includes/class-http.php

Why not have this set as default?
",mippie32
Needs Milestone,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
Needs Milestone,18944,wrong url in sortable column headers when behind a reverse proxy,,General,3.2.1,normal,normal,Awaiting Review,defect (bug),new,reporter-feedback,2011-10-14T11:50:57Z,2012-08-09T18:33:29Z,"Hi, I have a wordpress site behind a reverse proxy. All works fine but for the urls used in the headers of sortable columns.

For instance, the links of ""Title"", ""Author"", etc. of the table of posts in wp-admin/edit.php --> Posts report something like ""http://backend/backend-dir/..."" while they should be ""http://frontend/frontend-dir/..."".

I don't think this is a proxy configuration problem because, AFAICS, the rest of the site is working: I can make posts, pages, media, install themes and plugins.

I tried to play with $current_url al line 649 of
wp-admin/includes/class-wp-list-table.php 
but with no luck.

I suppose that pagination may have the same problem.

",gamboz
Consider for Next Major Release (has-patch),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
Needs Milestone,16858,Usage of HTTP_HOST in the administration,,Administration,3.1,normal,normal,Awaiting Review,defect (bug),reopened,reporter-feedback,2011-03-15T13:33:47Z,2012-08-09T18:46:29Z,"In some files like wp-admin/includes/class-wp-list-table.php (there are more files I think), some links are created by using the HTTP_HOST variable.

It's better to use the defined wordpress URL to create those links.

In our case, we have a wordpress running behind a Squid cache. When you check for HTTP_HOST you get the *real* HOST and not the one with the Squid server.

To bypass the problem, I added in the main config.php a line like this :

{{{
$_SERVER['HTTP_HOST'] = 'www.my-visible-http-host.com';
}}}

Without this setting and in our case, some links in the admin (next, previous page, re-ordering...) where pointing to the wrong server.
",amirhabibi
Needs Milestone,17168,redirect loop when accessing wp-admin/network/,,Multisite,3.1.1,normal,normal,Awaiting Review,defect (bug),reopened,has-patch,2011-04-18T17:59:55Z,2012-08-10T06:31:44Z,"As of 3.1.1 administrators are getting redirect loops when accessing wp-admin/network/. I run a multi-site multi-domain network and we've noticed that this bug is effecting new and old sites. One super admin reported clicking Update Network put's it in a redirect loop as well.

For new sites if this bug occurs the quick solution is to delete / recreate. I checked _options siteurl, _blogs blog_id domain, and _sitemeta siteurl. Nothing out of the ordinary in the db.",chaos1
Needs Milestone,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
Needs Milestone,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
Needs Milestone,21539,category_description filter not applied to Description field on Categories page,,Administration,3.4.1,normal,minor,Awaiting Review,enhancement,new,has-patch,2012-08-10T13:53:03Z,2012-08-12T17:31:42Z,"The category_description filter is not applied to the Description field on the Posts > Categories page (wp-admin/edit-tags.php?taxonomy=category).

Need: I use very long category descriptions, which are displayed on the front end of the site. This means that the Posts > Categories page is blown out by the long descriptions. I wrote a plugin to filter the category_description to limit it's length in the admin area. However, I then discovered that the filter is not applied on this page.

I'm wondering if there is some reason this was left out by design, but I can't see any reason why the filter should not be applied at this point. If I've missed something, please let me know.

It is easy to fix - simply apply the category_description filter to the description field in column_description() in wp-admin/includes/class-wp-terms-list-table.php

I have applied this on my local install. Now I just need to work out how to create a patch and submit it for review (this is my first attempt).

Note: It may be sensible to limit the length of the category description displayed on this page, but that's outside the scope of this ticket, which is just about the filter not being applied.",StephenCronin
Needs Milestone,21547,Enable 'delocalization' of scripts,,General,,normal,normal,Awaiting Review,enhancement,new,has-patch,2012-08-11T04:04:27Z,2012-08-12T20:19:51Z,"I created a patch to enable developers to 'delocalize' a script they added. Currently if somebody localizes a script with wp_localize_script() there's no going back.

Can someone look at it and offer feedback? I'm not a regular WordPress contributor, so there may be stylistic issues.",gkb6891
Consider for Next Major Release (has-patch),12084,allow preserving HTML in the_excerpt (specify allowed tags for strip_tags in wp_trim_excerpt),,Formatting,3.0,normal,minor,Future Release,enhancement,new,has-patch,2010-01-29T22:36:40Z,2012-08-13T12:48:48Z,"Right now, `wp_trim_excerpt` is destructive. You can filter it, but once tags are stripped, you can't get them back without recreating the excerpt from the raw input. It would be nice if theme developers had an option to preserve at least some of the HTML formatting when using excerpts as post teasers (see #9260). ",sillybean
Needs Milestone,20006,get_comments (and WP_Comment_Query) does not accept multiple post_type,,Comments,3.3.1,normal,normal,Awaiting Review,defect (bug),new,has-patch,2012-02-10T05:46:52Z,2012-08-14T08:34:53Z,"Although get_comments was recently improved to support post_types, it does not seem to properly handle MULTIPLE post_types.

Suppose you need to get the most recent comments for posts, pages, and attachments (attachments don't seem to be included by default).  The following doesn't work, as it only returns comments on attachments (or whichever status is listed first):
 {{{
get_comments(array('number'=>20, 'status'=>'approve', 'post_type'=>array('attachment','post','page')));
}}}

The following doesn't work either, only returning the default post/page comments (taken from the example for multiple category handling at http://codex.wordpress.org/Class_Reference/WP_Query):
 {{{
get_comments(array('number'=>20, 'status'=>'approve', 'post_type__in'=>array('attachment','post','page')));
}}}

A quick look at wp-includes/comment.php, line 327 (WP v3.3.1) shows that the 2nd option will be array_filter'ed away.  Immediately below, all of the WHERE clauses are hardcoded as ""="", which is why there's no way to specify more than one.  As a result, it seems like the only way to get recent comments on posts,pages,and attachments (or any other subset of >1 post_type) is to do multiple calls to get_comments (i.e. one with default params and one for attachments) then merge the results together...effectively requiring twice the work.",Justin_K
Needs Milestone,19623,"Use Comment API in comments_template, rather than hardcoded SQL",,Comments,3.3,normal,normal,Awaiting Review,enhancement,new,has-patch,2011-12-20T18:07:44Z,2012-08-14T08:36:00Z,"Currently the function {{{comments_template}}} uses hard-coded SQL queries, rather than {{{WP_Comment_Query}}} or {{{get_comments}}}. There's a note above the queries saying [http://core.trac.wordpress.org/browser/tags/3.3/wp-includes/comment-template.php#L888 /** @todo Use API instead of SELECTs. */].

To replace the queries using the API, the {{{WP_Comment_Query}}} class will need to be extended to allow querying for comments which are '''either''' approved '''or''' unapproved ({{{hold}}} status) but by a particular comment author email and comment author name ''or'' by a particular {{{user_id}}} to replace these two queries:

* {{{SELECT * FROM $wpdb->comments WHERE comment_post_ID = %d AND (comment_approved = '1' OR ( user_id = %d AND comment_approved = '0' ) )  ORDER BY comment_date_gmt}}}
* {{{SELECT * FROM $wpdb->comments WHERE comment_post_ID = %d AND ( comment_approved = '1' OR ( comment_author = %s AND comment_author_email = %s AND comment_approved = '0' ) ) ORDER BY comment_date_gmt}}}

If we change to use the API, there's also an opportunity to add a filter for the args, which would be lovely for plugin developers. :)",simonwheatley
Needs Milestone,21581,Add orderby meta_value to WP_User_Query,,General,,normal,normal,Awaiting Review,defect (bug),new,dev-feedback,2012-08-14T21:24:05Z,2012-08-14T21:40:10Z,"For some reason, we cannot easily order the WP_User_Query() by last_name without directly editing the SQL statements. However, there is an easy way to add this that would work parallel to WP_Query().

{{{
// prepare arguments
$args  = array(
	'orderby' => 'meta_value',
	'meta_key' => 'last_name',
);
$user_query = new WP_User_Query( $args );
}}}",wpsmith
Needs Milestone,21603,Add a delete button to individual menu items,,Menus,3.4.1,normal,normal,Awaiting Review,enhancement,new,,2012-08-15T21:45:29Z,2012-08-15T21:45:29Z,"When working with a menu in the Admin, if you need to delete a lot of entries it's really slow because you have to expand each entry, then click delete, then wait for the refresh to do it all over again. If we had an X next to the down arrow for each menu item, it would be much faster/easier to delete them.

Thanks!",wphound
Needs Milestone,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
Needs Milestone,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
Needs Milestone,21613,"format_to_edit runs esc_textarea if $richedit param is set to false, not true",,General,,normal,minor,Awaiting Review,defect (bug),new,has-patch,2012-08-16T19:59:20Z,2012-08-17T15:35:26Z,"Currently, the docs on format_to_edit() indicate that it runs the content through esc_textarea (which in turn runs htmlspecialchars() ) if the $richedit param is set to true. The code, however, runs the filter if the param is not set (or passed as false, see line 1270). 

{{{
#!php
1255 /**
1256  * Acts on text which is about to be edited.
1257  *
1258  * The $content is run through esc_textarea(), which uses htmlspecialchars(
1259  * to convert special characters to HTML entities. If $richedit is set to t
1260  * it is simply a holder for the 'format_to_edit' filter.
1261  *
1262  * @since 0.71
1263  *
1264  * @param string $content The text about to be edited.
1265  * @param bool $richedit Whether the $content should not pass through htmls
1266  * @return string The text after the filter (and possibly htmlspecialchars(
1267  */
1268 function format_to_edit( $content, $richedit = false ) {
1269   $content = apply_filters( 'format_to_edit', $content );
1270   if ( ! $richedit )
1271     $content = esc_textarea( $content );
1272   return $content;
1273 }
1274 
}}}

My thought is the if statement should evaluate whether $richedit is true, rather than false, and therefore apply the esc_textarea function only when explicitly passed as a param. This would, however, result in unexpected behavior for anyone currently passing only the default $content param and getting sanitized output.",vhauri
Needs Milestone,21237,"Terminology for ""Front"" and ""Home""",,General,,normal,normal,Awaiting Review,defect (bug),new,,2012-07-12T13:59:40Z,2012-08-17T19:25:29Z,"The following related tickets all have discussions concerning the Terminology for ""Front Page"" and ""Home Page"" is some way.

#16379 - Better UI for doing ""Page on Front"" [[BR]]
(UI effected by the terminology)

#10158 - Deprecate is_home() and is_single(), in favor of is_blog() and is_post() [[BR]]
(Conditional Tags effected by the terminology)

#18705 - home_url() and is_home() with a static front page [[BR]]
(URL function effected by the terminology)

Additionally, Template files are effected by the terminology (home.php and front-page.php)

This ticket is intended to discuss the best options that address the above terminology concerns for the sake of consistency and usability. If a determination is made here, hopefully we can use the terminology to inform the above tickets.",WraithKenny
Needs Milestone,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
Needs Milestone,21631,HTML encoded characters in the custom menu's URL html are decoded after first save and removed after second save,,Menus,3.4.1,normal,normal,Awaiting Review,defect (bug),new,,2012-08-19T15:27:20Z,2012-08-19T15:49:04Z,"Special characters in the custom menu's URL get double html encoded after second save.

Having an array in the URL that is using square brackets (site.com/key[value]), the links break after the second save of that menu item because the & in the &amp; gets double html encoded.",rocketwood
Needs Milestone,9775,Duplicate comment check is too strict,,Comments,2.7.1,normal,normal,Awaiting Review,enhancement,reopened,,2009-05-09T21:27:38Z,2012-08-19T23:33:35Z,"The duplicate comment detection mechanism doesn't allow duplicate comments on the same post, even from the post author. That's not good.

The duplicate comment check should only block the new comment if there is no other comment posted between the new comment and the old comment.",scribu
Needs Milestone,21546,Site Settings page is a hot mess,,Multisite,3.0,normal,normal,Awaiting Review,enhancement,new,has-patch,2012-08-10T21:44:07Z,2012-08-20T16:50:59Z,"I found out just how bad this page is when debugging an issue related to {{{WPLANG}}}. {{{WPLANG}}} is an option for a blog in your network (overrides {{{WPLANG}}} in {{{wp-config.php}}}), but if you delete the option on purpose or accidentally, there is no way of restoring it in the admin.

Site Settings just loads your options table and POSTs back to itself. The only reference to the original options map (the defaults) is in schema, which WP has zero access to outside of upgrade.

I have abstracted the default options and the default ""fat"" options into functions in {{{ms.php}}}. Also, when loading your Site Settings options - if a default option is missing, I display it in the admin so you can save it (it is populated with its default value).

I have also streamlined and condensed some code that was happening in and around {{{populate_options()}}}",wonderboymusic
Needs Milestone,21641,Filter on pending/draft array in wp_insert_post(),,General,,normal,normal,Awaiting Review,enhancement,new,,2012-08-20T16:53:56Z,2012-08-20T16:53:56Z,"Hi

In wp_insert_post() function, there is no possibility to add a status to the list of status for which postname can be set to empty (no filter). Thus, to have the 'pending' like behaviour for a custom status it seems you have to update the postname to '' and the gmt to 000-00 after the insert, as you have to hack the permalink construction too.

In the same way, it would be nice to add the $post parameter to the filter 'display_post_states' in the '_post_states($post)' function (wp-admin/includes/template.php), in order to add easily a post state according to a custom status of the post (seems better as retrieving the global $post of the admin loop).

Hope these are real issues. Sorry if not.

Regards
",villagora
Needs Milestone,21642,language_attributes() print WP lang instead content lang.,,General,2.1,normal,normal,Awaiting Review,enhancement,new,dev-feedback,2012-08-20T18:15:37Z,2012-08-20T20:46:33Z,"If you have WordPress in a language does not mean that the content has to be in that language. It would be good if there was an option to select it.

Another detail is for example: If we have the translation ""'''Spanish - Spain'''"", ""'''es-ES'''"", WordPress print ""'''es-e'''s"" instead of ""'''es'''"" simply.
This would be good because it is the only translation into Spanish.",shadowhck
Needs Milestone,20847,"Documentation references to ""digits"" should be ""characters""",,Inline Docs,,normal,trivial,Awaiting Review,defect (bug),new,has-patch,2012-06-05T14:49:08Z,2012-08-20T21:14:53Z,"Some documentation references to digits should really be called characters, since they refer to parts of a hexadecimal number, and therefore not strictly 0-9 only.",GaryJ
Needs Milestone,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
Needs Milestone,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
Needs Milestone,21649,_WP_Editor class is currently marked as final,,Editor,,normal,normal,Awaiting Review,enhancement,new,,2012-08-21T13:13:08Z,2012-08-21T17:16:30Z,"Revision [19420] turned

{{{
class _WP_Editors{}
}}}

from wp-includes/class-wp-editor.php into 

{{{
final class _WP_Editors{}
}}}

I'm aware that editor API is currently under large changes but it would be great if plugins could extend _WP_Editors class by removing ""final"" keyword.",Marko-M
Needs Milestone,21658,Meaningless adjacent post links for pages,,General,3.4.1,normal,normal,Awaiting Review,defect (bug),new,,2012-08-22T12:34:26Z,2012-08-22T12:34:26Z,"In WP 3.3 we removed a number of obsolete <link> elements from the page header leaving just those with rel=""next"" and rel=""prev"" generated by function adjacent_post_rel_link_wp_head() in file wp-includes/link-template.php [see #18128].

This change brings the function of these links into sharper relief and raises several concerns. Presently, they are generated only for singular pages/posts that are not attachments.

Such links make some kind of sense for ordinary posts, because these can be considered to be part of an ordered collection where the next/previous relationship is meaningful. It may also make sense for custom post types, depending on the use to which they are being put.

For pages, however the links generated refer to the next/previous pages as they happen to be stored in the WP database and these are unlikely to have any meaningful relation to the originating page.

Others have reported performance and other problems with browsers such as Firefox that use these links to prefetch content [see #12603, #14382 and #19018].

You can see their point! If I'm viewing page ""about"" what are the chances that I will next want to view the page ""contact"" just because this happens to have the next sequential ID in the WordPress database?

At the very least, I believe that these links should not be generated for pages.  Better still would be to follow Google's advice [see #18672] and use these just for paginated content (i.e. individual posts/pages [with <!--nextpage-->] or archives [including blog home]). Some potential patch code is available against #18660 which raised a similar issue. Links between adjacent posts can be left to the usual navigation elements within the page body.",mdgl
Needs Milestone,21659,wp_mail() problem with Reply-To header,,General,3.4.1,normal,normal,Awaiting Review,defect (bug),new,,2012-08-22T14:43:43Z,2012-08-22T14:43:43Z,"I am using in email headers also Reply-To:

{{{
$headers .= ""Reply-To: \""$name\"" <$email>\r\n"";
}}}

But there is a problem when name contains special non-English characters.

Example (from email headers):

Name: Žlutý kůň

{{{
Reply-To: =?UTF-8?Q? ""=C5=BDlut=C3=BD_k=C5=AF=C5=88"" _ <my@email.com>,
  ?=@example.com
}}}

I think that it is somehow related to wp_mail() function, because I also tried to use SMTP plugin and it worked well:

{{{
Reply-To: =?UTF-8?Q?""=C5=BDlut=C3=BD_k=C5=AF=C5=88""_<my@email.com>?=
}}}

Also when I use simply mail() instead of wp_mail() then everything works well. Problem can be seen only for Reply-To header, all others work well (for example From).

I am using WP 3.4.1.",pavelevap
Needs Milestone,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
Needs Milestone,19984,Issue with Default Post Format,,Blog by Email,3.3.1,normal,major,Awaiting Review,enhancement,new,has-patch,2012-02-07T20:29:41Z,2012-08-24T01:34:27Z,"I set my Default Post Format as Aside. So I expect all my posts via email will appear as Aside, same as Default Post Category does perfectly while post via email. But it is always posting as Standard whenever I post by email. Kindly fix this. Wordpress is Awesome :)",binarymag
Needs Milestone,21055,Interface for wpdb compatibility,,Database,,normal,normal,Awaiting Review,feature request,new,,2012-06-23T17:30:13Z,2012-08-24T01:40:01Z,"==Summary==

From the wp-includes/wp-db.php file:
{{{
It is possible to replace this class with your own
by setting the $wpdb global variable in wp-content/db.php
file to your class. The wpdb class will still be included,
so you can extend it or simply use your own.
}}}

When one implements a db class that does not extend wpdb, it would be safer that the new class implements an interface. This interface may be called wpdb_compat and would assure that the class has all necessary methods/properties. Of course, wpdb_compat should be supported by wpdb too.

== Design Strategies ==

My patch adds:
* wp-includes/interfaces/wpdb-compat.php

Very small edits to:
* wp-includes/wp-db.php
* wp-includes/load.php
* wp-admin/install.php

At the moment, WordPress does not include any interface; this means that there is not a directory for interfaces.[[BR]]
In my first draft, I put it in wp-includes/interfaces so that - if more interfaces will be added in the future - they will have a logical place.
",santec
Needs Milestone,20905,Allow rewrite endpoints to specify a different query variable name,,Permalinks,,normal,normal,Awaiting Review,enhancement,new,has-patch,2012-06-11T13:53:40Z,2012-08-24T07:02:34Z,"Using `add_rewrite_endpoint()` we can add an endpoint such as `/foo/bar/` which maps to `foo=bar`. I'd like to be able to map an endpoint to a query variable of a different name. Currently the query variable name always matches the endpoint name.

Example: I'd like to use `/p/{number}` as a nice short endpoint for some custom functionality, but the 'p' query variable is used by core. I'd like to be able to map `/p/3/` to `my_query_var=3`.",johnbillion
Needs Milestone,21679,media_handle_upload does not provide a way to change the file's name,,Media,2.5,normal,normal,Awaiting Review,defect (bug),new,dev-feedback,2012-08-24T04:00:30Z,2012-08-24T10:33:06Z,"`wp-admin/includes/media.php` has two operations that I believe should be reversed. Basically, `$name` is set based on the name of the raw uploaded file ( `$_FILES[$file_id]['name']`), however in the `wp_handle_upload` function you are able to use `wp_handle_upload_prefilter` to adjust the file's name - but when after the `wp_handle_upload` returns the changes will not show up in the title of the media dialog field even though the file has been renamed properly:

{{{
	$name = $_FILES[$file_id]['name'];
	$file = wp_handle_upload($_FILES[$file_id], $overrides, $time);

	if ( isset($file['error']) )
		return new WP_Error( 'upload_error', $file['error'] );

	$name_parts = pathinfo($name);
	$name = trim( substr( $name, 0, -(1 + strlen($name_parts['extension'])) ) );
}}}


In short, uploading a file named Picture.png and changing the name to test3.png using the `wp_handle_upload_prefilter` filter does in fact allow the file's name to be changed before it is saved, but the ""title"" is then incorrectly displayed in the media uploader dialog box.

[[Image(http://img24.imageshack.us/img24/3679/pictureyp.png)]]

This would be relatively easy to fix using this patch:

{{{
--- media.php	2012-08-23 23:57:02.000000000 -0400
+++ media-patch.php	2012-06-06 12:00:08.000000000 -0400
@@ -209,8 +209,8 @@
 			$time = $post->post_date;
 	}
 
+	$name = $_FILES[$file_id]['name'];
 	$file = wp_handle_upload($_FILES[$file_id], $overrides, $time);
-	$name = $file['name'];
 
 	if ( isset($file['error']) )
 		return new WP_Error( 'upload_error', $file['error'] );
}}}",Willshouse
Needs Milestone,21674,"Please add ""plugins"" link under ""my sites > network admin"" in toolbar",,Multisite,3.4.1,normal,normal,Awaiting Review,feature request,new,has-patch,2012-08-23T19:13:46Z,2012-08-24T15:43:16Z,This would remove a click and I think a lot of people would enjoy the addition. I know I go to the plugins page more than users or sites combined.,archonic
Needs Milestone,21571,Add support multiple comment types in get_comments,,Comments,,normal,normal,Awaiting Review,enhancement,new,,2012-08-14T00:49:42Z,2012-08-24T19:54:42Z,"Custom comment types are a nice way to categorize comments, however, if you wish to retrieve multiple comment types you cannot use ''get_comments''.  This enhancement request (patch attached) adds support for multiple comment types a la:

{{{
$comments = get_comments( array(
  'post_id' => $post->ID,
  'type' => array(
    'a-sweet-comment-type',
    'some-other-comment-type',
  ),
));
}}}",borkweb
Needs Milestone,21652,wp_update_nav_menu_items returns false instead of WP_Error for non-existent menu items,,Menus,3.4.1,normal,normal,Awaiting Review,defect (bug),new,has-patch,2012-08-21T16:57:45Z,2012-08-25T14:49:33Z,"'''Use case:'''
Calling wp_update_nav_menu_items with a non-existent menu_item_id as the first parameter

'''Expected return value:''' WP_Error object (as per the method's documentation)

'''Actual return value:''' Boolean false

'''Fix:''' wp-includes/nav-menu.php#L279 - This line should check for a false value first, and if `$menu == false`, set it equal to a `new WP_Error` object - then check `is_wp_error($menu)`",mltsy
Needs Milestone,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
Consider for Next Major Release (has-patch),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
Needs Milestone,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
Needs Milestone,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@…
Needs Milestone,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
Needs Milestone,21669,"Make ""Home"" option persistent in Pages box on Menus screen",,Menus,3.4.1,normal,minor,Awaiting Review,defect (bug),new,,2012-08-23T16:57:08Z,2012-08-27T15:09:43Z,"If you have some pages, or even a page, then on nav-menus.php in the Pages box, View All, it will display Home as an option. However, if you do not have any pages at all (mostly Blog on front page scenarios), then it just says ""No items."" in the Pages box. 

It should always be populated with at least the Home option. Oversight on our part that we didn't uncover this behavior before. ",jane
Consider for Next Major Release (has-patch),10984,If content uses the nextpage tag then only the first page is shown in feeds,,Feeds,2.8.4,normal,normal,Future Release,defect (bug),new,dev-feedback,2009-10-20T11:03:11Z,2012-08-27T17:40:40Z,"If content uses the nextpage tag then only the first page is shown in feeds if the ""full text"" option is selected in ""Settings > Reading > Show Full Text (in feed)"". 

No links are displayed to read the full content and no indication is given in the feed that it isn't the full content.

I think the behaviour should be to ignore pagination in feeds which are set to ""full text"".

I have attached a patch which alters the behaviour of the_content() so that if it is used in the context of a feed it concatenates the pages to form the full content and returns that.",simonwheatley
Consider for Next Major Release (has-patch),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
Consider for Next Major Release (has-patch),12799,Allow gallery shortcode to accept a maximum number of items,,Gallery,2.9.2,normal,normal,Future Release,feature request,new,has-patch,2010-04-01T17:55:55Z,2012-08-27T21:59:51Z,"A ""would be nice"" feature of the gallery would be to allow for a maximum number of items to be displayed.

The main use of this feature would be to allow a page to show a ""preview"" of some of the images contained within one or more subpages, eg:

* Some event
[gallery link=""file"" columns=""4"" orderby=""rand"" maximum=""4"" id=""164""]
* Some other event
[gallery link=""file"" columns=""4"" orderby=""rand"" maximum=""4"" id=""200""]

",dtorbert
Needs Milestone,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
Needs Milestone,21714,Enable Intermediate choice in UI if Full Size Image is exact match to Intermediate Image,,General,3.4.1,normal,minor,Awaiting Review,enhancement,new,,2012-08-28T15:56:09Z,2012-08-28T15:56:09Z,"
This is simply a minor usability enhancement for Media Gallery. If an image is uploaded that is exactly the same size as an intermediate image (300x300 = Medium for example) it is not a choice when inserting that image into a post. It would be nice if it was a choice pointing to the full/original image since full is the same size as the intermediate.

It seems to be caused in the image_downsize function in /wp-includes/media.php because image_get_intermediate_size returns false. 

I believe image_downsize can be updated as such to provide this enhancement:

Line 162 (if statement) Currently:
{{{
	if ( !$width && !$height && isset($meta['width'], $meta['height']) ) {
		// any other type: use the real image
		$width = $meta['width'];
		$height = $meta['height'];
	}
}}}

could be updated to read the intermediate width and height and set intermediate to true if it is an exact match to the original image:

{{{
	if ( !$width && !$height && isset($meta['width'], $meta['height']) ) {
		// any other type: use the real image
		$width = $meta['width'];
		$height = $meta['height'];
		// add check for real image being exact match to intermediate image to enable intermediate choice in UI
		if (isset($_wp_additional_image_sizes[$size])) {
			$goal_width = intval($_wp_additional_image_sizes[$size]['width']);
			$goal_height = intval($_wp_additional_image_sizes[$size]['height']);
		} else {
			$goal_width = get_option($size.'_size_w');
			$goal_height = get_option($size.'_size_h');
		}		
		if ($width == $goal_width && $height == $goal_height)
			$is_intermediate = true;
	}

}}}


Thanks for considering, and hope I put this in the right place,
Andrew
",andrewteg
Consider for Next Major Release (has-patch),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
Needs Milestone,21554,Problem with determining e-mail charset in wp-mail.php,lizhenry,Blog by Email,3.4.1,normal,normal,Awaiting Review,defect (bug),assigned,dev-feedback,2012-08-12T11:06:52Z,2012-08-29T13:58:26Z,"In wp-mail.php the charset of the incoming e-mail message is determined on line 77 by taking the string between the second ""="" in the line and the end of line/second "";"" respectively.

'''The problem'''

If the header line in question looks like any of the following that method is perfectly fine:

{{{
Content-Type: text/plain; charset=UTF-8; format=flowed; delsp=yes
Content-Type: multipart/alternative;
}}}

However in messages sent from e.g. Gmail or Goolge Reader this header line usually looks like this:

{{{
Content-Type: multipart/alternative; boundary=f46d044516dd9cd71f04c70e55e8
}}}

I this case ""f46d044516dd9cd71f04c70e55e8"" is determined as the charset and the iconv function further down on line 187 returns false which causes the post content to be emptied.

'''Suggested solution'''

I personally think that it is better to have the post published with an ""incorrect"" charset than with no content at all. 

Therefore I suggest that on line 76 in wp-mail.php...

{{{
if ( ! empty( $content_type[1] ) ) {
}}}

...is replaced by...

{{{
if ( ! empty( $content_type[1] ) && stripos( $content_type[1], 'charset' ) !== FALSE ) {
}}}

...in order to check if there is actually a charset definded.

Alternatively/additionally the return value of the iconv function on line 187 should be checked and the $content variable only modified if the return value doesn't equal FALSE.",mighty_mt
Consider for Next Major Release (has-patch),15706,Allow wildcarded domains in multisite limited email domains,westi,Multisite,,normal,normal,Future Release,enhancement,reviewing,dev-feedback,2010-12-06T18:59:24Z,2012-08-29T16:45:39Z,"Here at blogs.law.harvard.edu, we want to allow all harvard.edu subdomains to create blogs in our multisite install. There are hundreds of domains and it would be difficult to get a complete list because of the complexity of our DNS infrastructure.

I propose allowing the inclusion of a single prefix wildcard character in the limited email domains feature. If a limited email domain contains a ""*"", we would create a regex and match that specific entry via a wildcard. So ""*.harvard.edu"" would match ""cyber.law.harvard.edu"", ""fas.harvard.edu"", etc. To match the root TLD, you'd just manually enter ""harvard.edu"".

We have a variant of this applied as a core hack to our wordpress install at http://blogs.law.harvard.edu and it's been working fine for years. I will package it up as a patch if there's interest. Thoughts?

I don't think it'd make sense to allow embedded wildcards (dom*ain.org).",djcp
Needs Milestone,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()`.
- Intr