﻿ticket,summary,owner,component,_version,priority,severity,milestone,type,_status,workflow,_created,modified,_description,_reporter
9679,Move Plugin/Theme deletion to new WP_Upgrader class,DD32,Upgrade/Install,2.8,normal,normal,Future Release,enhancement,new,,2009-04-29T08:51:55Z,2009-05-10T21:16:43Z,"Expansion off #7875, The plugin/Theme deletions should be also handled by the Upgrader class.",DD32
7532,Need comment_modified_date_gmt for approvals and edits,,Comments,2.6,low,minor,Future Release,enhancement,new,,2008-08-17T04:45:49Z,2009-06-11T12:39:18Z,"Summary:[[BR]]
Currently there is only one date field for comments, comment_date_gmt. This is insufficient, because it represents only the creation date, not the approval date. The function get_lastcommentmodified can only check comment_date_gmt, which means that it can return an earlier date than the approval date. This can lead to RSS feeds wrongly returned HTTP 304 Not Modified responses. There needs to be comment_modified_date_gmt in addition to comment_date_gmt.

Steps to Reproduce:[[BR]]
(1) First comment is submitted.[[BR]]
(2) First comment is mistakenly marked as spam by Akismet.[[BR]]
(3) Second comment is submitted and posted.[[BR]]
(4) Check comments feed in RSS reader. Second comment appears in feed, first comment does not.[[BR]]
(5) Mark first comment as not spam.[[BR]]
(6) Check comments feed in RSS reader again.

Expected results:[[BR]]
Comments feed returns HTTP 200, because there is a new comment in the feed.

Actual results:[[BR]]
Comments feed returns HTTP 304.

Notes:[[BR]]
The same bug could occur in other circumstances. For example, if a comment was held for moderation.

",lapcat
9978,Sticky Posts are not ordered correctly after selection,ryan,Query,2.8,normal,normal,Future Release,enhancement,new,,2009-05-29T23:14:06Z,2009-06-11T13:28:46Z,"In WP_Query, sticky posts are added/moved to the top of the posts array after everything else is selected and ordered according to the query parameters.

Sticky posts are loaded as a list of post_IDs from the database, according to the order they were marked as sticky.

Sticky posts that were not originally part of the returned posts are queried and added into the collection of sticky posts separately.

None of the handling of sticky posts, or the handling of the entire post array after stickies are added, is date ordered by date/title/whatever was requested.

Stickies need to be loaded/extracted into a separate array, ordered (independently) according to the original query, then added to the top of the post array.",beaulebens
8213,WP text formatting functions handle block-level INS tag incorrectly,markjaquith*,Formatting,2.7,low,minor,Future Release,enhancement,accepted,,2008-11-14T14:51:09Z,2009-06-11T14:26:44Z,"From W3C documentation:

""INS and DEL are used to markup sections of the document that have been inserted or deleted with respect to a different version of a document (e.g., in draft legislation where lawmakers need to view the changes).

These two elements are unusual for HTML in that they may serve as either BLOCK-LEVEL or INLINE elements (but not both). They may contain one or more words within a paragraph or contain one or more block-level elements such as paragraphs, lists and tables.""


----


When I want to use INS tag as BLOCK-LEVEL element (to wrap to paragraphs for example) wrong HTML is produced:


{{{
<p><ins datetime=""2008-11-14T14:45:27+00:00"">First paragraph.</p>
<p>Second paragraph.</ins></p>
}}}

Correct HTML should look like this:

{{{
<ins datetime=""2008-11-14T14:45:27+00:00""><p>First paragraph.</p>
<p>Second paragraph.</p></ins>
}}}

I think the same sitiuation occurs for DEL tag.

",misieg772
9604,Edit screens expire,,Administration,2.8,normal,normal,Future Release,enhancement,new,,2009-04-21T06:35:08Z,2009-06-13T02:02:48Z,"Steps to reproduce:
1) Open an edit post (or page) screen
2) Take your browser offline for 24 hours
3) Put the browser back online
4) Edit the post, type a lengthy, thoughtful, dramatic entry
5) Click save draft / publish as you prefer

Expected result: Your poetic prose is committed to infallible digital memory.

Actual result: You're told ""Your attempt to edit blah has failed."" Press the back button and likely see the previous version of your post. Your latest prose exists now only in your memory.

Technical details: I think the nonce expires, so the post screen becomes invalid after a while.

Proposed solution: Add a javascript timeout to warn the user that the edit screen has expired. Provide a mechanism for the nonce to be updated.",chmac
7859,weighted category cloud and tag cloud instead of lists to choose categories and tags in the backend,,Taxonomy,,normal,minor,Future Release,enhancement,new,,2008-10-09T19:06:12Z,2009-06-13T02:29:49Z,"Hi,

choosing categories is still annoying if you have a couple of them. Scrolling and checking is needed. Tags are simpler to work with, but I think it would be extremely handy to use a category cloud / tag cloud to choose the categories/tags for a post/page. The category/tag cloud could be displayed in the metabox or, preferably, for space reasons, in a thickbox.

I used milestone 2.7 as there is so much admin work going on anyway and I'm not sure if the feature list is already definitive for the release.",youngmicroserf
3567,Synchronize options for functions that display lists,,Template,,normal,normal,Future Release,enhancement,new,,2007-01-12T04:30:50Z,2009-06-13T02:52:05Z,"It would be nice if wp_list_cats, get_archives, wp_list_pages, etc, all had ""format"" and ""before"" and ""after"" options :)",Randy
9719,Please : a filter for $category object in get_the_category_list(),,Template,2.8,normal,minor,Future Release,feature request,reopened,,2009-05-04T09:09:10Z,2009-06-13T02:57:15Z,"To offer for one post more flexibility in how to display the names of categories in the_category() or in get_the_category_list() -file category-template line 166 - , is it possible to add a filter as the filter existing in wp_list_categories() .  Useful to replace cat name by instance by image ''(iphone compatible theme)'' or to add translation in bilingual or multilingual theme ''(by instance with xili-language plugin)'' without re-creating specific function.

As in classes.php (line 1328), I suggest this modif with a filter named post_list_cats for the start of two loops present in get_the_category_list() (line 187 et 209)


{{{
foreach ( $categories as $category ) {
$cat_name = attr( $category->name);
$cat_name = apply_filters( 'post_list_cats', $cat_name, $category );
}}}


and inside the two loops, $category->cat_name replaced by $cat_name


with this filter it will be more coherent to treate cat list in one post or in sidebar for all posts

Many thanks

",michelwppi
5461,Add ability to set description for XML-RPC file uploads,,XML-RPC,2.3.1,normal,normal,Future Release,enhancement,new,,2007-12-12T22:36:17Z,2009-06-13T03:01:40Z,It's been suggested that we provide a way to populate the description field for file uploads.  This is something that we could add to the wp.uploadFile method.,josephscott
3491,"new hooks for pingback, trackback?",markjaquith*,Pings/Trackbacks,,normal,normal,Future Release,enhancement,accepted,,2006-12-21T22:13:25Z,2009-06-13T14:59:54Z,"I'd like to propose two more hooks for Wordpress, one in pingback_ping()
and the other in wp-trackback.php.

background: http://redmonk.net/archives/2006/12/21/voteback/

The first hook would allow plugins to have access to the full text of a
hyperlink on a site that is pinging this site, before the comment is
built for a ping.

The second would allow plugins to have access to the full post data for
a trackback before the comment is built.
",monkinetic
5692,Archives detailed per category,,Template,2.5,normal,normal,Future Release,enhancement,new,,2008-01-20T00:10:22Z,2009-06-13T15:38:50Z,"I've written a small patch which makes possible to have the archives detailed per category, which means the wp_get_archives() accept more values for the show_post_count parameter:


0 as now (the post count is not shown)


1 as now (the '''total''' post count is shown)


2 the post count '''per category''' is shown


3 both 1 & 2 are shown


If you will approve this patch, I'll update the page 
http://codex.wordpress.org/Template_Tags/wp_get_archives",davidedelvento
4004,New filter for page title attribute in wp_list_pages output,ryan,Template,2.1.3,normal,normal,Future Release,enhancement,new,,2007-03-20T22:45:17Z,2009-06-13T15:40:00Z,"While developing a new theme I realised that the default title attribute for wp_list_pages was to just to reuse the title of the page with no option to change it. Not exactly useful...

I therefore propose a new filter on the title attribute to allow a theme/plugin developer the option of changing the text to whatever they like.

The new filter takes the title attribute and the $page variable as well, so that any post/page related information can also be used... for example the post meta.",Dickie
7244,Disable POP auth when APOP fail,,Mail,2.3,normal,normal,Future Release,enhancement,new,reporter-feedback,2008-07-04T23:50:50Z,2009-06-13T17:47:33Z,"If APOP authentication is failed, class-pop3.php tries normal POP auth (USER/PASS).
When a server only accepts APOP authentication, the second process should be fail for sure.
It is nonsence and harmful, because the error message of first process (APOP) is over-written by second try (POP).

To solve the desmiss of APOP fail message, it is neccesary to disable normal POP authentication.
I propose a new class variable $ALLOWLOGIN to decide it.

Additonaly, $ALLOWAPOP is useless because it is no problem to fix it TRUE. (Removing this variable is not included in the patch)",lilyfan
8515,Archive Permalink,ryan,Permalinks,,lowest,trivial,Future Release,enhancement,new,,2008-12-06T22:08:05Z,2009-06-13T18:39:14Z,"Currently in the permalink settings, you can set a category and a tag base. I propose that an archive base also be added. It would be useful in that you could disallow the archive base in robots.txt (much like many do with the tag and category base), but still allow robots to get the posts.

Presently, doing this is a problem, as if you disallow /2008, for example, it will also disallow the robot to access the individual posts.",LuckyBambu
4027,Upgrade function don't do ANY error checking whatsoever,,Upgrade/Install,2.1.2,normal,normal,Future Release,enhancement,new,,2007-03-25T12:58:51Z,2009-06-14T13:43:39Z,"When I upgraded from 2.0.5 to 2.1.2, there was an error in my MySQL privileges, so the ALTER TABLE commands failed:

{{{
    WordPress database error: [ALTER command denied to user 'aasmunds'@'localhost' for table 'wp_categories']
    ALTER TABLE wp_categories ADD COLUMN link_count bigint(20) NOT NULL default '0'

    WordPress database error: [ALTER command denied to user 'aasmunds'@'localhost' for table 'wp_categories']
    ALTER TABLE wp_categories ADD COLUMN posts_private tinyint(1) NOT NULL default '0'

    WordPress database error: [ALTER command denied to user 'aasmunds'@'localhost' for table 'wp_categories']
    ALTER TABLE wp_categories ADD COLUMN links_private tinyint(1) NOT NULL default '0'
}}}

There were also a lot of secondary errors due to the above failed commands. However, the upgrade.php script still claimed that all was well:

{{{
There's actually only one step. So if you see this, you're done. Have fun!
}}}

It would be more helpful if WP would detect the MySQL errors and actually say that something went wrong and must be fixed, instead of saying that all is well even though there were heaps of errors.

This only happens once: If I run the upgrade.php script again, it just says 'all is well' without any errors, so the MySQL commands that would fail are not run again. However, the database is still broken.

It would be better if WP discovered that an upgrade failed, and set a flag somewhere that said 'this upgrade must be run again'.

See also http://wordpress.org/support/topic/111398?replies=2
",skjaeve
4253,Category feeds don't indicate they are category feeds,,Feeds,,normal,normal,Future Release,enhancement,new,,2007-05-13T04:35:10Z,2009-06-14T13:43:40Z,"Okay guys, here is a patch for WordPress that properly titles and describes category RSS/Atom feeds.  I didn't know how to set the URL for the feed to the URL of the category, so what I'm doing is just leaving the bloginfo URL as it is, but I hope you can whip that out from your fabulous hacking heads.

This patch makes sense because of several reasons.  My personal reason is that I'm running a magazine with different sections (using categories as the section) at rudd-o.com, and I'm encouraging subscriptions to the section feeds instead of the whole magazine, but the feeds themselves don't say which category they're from.  Now with this patch they do.

Another thing that I'm not sure about, and I'd like a response in the form of a comment here (I'm tracking this bug via RSS): do I have to htmlspecialchars() before doing the print's ""..."" in this patch?  The question, more properly phrased, is: if I print a get_category_name(), should I print it htmlspecialchar()red, or should I just print it out, and trust that the WordPress category administrator won't let people type random HTML?  Another way of posing the question would be: if I type an ampersand (&amp;) in the category name, what should the theme display, ""&amp;"" or ""&""?  This is keeping me up at night, need some sleep, please help =).

",RuddO
4575,Add functions to return the last-modified timestamp of a category/tag,,Template,2.2.1,normal,normal,Future Release,enhancement,new,,2007-07-02T12:36:26Z,2009-08-07T18:46:45Z,"Hi, 

All categories Last-Modified dates are the same, and thats a one big rss file i guess.
Is there a chance to send individual Last-Modified dates to these feed ?

Thanks",delusions
9460,Add custom_url_func to be run in template-loader.php,mikeschinkel,Permalinks,2.8,normal,normal,Future Release,enhancement,new,,2009-04-04T22:48:30Z,2009-08-19T11:56:57Z,"This is a follow-on from Ticket #9455 where the #9455 attempted to resolve one issue using a shortcut but the shortcut turned out to cause undesirable side effects and also did not address the fact that 404 and noncache headers had already been set.

So this ticket provides a patch that will allow for a custom_url_func to be called at the beginning of template-loader.php. The custom_url_func can be set in a 'parse_query' hook using code that looks like this for the URL ""/foobar/"":


{{{

   add_action('parse_query','my_parse_query');
   function my_parse_query() {
      if ($_SERVER['REQUEST_URI']=='/foobar/')
        set_custom_url_func('my_foobar_func');
   }
   function my_foobar_func() {
      echo 'Hello FooBar!  Bye.';
   }

}}}


Granted, this might not be the best way to accomplish this. For example, using a new filter might be a better way to accomplish this but I was trying not to add additional filter processing overhead assuming that might be a concern. I'm not attached to this particular solution, I just want to be able to get proper control of custom URLs that don't fit any of the existing patterns that have been baked into WordPress core and ideally I don't want it to have to be uber-complex for the plugin or theme developer either.
",mikeschinkel
7845,suggested wp-mail.php improvements,,Mail,,normal,normal,Future Release,enhancement,new,,2008-10-08T04:22:44Z,2009-08-19T12:15:06Z,"wp-mail.php is kind lacking in a bit of well, everything right now.

I don't know when if there are any currently open tickets or any planned improvements, but I just wanted to chip in two cents here. I've had a bit of a nightmare experience after trying to use it with a client. It was a large headache, to say the least. 

For some reason, it's displaying odd characters between words and some odd symbols (notably a mixture of = signs and random numbers) are also showing up. There is no option to strip HTML formatting, so that displays in posts too. It doesn't make use of the pseudo-cron. You have to either manually load wp-mail.php, use a cron, or load a frame onto the front page. Posts sent through the system are instantly approved and there's no option to hold it in the moderation queue. There's pretty much no options at all.

I really wouldn't mind working on this and submitting a patch if someone wanted me to. I was searching through trac and (I could be wrong) but this hasn't been touched since 2006 or earlier.
",anthonycole
5117,WordPress (plugin) updates do not warn about unknown plugins,matt,Upgrade/Install,2.6,normal,normal,Future Release,defect (bug),new,,2007-09-30T11:34:17Z,2009-09-02T20:29:29Z,"The WordPress plugin update system does not notify the user if it could not find updates for a subset of plugins. That is, if the user has installed plugins not hosted with WordPress, they are not notified that new versions were ''not'' actually checked for. This can lead the user to believe that all of their plugins are up-to-date when they are not.

Fixing this will require both the server-side and the client to be updated. The WordPress update API will need to return data on which plugins it does not recognize as being hosted, and the WordPress installation will need to render that information so that the user understands which of his/her plugins are ''not'' automatically checked.",Quandary
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
10850,Make register_setting available on the front-end,ryan,Security,2.8.4,normal,normal,Future Release,feature request,new,,2009-09-25T09:47:09Z,2009-09-25T09:47:09Z,"hi,

since 2.7.0 we have the function {{{ register_setting($option_group, $option_name, $sanitize_callback = '') }}} in ''/wp-admin/plugin.php'' to securely handle handed over $_POST variables in the admin menu.

afaik, besides of the usage of query_vars (which only work for $_GET variables) we have no counterpart to ''register_setting'' on the front-end. imho, we could increase the security and usability of forms and their variables if we would provide a similar functionality in ''wp-includes''.

what do you think?

greetz,
berny",neoxx
4965,Blog by Email: any images and attachments in your email are not being posted inline,westi,Blog by Email,2.3,normal,normal,Future Release,defect (bug),new,,2007-09-12T18:15:29Z,2009-10-11T21:07:33Z,"Blog by Email: any images and attachments in your email are not being posted inline

Remaining issue from #4829.",foolswisdom
5252,base64-encoded post-by-email post garbled.,westi*,Blog by Email,2.3,normal,normal,Future Release,defect (bug),accepted,,2007-10-24T08:58:20Z,2009-10-11T21:07:58Z,"When posting-by-email, my cellphone submits code using ""content-transfer-encoding: base64"". The message appears (output from wp-mail.php) like so:

Author = [my email] <p><p><b>Content-type:</b> text/plain, <b>Content-Transfer-Encoding:</b> base64, <b>boundary:</b> </p>
<p><b>Raw content:</b><br /><pre>SnVzdCB0ZXN0aW5nIHBvc3RpbmcgZnJvbSBteSBjZWxsLiBTdHJ1Y2sgbWUgd2hpbGUgcmVh
ZGluZyAgUmFwaCBLb3N0ZXIncyBwb3N0cyBhYm91dCB0aGUgZmlyZXMgaW4gQ2FsIHRoYXQg
YmVpbmcgYWJsZSB0byBwb3N0IHRvIHlvdXIgYmxvZyBmcm9tIGEgY2VsbHBob25lIGlzIGEg
dXNlZnVsIGZlYXR1cmUuIA==</pre></p>
<p><b>Author:</b> 1</p>
<p><b>Posted title:</b> =?utf-8?B?Q2VsbHBob25lIHBvc3RpbmcgaW4gV1A=?=<br />
<b>Posted content:</b><br /><pre>SnVzdCB0ZXN0aW5nIHBvc3RpbmcgZnJvbSBteSBjZWxsLiBTdHJ1Y2sgbWUgd2hpbGUgcmVh
ZGluZyAgUmFwaCBLb3N0ZXIncyBwb3N0cyBhYm91dCB0aGUgZmlyZXMgaW4gQ2FsIHRoYXQg
YmVpbmcgYWJsZSB0byBwb3N0IHRvIHlvdXIgYmxvZyBmcm9tIGEgY2VsbHBob25lIGlzIGEg
dXNlZnVsIGZlYXR1cmUuIA==</pre></p><p>Mission complete, message <strong>1</strong> deleted.</p>

The provided patch detects base64-encoded content transfers and base64_decodes them. For some reason (I'm no utf8-expert) the TITLE of the post has ""=?utf-8?B?"" prepended to the actual base64 content (see above), which means a check for this string + a cropping is needed or base64_decode will not decode the post title properly.",kallewoof
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
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
10980,DoS in wp-trackbacks,ryan,Security,,normal,normal,Future Release,defect (bug),reopened,,2009-10-19T19:25:17Z,2009-10-21T15:42:30Z,"The exploit: http://codes.zerial.org/php/wp-trackbacks_dos.phps

Execution:

$ while /bin/true; do php test.php http://target.bom/wordpress; done
hit!
hit!
hit!
hit!
hit!
hit!
hit!
hit!
hit!
hit!

Notice: fputs(): send of 8192 bytes failed with errno=11 Resource
temporarily unavailable

down!!

Load average: 22.07, 15.18, 8.58 (on target server)

",gomex
5310,XMLRPC interface should expose mechanism for listing and deleting media resources,josephscott,XML-RPC,2.3.1,normal,normal,Future Release,enhancement,new,,2007-11-02T21:34:24Z,2009-10-25T10:05:07Z,"Right now the XMLRPC interface supports the ""newMediaObject"" mechanism that is part of the MetaWeblog API, but lacks any method for inspecting or otherwise manipulating media objects.

I think to support a richer remote client experience, the XLMRPC interface should support at least a method for listing the media objects that have been previously uploaded (similar to what appears in the ""Browse"" tab of the wp-admin post editor), and for deleting a media asset that is present.

",redsweater
6331,TinyMCE should have a code button,,TinyMCE,2.5,normal,normal,Future Release,enhancement,assigned,,2008-03-21T10:52:42Z,2009-10-25T11:23:00Z,"The html editor has a code button on the quicktags bar but TinyMCE doesn't.

This is the only missing feature from TinyMCE that makes me switch to the HTML view when writing my weekly digest posts.",westi
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
7773,Duplicate enclosure attributes are created when a client resubmits a post with identical enclosure,josephscott,Optimization,2.7,low,minor,Future Release,enhancement,new,,2008-09-21T04:25:07Z,2009-11-17T15:14:49Z,"The support in 2.6 for accepting enclosures via XMLRPC does not discriminate whether the specified enclosure is already attached to the post in question. This has the effect that if a client redundantly re-specifies the enclosure value, WordPress will redundantly add new enclosure custom field entries, each time the post is edited.

The code that accepts <enclosure> elements should only add a new custom field to the post if the enclosure specified is different from the previous enclosure(s). Arguably, for an XMLRPC context, the specified enclosure should always replace the (presumed singular) enclosure on the post.

Right now, the number of redundant enclosure attributes can spiral out of control depending on the number of times a given post is edited by a remote client that re-specifies all the known attributes of a post.

Consider for example, that when resubmitting a post, it's natural and expected to re-specifiy the <title> even if it hasn't changed. This doesn't cause multiple ""title"" attributes to appear on a post. The re-specification of the <enclosure> value shouldn't cause attribute bloat in posts.

Daniel

Daniel

",redsweater
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
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
8755,Should be able to specify page order with wp_list_comments(),,Comments,2.7,normal,major,Future Release,defect (bug),new,,2008-12-30T02:50:53Z,2009-11-17T15:48:45Z,"Passing the parameters ''reverse_top_level'' and ''reverse_children'' into the ''wp_list_comments()'' function only reverses the order of the comments '''on each page''', and not the entire comment list overall. It is therefore impossible to display the newest comments first using this function, when comments are great enough to be paged. At least, not without globally changing the comment order for the entire site using the Discussion settings screen so that the ""last"" page is displayed first.

It should be possible to specify the page order in wp_list_comments() by, for example, passing a page_order parameter with 'asc' or 'desc' available.",marky
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
7857,Live preview of [gallery] inside TinyMCE,,TinyMCE,,normal,normal,Future Release,enhancement,new,,2008-10-09T13:33:01Z,2009-11-18T01:05:22Z,A plugin that would render [gallery] correctly for viewing in the TinyMCE editor.,ShaneF
8470,Large exports break frequently,tott,Export,,normal,normal,Future Release,defect (bug),new,reporter-feedback,2008-12-03T13:51:37Z,2009-11-18T21:21:54Z,"For large wordpress exports frequently the download stops at some point.

This effect seems to be due to bad memory utilization on slow downloads where the content cannot be flushed fast enough to the browser.

Attached patch includes various improvements in content flushing, and for cleaning of variables in order to save some memory.",tott
10676,current-cat-ancestor in wp_list_categories,,General,2.8.5,normal,normal,Future Release,feature request,new,,2009-08-24T14:37:40Z,2009-11-20T06:36:49Z,The wp_list_categories should apply current-cat-ancestor like wp_list_pages not just current-cat-parent to the closest parent,spathon
10055,Media filters are very wrong...,,Media,2.8,normal,normal,Future Release,defect (bug),new,,2009-06-07T01:47:31Z,2009-11-20T07:31:52Z,"e.g.:

{{{
apply_filters($callback, call_user_func($callback));

...

$html = apply_filters('audio_send_to_editor_url', $html, $href, $title);
}}}

so, basically, we get to add fields over on the type_url_form_audio form, but they're not available as filters in the audio_send_to_editor_url filter.",Denis-de-Bernardy
6698,Editing a published post causes excessive pings / closing comments on old posts causes trackbacks,,Pings/Trackbacks,2.8.1,normal,normal,Future Release,defect (bug),assigned,,2008-04-12T15:29:08Z,2009-11-20T15:15:53Z,"I moderate all comments, and I was tired of spam comments on old posts sometimes slipping by Akismet and getting into my moderation queue, so I decided to close comments on a number of old posts. Steps to reproduce: (1) Click the ""Manage"" tab in the admin page for my blog. (2) Click ""Posts"" under ""Manage"". (3) Find a post. (4) Click ""Edit"" for that post. (5) Uncheck ""Allow Comments"" under ""Discussion"". (6) Click ""Save"".

As a result of doing this, I immediately got a number of trackbacks in my moderation queue. The trackbacks were from the posts whose comments I had just closed. The trackbacks were to other posts in my blog that were linked from those posts. Note that when I unchecked ""Allow Comments"", I did not uncheck ""Allow Pings"". I left ""Allow Pings"" checked.

Under ""Options"", ""Discussion"", I currently have ""Attempt to notify any blogs linked to from the article"" checked. However, I believe that at some point in the past, that option was unchecked, so the old posts whose comments I closed may have never attempted to send trackbacks before.

I believe that this is a bug. Simply closing comments for a post should not cause it to send trackbacks.

",lapcat
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
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
5953,Absolute upload_path fails,tellyworth,Upload,,normal,normal,Future Release,defect (bug),reopened,,2008-02-22T05:39:43Z,2009-11-20T20:03:34Z,"1. On Options/Misc, enter ""/tmp/foo/bar"" as a value for the upload path setting.
2. Write a new post and attach an image.

Expected: the image file should be stored as /tmp/foo/bar/2008/02/file.jpg or similar.

Actual: a 'tmp/foo/bar' subdirectory is created within ABSPATH (if that's possible) and the file is stored there.  Both the filesystem path and URL path just append '/tmp/foo/bar', so you get 'ABSPATH//tmp/foo/bar/2008/02/file.jpg' and 'http://example.com//tmp/foo/bar/2008/02/file.jpg'

An absolute upload_path should probably be rejected unless you also specify an upload_url_path, because there's no way to know what URL corresponds to an arbitrary filesystem path.
",tellyworth
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
8234,Users with upload_files capability should be able to edit and delete uploaded files without having the edit_post/delete_post capability,,Upload,2.7,low,minor,Future Release,enhancement,new,,2008-11-15T22:17:14Z,2009-11-20T20:31:07Z,Users with upload_files capability are able to upload files but can't edit/delete his/her own uploaded files without having the edit_post/delete_post capability. Users capable to upload files should also be capable to edit/delete their own uploaded files.,olethomas
6619,permalink field misleading in page editor: it displays the erroneous values,,Editor,2.5,normal,normal,Future Release,enhancement,new,,2008-04-06T14:48:15Z,2009-11-20T20:32:33Z,"if you create a sub-page, the permalink field should display the proper permalink.

currently, if you have:

site.com/page/

and when you create:

site.com/page/subpage/

the permalink shows:

site.com/subpage/

until it gets saved

the expected behavior would be for it to show the correct permalink.

the same remark applies when you then change the permalink. if the parent is no longer page, but rather page-2, then the permalink should update accordingly.",Denis-de-Bernardy
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
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
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
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
7837,Localization of numbers should be supported,,I18N,,low,minor,Future Release,defect (bug),new,,2008-10-06T16:46:16Z,2009-11-23T15:21:12Z,"I'm new to WordPress so please bear with me: I believe localization of numbers should be added to WordPress features. This means that, if you install WordPress and use (for example) Arabic language packs, numbers should be shown using Arabic digits, not English digits.",huji
6819,EXIF data extracted from uploaded images stored incorrectly,tellyworth,Media,2.5,normal,normal,Future Release,defect (bug),new,,2008-04-23T01:13:19Z,2009-11-23T15:25:26Z,"Currently extracted EXIF data is stored as a single custom field with a serialized array containing all the data - it should be stored with one-custom-field per data entry, probably with the exif_ prefix.",matt
11235,"Pages whose ancestors are not all ""published"" cannot be used as parents for other pages.",,General,2.9,normal,normal,Future Release,defect (bug),new,,2009-11-23T01:04:01Z,2009-11-23T15:27:55Z,Pages with trashed parents cannot be used as parents for other pages (they do not appear on the list).,caesarsgrunt
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
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
10501,Enhancements to media upload rules and/or delete media confirm dialog,,Media,,low,minor,Future Release,enhancement,new,dev-feedback,2009-07-28T13:21:09Z,2009-11-23T19:53:18Z,"Now only some file types has required ""Name"" field, rest don't requires typing name for file. After upload if name field was empty file get name in media library from original uploaded file for example: ""doc234"" if uploaded file was named ""doc234.txt"".

Now user can Edit uploaded to library file and delete name. In library view file is called ""(no title)"", but when user try to delete in confirmation box are only empty quotes without name.

There are two possibilities to fix this.

First: require ""Name"" value for every file, not only for few types.
Second: add function which show uploaded file name as ""Name"" in confirmation box, when this name is empty.",Simek
6768,Punctuation can break photo uploads,,Upload,2.5,normal,normal,Future Release,defect (bug),new,,2008-04-18T08:22:58Z,2009-11-23T21:22:50Z,"I'm doing a lot of photo uploads, and I came across a file I named 'Taking a picture of me?.JPG' - I'm using Mac OS X, so a filename containing a question mark is legal.  I don't have Windows running right now, but I'm pretty sure it's disallowed there.

Anyway, I tried uploading this picture, and although the image uploader accepted it, and the progress bar completed, it never built a thumbnail for the picture (see attachment 1).  The image is absent when viewing the gallery on a WordPress page, but when browsing the media library, it seems to know the item exists (see attachment 2).  I blurred out my path information, because that's apparently a good idea.

Renaming the file to 'Taking a picture of me.JPG' allowed it to upload without any issues.

I'm using Safari 3.1.1 on Mac OS X 10.5.2.  Am hosted with Dreamhost.  Let me know if I can supply any more details. :)

Thanks!",flammable
10005,"Some strings need ""no HTML entities"" translator comments",nbachiyski,I18N,2.7.1,normal,minor,Future Release,enhancement,reviewing,,2009-06-02T10:19:50Z,2009-11-23T21:30:48Z,"I've been putting a specific set of custom comments in my PO for some time now, and since WP is now able to handle translator comments very graciously, I think it would be nice to switch them over there.

The following strings need to have an indication warning translators against the inclusion of HTML entities within their translation, because of where the strings are user (RSS feeds, e-mail...). For instance, ""Protected Comments: "" should be translated to ""Commentaires protégés&nbsp;: "", but since it is used in feeds, it breaks them...

Suggestions comment: ""Do not add HTML entities (&nbsp;, etc): used in [context]"".

Here they are (sorry, raw list out of my PO file).

Used in feeds:
  - ""Comments on: %s"", wp-includes/feed-atom-comments.php:19 and wp-includes/feed-rss2-comments.php:22
  - ""By: %s"", wp-includes/feed-atom-comments.php:56 and wp-includes/feed-rss2-comments.php:48
  - ""Protected Comments: Please enter your password to view comments."", wp-includes/feed-rss2-comments.php:56


Used in e-mail:
  - ""Your new WordPress blog has been successfully set up at: ..."", wp-admin/includes/upgrade.php:229
  - ""New comment on your post #%1$s \""%2$s\"""", wp-includes/pluggable.php:968
  - ""Author : %1$s (IP: %2$s , %3$s)"", wp-includes/pluggable.php:970 and wp-includes/pluggable.php:1072 
  - ""E-mail : %s"", wp-includes/pluggable.php:971 and wp-includes/pluggable.php:1073
  - ""URL    : %s"", wp-includes/pluggable.php:972, wp-includes/pluggable.php:983, wp-includes/pluggable.php:993, wp-includes/pluggable.php:1059, wp-includes/pluggable.php:1066 and wp-includes/pluggable.php:1074
  - ""Whois  : http://ws.arin.net/cgi-bin/whois.pl?queryinput=%s"" and wp-includes/pluggable.php:973 and wp-includes/pluggable.php:1075
  - ""Comment: "", wp-includes/pluggable.php:974 and wp-includes/pluggable.php:1076
  - ""You can see all comments on this post here: "", wp-includes/pluggable.php:975
  - ""[%1$s] Comment: \""%2$s\"""", wp-includes/pluggable.php:977
  - ""New trackback on your post #%1$s \""%2$s\"""", wp-includes/pluggable.php:980
  - ""Website: %1$s (IP: %2$s , %3$s)"", wp-includes/pluggable.php:982 and wp-includes/pluggable.php:992
  - ""Excerpt: "", wp-includes/pluggable.php:984 and wp-includes/pluggable.php:994
  - ""You can see all trackbacks on this post here: "", wp-includes/pluggable.php:985
  - ""[%1$s] Trackback: \""%2$s\"""", wp-includes/pluggable.php:987
  - ""New pingback on your post #%1$s \""%2$s\"""", wp-includes/pluggable.php:990
  - ""You can see all pingbacks on this post here: "", wp-includes/pluggable.php:995
  - ""[%1$s] Pingback: \""%2$s\"""", wp-includes/pluggable.php:997
  - ""Delete it: %s"", wp-includes/pluggable.php:1000 and wp-includes/pluggable.php:1081
  - ""Spam it: %s"", wp-includes/pluggable.php:1001 and wp-includes/pluggable.php:1082
  - ""A new trackback on the post #%1$s \""%2$s\"" is waiting for your approval"", wp-includes/pluggable.php:1056
  - ""Website : %1$s (IP: %2$s , %3$s)"", wp-includes/pluggable.php:1058 and wp-includes/pluggable.php:1065
  - ""Trackback excerpt: "", wp-includes/pluggable.php:1060
  - ""A new pingback on the post #%1$s \""%2$s\"" is waiting for your approval"", wp-includes/pluggable.php:1063
  - ""Pingback excerpt: "", wp-includes/pluggable.php:1067
  - ""A new comment on the post #%1$s \""%2$s\"" is waiting for your approval"", wp-includes/pluggable.php:1070
  - ""Approve it: %s"", wp-includes/pluggable.php:1080
  - ""Currently %s comment is waiting for approval. Please visit the moderation panel:"", wp-includes/pluggable.php:1084
  - ""[%1$s] Please moderate: \""%2$s\"""", wp-includes/pluggable.php:1088
  - ""Password Lost and Changed for user: %s"", wp-includes/pluggable.php:1114
  - ""[%s] Password Lost/Changed"", wp-includes/pluggable.php:1115
  - ""New user registration on your blog %s:"", wp-includes/pluggable.php:1135
  - ""Username: %s"", wp-includes/pluggable.php:1136,  wp-includes/pluggable.php:1144
  - ""E-mail: %s"", wp-includes/pluggable.php:1137
  - ""[%s] New User Registration"", wp-includes/pluggable.php:1139
  - ""Password: %s"", wp-includes/pluggable.php:1145
  - ""[%s] Your username and password"", wp-includes/pluggable.php:1148




Used in visual editor (entities break it):
  - ""Edit Image"", wp-includes/js/tinymce/langs/wp-langs.php:421
  - ""Delete Image"", wp-includes/js/tinymce/langs/wp-langs.php:422


Used in an alert() message:
  - ""Enter a word to look up:"", wp-includes/script-loader.php:76


Obviously these were marked for my locale's need, I think all the strings pertaining to these context should be properly commented about this.

Hopefully it is not too late (and is quick enough) for inclusion with 2.8.

",xibe
8492,Page name drop-downs do not scale well,,Optimization,2.7,normal,normal,Future Release,defect (bug),new,,2008-12-04T22:59:17Z,2009-11-23T21:30:53Z,"The page title drop-downs on options-reading and page.php seem to scale poorly in page loading times when you have a large number (around 1000) of Pages.  

I need to go to bed now so haven't researched this much, but I think the options-reading bit could be improved - I think it's currently fetching all of wp_posts when it only needs the title, which is a fair bit of wasted DB and processing time. 

rev 10051 and previous.",mrmist
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
6978,Accessing password protected posts though bloglines sends reader directly to dashboard,,Template,2.5.1,normal,normal,Future Release,defect (bug),new,,2008-05-15T19:13:48Z,2009-11-23T22:11:19Z,"Accessing password protected posts though bloglines sends non-admin reader directly to admin dashboard:

1) User selects a feed in bloglines
2) In the bloglines frame the user enters the password for the protected post
3) Wordpress dashboard is loaded in the bloglines frame instead of the protected post

This gives the non-admin user full access to the wordpress blog.
",MidoSibira
7813,export function does not preserve encoding,tott,Export,2.7,normal,minor,Future Release,defect (bug),new,,2008-09-30T20:07:25Z,2009-11-24T15:54:10Z,"when exporting strings are always converted to utf-8 while header and encoding is set to encoding used in blog.

this causes trouble when importing later.",tott
10267,Login form SSL is confusing,ryan,Security,,normal,normal,Future Release,defect (bug),new,,2009-06-25T10:12:48Z,2009-11-24T15:56:01Z,"With ssl_admin off, and ssl_login on, the login form sends a secure POST request. But end-users can be confused into thinking that they're about to send a non-secure post unless they view the page's source code.

The attached patch enforces SSL on the form as well, to avoid this confusion.

Brought this up in IRC, and it gets +1 from Viper007Bond and DD32 as well.",Denis-de-Bernardy
4857,More issues with wpautop(),mdawaffe*,Formatting,2.3,low,normal,Future Release,defect (bug),accepted,needs-unit-tests,2007-08-29T06:47:01Z,2009-11-28T06:33:01Z,"''Not sure if this should slide into 2.3 or if it can wait for 2.4. Change as need be.''

`wpautop()` has issues with closing `</p>`'s when it comes to HTML.

For example:

{{{
Foo<div>Bar</div>
}}}

Results in:

{{{
<p>Foo
<div>Bar</div>
}}}",Viper007Bond
6984,wpautop() formats the the contents of shortcodes,,Formatting,2.6,low,trivial,Future Release,defect (bug),new,,2008-05-17T10:34:02Z,2009-11-28T07:20:24Z,"`wpautop()`, the bane of my existence as a plugin developer, is at it again.

Here's an example of some PHP wrapped in a valid shortcode in a post of mine:

{{{
[code lang=""php""]$text = str_replace( array('<p><p>', '</p></p>'), array('<p>', '</p>'), $text);[/code]
}}}

The content that gets passed to my shortcode function is this:

{{{
$text = str_replace( array('
<p>', '</p>

</p>
<p>'), array('
<p>', '</p>
<p>'), $text);
}}}

Expected result: it shouldn't touch the insides of valid shortcodes (like adding line breaks or anything as it is doing now).",Viper007Bond
10869,Eliminate moderation on admin comments,,Comments,,normal,normal,Future Release,enhancement,new,,2009-09-28T10:18:53Z,2009-11-28T12:34:10Z,"Currently, if comment moderation is enabled, comments left by the admin are also moderated, requiring approval before they're posted.  

Proposed change: If comment moderation is activated, all replies and comments left by the admin are auto-approved.",heather_r
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
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
11023,Gallery Category Doesn't change with article,,Gallery,,normal,normal,Future Release,defect (bug),new,,2009-10-24T01:49:09Z,2009-12-08T00:56:23Z,"Lets say I have a default category setup called Drafts that all articles go into at first by default. Then on completing the article before posting it live, I movie it to another category called News (no longer having the draft category ticked also). If I've added an image with that article that I click to view a bigger picture of in the gallery page (image.php). It still shows it as being listed under the Drafts category, while the article itself is listed under just News category.",mrgtb
11549,Enable loading of the WordPress environment from external php script,,General,,normal,minor,Future Release,feature request,new,close,2009-12-21T19:54:33Z,2009-12-28T12:26:44Z,"For some integration projects, it is useful to load the WordPress environment from an external php script. This can be done by including wp-load.php
Afterwards all the WordPress functions can be used.

This is only possible if wp-load.php is included from the global scope. If it is included from inside a function, it will fail. This limitation makes it difficult to integrate WordPress with other projects.

wp-load.php fails because of the use of global objects and assign by reference. A simple solution would be to declare $wpdb, $wp_widget_factory, $_wp_deprecated_widgets_callbacks for global in wp-settings.php
The creation of WP_Widget_Factory in wp-settings.php needs to be changed from
$wp_widget_factory =& new WP_Widget_Factory();
to
$wp_widget_factory = new WP_Widget_Factory();

The syntax for creation of WP_Widget_Factory should be conditioned by the PHP version, to maintain backwards compatibility with PHP 4.
",mp2300
10846,"Automatically add XFN and rel=""external"" to post/page/comment links",,General,2.8.4,normal,minor,Future Release,feature request,new,,2009-09-24T20:07:11Z,2010-01-04T13:02:11Z,"Links created in ""Links"" in the admin should have their XFN data appended in a rel attribute. Kinda like the [http://wordpress.org/extend/plugins/auto-xfn-ify/ Auto XFN-ify] plugin.

But more importantly (and simpler), if a link goes out to a domain different from the one hosting wordpress, rel=""external"" should be added.",prometh
11418,Allow adding post thumb via url,,Post Thumbnails,2.9,normal,normal,Future Release,feature request,new,,2009-12-13T11:05:05Z,2010-01-05T20:57:07Z,currently it is only possible to add post thumbs from blog's gallery,pascal.herbert
5235,Add Pre-flight checks to install,pishmishy*,Upgrade/Install,,normal,normal,Future Release,enhancement,accepted,dev-feedback,2007-10-19T17:37:56Z,2010-01-05T21:10:24Z,"It would be nice for the installer to do some pre-flight checks and warn the users of things that will stop WordPress working (either completely or partially)

Candidates for the pre-flight checks:
 * Functions which may be disabled - See #3014
 * Memory limit #5235
",westi
11078,"Media Library tab in post editor should have ""Unattached"" and ""Trash"" filter options",,Media,2.9,normal,minor,Future Release,enhancement,new,,2009-11-05T04:16:04Z,2010-01-06T03:45:50Z,"The master Media Library admin page has options for viewing attachments based on their status, not just type—but the post editor media management only allows sorting based on type.

Having at least the ability to filter for unattached media items would be useful when editing a post. Occasionally users could have older media that is not yet attached to a post and could get buried in the media pages by newer items.",markel
8874,wp_list_pages  consume a lot of memory,,Optimization,2.7,normal,normal,Future Release,enhancement,reopened,,2009-01-17T02:19:53Z,2010-01-07T15:09:00Z,"When we use wp_list_pages in installatiosn with lots of pages (in my case 106 with a lot of text inside ) this function use get_pages (posts.php)  which has a get_results of the posts completes with a ""select *"" but only id,post_title, post_parent is needed. 
Maybe you can use a nuew option to wp_list_pages or get_pages with the list of fields to retrieve. 
I´m making a patch but first i´m studing the code rules of wordpress.
This Affects a wpdtree plugin and other which use get_pages. In my case this select break the connection with mysql in a Shared web server.


",horaciod
10161,Insert button in Media Uploader,,Media,2.8,normal,minor,Future Release,enhancement,new,,2009-06-14T19:33:08Z,2010-01-10T06:17:16Z,"Hi, in the Media Uploader, the third and forth tabs, could we have a link/button to insert media instead of clicking SHOW and then INSERT INTO EDITOR.
The options are saved, so some of us do not really need check the options before inserting media into post, this helps a lot with slow browser.

Thanks",link2caro
11229,Theme & Plugin Search Box,,General,,normal,normal,Future Release,feature request,new,,2009-11-22T19:59:40Z,2010-01-14T00:36:07Z,"One thing I think would reduce mouse clicks is the ability to search for a new theme from the ""Manage Themes"" page. It could be a quick search, as the ""Add new themes"" page gives you better control and various parameters to search.

This is also relevant in the plugins area, you can search for existing plugins from the ""Manage Plugins"" page but you cannot do a quick search for ""NEW"" plugins. Again, useful and minimizes a mouse click.",dremeda
11890,allow get_the_content to accept post ID,williamsba1,Template,2.9.1,normal,normal,Future Release,enhancement,new,close,2010-01-13T22:58:06Z,2010-01-14T00:48:23Z,"The function get_the_content currently doesn't accept a post ID as a parameter.  I'm suggesting adding this as a fourth parameter allowing this function to work like get_the_title does.

I'll supply a patch if this sounds like a good idea",williamsba1
6778,Detect when the config will cause infinite loop,,Permalinks,2.5,normal,normal,Future Release,enhancement,reopened,dev-feedback,2008-04-19T13:46:14Z,2010-01-15T13:20:35Z,"Behavior:

If you put in http://www.domain.com in the ""Wordpress Address"" setting, then Wordpress will automatically do a redirect from http://domain.com to http://www.domain.com.  Many hosting packages allow the user to deal with www and non-www versions of their domain.  This will cause an infinite redirect loop if, for example, the ""Wordpress Address"" is set to http://www.domain.com and the hosting setting is set remove the www from the domain address-- to redirect http://www.domain.com to http://domain.com.

Expected behavior:

When setting the ""Wordpress Address"" setting, it should detect if the canocical code will cause an infinite redirect loop and warn/correct the mistake",Analogpoint
11898,Pagination For Browse Source in Plugin Trac,ryan,WordPress.org site,,normal,normal,WordPress.org,enhancement,new,,2010-01-14T23:42:38Z,2010-01-15T16:53:59Z,"When you view Browse Source in Plugin Trac it lists 7,000 plugins. This take a long time to load and isn't readable. This page needs pagination or something else.[[BR]]
[[BR]]
Related: http://trac.edgewall.org/ticket/6101[[BR]]
[[BR]]
This was talked about breifly during the dev meeting on January 14th, 2010: https://irclogs.wordpress.org/chanlog.php?channel=wordpress-dev&day=2010-01-14#m56068",dancole
11053,Conditional Tags should work in feeds as well,,Feeds,2.8.5,normal,normal,Future Release,enhancement,new,,2009-10-31T14:56:17Z,2010-01-17T14:20:19Z,"I try to get the following to work:

{{{
function xxx_filter_cat()
{
	if (is_author()) query_posts(""cat=4"");
	if (is_front_page()) query_posts(""cat=2,3"");
}

add_action('rss2_head', 'xxx_filter_cat');
}}}

It should alter the rss2 feed, depending if it should get generated for the general homepage, or for a single author.

But: It doesn't work at all - is_author and all the other is_* functions I tried always trigger false. is_feed works, but well, doesn't help me very much.

It would be easy to manipulate the generated feeds if wp would support the already built-in conditional tags in the feeds as well.",pampfelimetten
8648,Post Author quick edit drop down does not scale well,,Optimization,2.7,normal,normal,Future Release,enhancement,new,,2008-12-17T17:05:35Z,2010-01-17T20:14:54Z,"With large amounts of registered users.

",mrmist
12004,Select Sidebar when adding Posts/Pages,,Administration,3.0,normal,normal,Future Release,feature request,new,,2010-01-25T13:26:16Z,2010-01-25T23:28:01Z,"Hey all,

I think it would be a cool feature to be able to create sidebars in WP, and then when creating a page you can choose that specific sidebar.

I think that this can be accomplished by using the ''Parent'' page technique of selecting if the Page has a Parent and if so which one.

Can we develop an option to choose a Sidebar created in the Widgets panel?

Cheers,
Aron
ps: if my help is needed ( im good at design, not coding ) please contact me: info@zipyourmix.com ;)!",lsddesign
12017,Press This multiple blog support,,Multisite,,normal,normal,Future Release,feature request,new,,2010-01-25T17:57:19Z,2010-01-27T03:26:26Z,"MU Trac Ticket: http://trac.mu.wordpress.org/ticket/1092

A WordPress MU user may wish to pass external content into the MU authoring interface. Authoring interfaces such as  Press This currently do not support the selection of a target blog for which the currently logged in user has  edit_posts capability.

 Internet Explorer 8,  Google Reader, and bookmarklet functions currently help pass new post information into an authoring tool such as Press This, but requires a pre-determined URL template to pass along new actions.

Good: http://wordpress.org/wp-admin/press-this.php

Bad: http://*.wordpress.org/wp-admin/press-this.php

Currently a user can add a bookmarklet or IE Accelerator on a per-blog basis. It would be a much better user experience if he or she could target a predictable URL endpoint on the MU install.
New URL ¶

adminurl/press-this.php

Point to the MU install's main admin handlers and let it handle user state.
Possible handling ¶

    * Redirect user to Press This interface of their primary blog with query params intact.
    * Add a new stuffbox to the post interface sidebar with a <select> drop-down if currently logged on user has edit_posts capability on more than 1 blog. Default blog selected.
    * Select box value is passed in at post. No URL redirects on new option selection. 

Possible downsides ¶

Writing a new post from somewhere outside direct blog context could have consequences.

    * Plugins attached to target blog not loaded. 

Next Steps ¶

Once there is agreement on the best approach I can submit the appropriate patch.
",wpmuguru
12013,new user creation features,,Multisite,,normal,normal,Future Release,enhancement,new,,2010-01-25T17:41:04Z,2010-01-27T03:26:35Z,"MU Trac Ticket: http://trac.mu.wordpress.org/ticket/1079

1: there needs to be native ability to select how many blogs each user can have.

2: there needs to be the ability for users to add blogs for users who signed up with out creating a blog and for those who want to add additional blogs to their current list(depending on the blog limit you set in feature request 1 above) from the ""my blogs"" tab in their site admin panel.

3: if the ability to select the number of blogs each user can have is put into place, the option to have the blog auto created to the users name when blog limit is set to 1. ie: user signs up with ""username"" and wants to add his 1 allotted blog it would be auto created using his user name like this example.com/username or username.example.com depending on your settings.

these enhancements kinda all tie together and am surprised they are not currently implemented...
",wpmuguru
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
11009,screenshots of plugins from wordpress.org load over http instead of https when FORCE_SSL_ADMIN is enabled,,Upgrade/Install,2.9,normal,normal,Future Release,defect (bug),new,dev-feedback,2009-10-23T02:30:21Z,2010-02-05T13:52:39Z,"1. Enabled FORCE_SSL_ADMIN in Wordpress on an appropriate host.
2. Use default settings in Internet Explorer 8.
3. Go to the plugin installation page.
4. Choose a plugin from wordpress.org to install.

Actual Result:
You get a mixed mode warning because the screenshots and possibly other content loaded from wordpress.org are loaded over http instead of https.

Expected Result:
Screenshots are loaded over https so that content is not mixed.",brantgurga
7395,Plugins within a folder (in SVN) should be moved up a level in our plugin upgrader,DD32,Administration,2.6,high,normal,Future Release,enhancement,new,,2008-07-24T04:15:58Z,2010-02-13T02:02:12Z,"The Paged Comments plugin exists in SVN under a 'paged-comments' directory.  Since the auto-upgrader puts plugins into a directory based on their slug, this results in the plugin being under two 'paged-comments' directories.  We should be able to identify when a plugin's trunk (or current branch) directory contains only another directory, and move the whole plugin up a level.",markjaquith
12223,Adding a titles to comment levels with the walker class,,Comments,,normal,normal,Future Release,feature request,new,,2010-02-14T11:20:07Z,2010-02-14T17:52:36Z,"Hi Everyone! 

This is only my second post here, and my first feature request, so please excuse me if I have duplicated something or my solution is completely unsuitable. 

I am experimenting with the CMS capabilities of Wordpress, especially the enhanced post_type GUI in the new 3.0 alpha release. While building a sort of Yahoo Answers type platform, I wanted to have 1st level comments as answers to a question (a post), and 2nd level comments as comments on the answer (1st level comments). I wanted to label comments on an answer as ""comments"", but this is not really possible to do, to my knowledge, using ""wp_list_comments"".

I created my own function for wp_list_comments so I didn't have to modify Wordpress core, in order to get at the walker class at the bottom of wp_list_comments. I wanted to use start_lvl to add a title for comment level 2. However, start_lvl in ""class Walker_Comment extends Walker"" will only let you change the list type to ""ul"", ""ol"" or ""div"". My idea is to add an argument which would allow you to add a title, along with specifying it's heading (or surrounding tag). As I said, I am not an expert on Wordpress coding standards, so the following code may be completely off. 

{{{
/**
   * @see Walker::start_lvl()
   * @since unknown
   *
   * @param string $output Passed by reference. Used to append additional content.
   * @param int $depth Depth of comment.
   * @param array $args Uses 'style' argument for type of HTML list.
   * @param array $args Uses 'title' argument for title text.
   * @param array $args Uses 'title_heading' argument for title text heading level.
   */
	

function start_lvl(&$output, $depth, $args) {
  $GLOBALS['comment_depth'] = $depth + 1;
  
    switch ( $args['style'] ) {
      case 'div':
        break;
      case 'ol':
        echo ""<ol class='children'>\n"";
        break;
     default:
     case 'ul':
        echo ""<ul class='children'>\n"";
        break;
    }
	
	if (!empty ($args['title'])) {
	  
      if(!empty ($args['title_heading'])) {
	    echo '<'.$args['title_heading'].'>';
	  }
	  
	  echo $args['title'];

	  if(!empty ($args['title_heading'])) {
	    echo '</'.$args['title_heading'].'>';
	  }
	
	}
	
}
}}}",danielpataki
10666,"When an upgrade borks, There needs to be an ability to rollback",,Upgrade/Install,,normal,normal,Future Release,feature request,new,,2009-08-20T21:46:58Z,2010-02-15T01:48:44Z,"When an upgrade borks, there should be a simple script that allow you to rollback to the previous version.  It should be mostly separate from the admin interface and allow for the restoration of both a database and the files associated with the previous version.  ",jorbin
11733,do a sanity check when conduction upgrades,,Upgrade/Install,2.9,normal,normal,Future Release,enhancement,new,,2010-01-06T00:42:24Z,2010-02-18T10:51:33Z,"In the FTP transports, and possibly in the SSH transport, we should look into conducting a quick sanity check after WP transfers a file during upgrades. This would be in the event that a network problem occurs during the upload.

Depending on how robust we want it, it could be as simplistic as checking the file's size, or as complex as using md5_file().",Denis-de-Bernardy
12033,Parent  template tags,,Template,3.0,normal,normal,Future Release,enhancement,new,,2010-01-26T01:25:49Z,2010-02-18T10:56:04Z,"Can you add to core template tags as:

Title and link of parent page

parent-page-title
parent-page-permalink

Maybe will be good to add also an attributes of titles ""the_title()""to display title by ID
",Angeloverona
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
10770,wp-cron uses excesive CPU cycles,,General,2.9,normal,critical,Future Release,defect (bug),new,reporter-feedback,2009-09-12T11:49:09Z,2010-02-20T18:37:21Z,"Users are suddenly finding their accounts suspended because of excessive CPU cycles. However after investigating it appears the web hosting companies are properly configured and no hacks have occured. It seems that wp-cron is looping and consuming huge amounts of cpu cycles.

'''Versions:'''
This occurs across the past several versions on fully updated versions.

'''The effect:'''
Excessive CPU cycles with resulting suspension of a users account.

'''Plugins and Theme:'''
I detect no relationship to plugins and themes. I am presently running only 8 plugins.

'''Frequency:'''
Sadly, this is an intermittent issue. But a check of the Wordpress.org forum will show regular questions about this problem.

'''Server Environment:'''
Host is [http://www.inmotionhosting.com]. Fully updated and seemingly well maintained.

'''Additional:'''
There is a link from a 2.6 problem at [http://trinity777.wordpress.com/2008/10/28/wordpress-26-the-issue-of-wp-cronphp/]. Although it refers to an old version I think the issue is still unresolved and his work might prove useful to you.

Thanks
",jbevans
12336,WP.org Profiles - Trac Replies are not reported,ryan,WordPress.org site,,normal,normal,WordPress.org,feature request,new,,2010-02-22T19:02:51Z,2010-02-22T19:08:48Z,"Since WP.org Profiles already has forum post creations and replies, and Trac ticket creations, it makes sense to add the Trac replies as well.",archon810
12313,WP.org Profiles should add an RSS feed,ryan,WordPress.org site,,normal,normal,WordPress.org,feature request,new,,2010-02-21T01:01:52Z,2010-02-22T19:09:21Z,"I'm not sure where to report feature requests for WP.org Profiles so I'll do it here.

Considering the Profiles page http://profiles.wordpress.org/archon810 includes the Trac activity (unlike http://wordpress.org/support/profile/276841 which doesn't, though, it's also useful because it does include replies by others to my favorite topics), it'd be awesome to have an RSS feed for this Profile activity so that it can be used in someone's RSS reader or in my FriendFeed or Lifestream.

This may be a BuddyPress request, but since WP.org uses it, I'd say this ticket has merit either way.",archon810
12340,Assign Certain Categories/Taxonomies To Site Authors,,Users,3.0,normal,normal,Future Release,enhancement,new,dev-feedback,2010-02-22T23:15:41Z,2010-02-22T23:58:17Z,"We all know that WP is more like a CMS compared to just a piece of blogging software, and when it comes to having multiple authors, this is when this enhancement would really shine! :) If it doesn't make 3.0, then I'd hope 3.1 anyway?

So basically when you add another user, or alter a users account, the option will be there to check the boxes of whatever category and/or any taxonomies that particular person will be allowed to have posts published in. That's the plan anyway!",markmcwilliams
11585,WordPress should cache failed feed fetches so as to avoid overloading feed sources,,Performance,2.9,normal,normal,Future Release,enhancement,new,,2009-12-24T02:25:17Z,2010-03-01T16:41:13Z,"Following up on #11219, which fixed the cause of that particular error, but not the one that related to caching of feed errors.

When SimplePie fails to fetch or parse a feed, it should not hammer whichever server the feed came from on every page load. This is bad for two reasons: it disturbs the originating server, and it tremendously slows down page loads when the feed is in an RSS widget on the front end.

Instead, we should cache the error for a reasonably long amount of time (15 minutes? An hour? More?) and bypass SimplePie until that duration expires.",Denis-de-Bernardy
10597,More classes in menu generated using wp_list_pages and wp_page_menu,ryan,Menus,,normal,normal,Future Release,enhancement,new,,2009-08-12T11:17:41Z,2010-03-01T20:46:38Z,"I think that dev team should think about adding more classes to positions generated by wp_list_pages and wp_page_menu as it's very hard to style those menus. I'm thinking about class ""parent"" for every li that contains another ul etc. We got current_page_ancestor and others but they only work if you're on the child ...",newkind
12475,Method to prune/leave feedback in Kvetch,ryan,WordPress.org site,,normal,normal,WordPress.org,feature request,new,,2010-03-02T17:12:25Z,2010-03-02T17:12:25Z,"I just saw two items about how it would be nice if upgrades were easier and if there was an automatic upgrader, and it got me thinking that there's no way to leave feedback or flag it if you're logged in.

It would be nice if there was some way to either leave feedback for when a Kvetch is no longer ""valid"" (for lack of a better term) because something has been implemented to address it, or to flag it for someone else to look at it and decide that it should be removed.

This could also be useful if a spam item was displayed, or if an offensive message was left.",ninjaWR
12461,"Resend Pass to users from ""admin > users""-list",,Users,2.9.2,normal,normal,Future Release,feature request,new,,2010-03-02T15:23:32Z,2010-03-02T17:34:01Z,"In some of my projects i got the case, that i have to resend the password to some of my users (in this cases WP is used as a CMS). So i needed a possibility to resend (better would be: reset) the pass. Currently i'm stuck with a custom admin-UI on a template-page that contains a list of users (each in a row).

Currently i got the follwing (in a custom list/table of users) for each user at the end of the <tr>-row:
{{{
$user_login = isset($_POST['user_login']) ? stripslashes($_POST['user_login']) : '';
echo
'<td id=""' . $user->ID . ';user_pass;' . $wpdb->users . '"">' .
'<form name=""lostpasswordform"" id=""lostpasswordform"" action=""' . site_url('wp-login.php?action=lostpassword') . '"" method=""post"" target=""_blank"">' .
'<input type=""text"" name=""user_login"" id=""user_login"" class=""input hide"" value=""' . $curuser->user_login  . '"" size=""15"" tabindex=""10"" />' .
'<input type=""submit"" name=""wp-submit"" id="""" class=""small margin-null"" value=""reset"" tabindex=""100"" />' .
'</form>' .
'</td>';
}}}
This makes it possible to resend the wp_mail to ask the user to reset the pass. I'm not the best at php, so i couldn't achieve any sort of bulk managing this, so i set the target to blank.

I hope this function get's into the user-quickmenu. As i stated before: It would be great if you could reset the pass, so the user get's a new pass in an instant.",F J Kaiser
7491,thumbnail creation fails silently,,Upload,,normal,normal,Future Release,enhancement,new,,2008-08-09T19:16:19Z,2010-03-06T16:13:08Z,"When thumbnail creation fails, it fails silently, with no indication why it fails. That is a real pain in the ass if you're trying to debug. Frankly, I assumed for months that thumbnailing just wasn't implemented yet- it was only because I noticed that it does work on ma.tt that I even went back and tried to debug the situation.

I'm still not succeeding in actually getting the thumbnailing working, for what it is worth- extensive googling suggested I should install libgd, which I've now done, but no helpful errors from wordpress means I'm just back at square one in terms of figuring out why it is breaking.

There are no other directly pertinent bugs, but #7039 and #1952 mention instances of silent failure being a problem and #2794 has a (now bitrotted) patch creating an error reporting system.

",tieguy
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
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
12368,Allow setting limit in do_shortcode(),,Shortcodes,,normal,normal,Future Release,enhancement,new,reporter-feedback,2010-02-24T21:39:13Z,2010-03-08T09:39:10Z,"Sometimes it is useful to limit the number of shortcode conversion occuring in do_shortcode(), such as preventing overuse of shortcode in untrusted content, or whatever reason. This patch adds a new int parameter to do_shortcode(), which is used as the $limit parameter in preg_replace_callback().",abelcheung
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
4893,Audit of all filter and action names.,westi,Plugins,,normal,normal,Future Release,enhancement,new,,2007-09-02T20:22:27Z,2010-03-18T21:09:32Z,"I think for 2.4 we should do an early audit of all the filters and actions in the core and ensure that they follow the following set of rules:

 1. All names should be unique
 1. All names should be relevant to the calling context
 1. All filters should pass in relevant context information

This should then ensure plugins can easily filter just the things they want to.

This is to avoid messes like {{{the_title}}}

{{{
./wp-includes/post-template.php:        return apply_filters( 'the_title', $title );
./wp-includes/comment.php:      $post_title = apply_filters('the_title', $post->post_title);
./wp-includes/classes.php:              $output .= $indent . '<li class=""' . $css_class . '""><a href=""' . get_page_link($page->ID) . '"" title=""' . att
ribute_escape(apply_filters('the_title', $page->post_title)) . '"">' . apply_filters('the_title', $page->post_title) . '</a>';
./wp-includes/deprecated.php:           $string .= apply_filters('the_title', $post->post_title, $post);
./wp-includes/deprecated.php:           $string .= apply_filters('the_title', $post->post_title, $nextpost);
./wp-includes/link-template.php:        $title = apply_filters('the_title', $post->post_title, $post);
./wp-includes/link-template.php:        $title = apply_filters('the_title', $post->post_title, $post);
./wp-includes/general-template.php:                                             $text = strip_tags(apply_filters('the_title', $arc_title));
}}}",westi
9227,"in get_the_category_list(), filter categories before constructing list",,Template,2.8,normal,normal,Future Release,enhancement,new,has-patch,2009-02-24T23:25:38Z,2010-03-20T19:09:35Z,"The template '''function get_the_category_list''' returns a concatenated string of category links for an individual post.  The only filtering available is on the full concatenated sting, via 'the_category' hook.

Since filtering the category array directly is greatly preferable for most uses, please consider adding the attached patch, or something like it.

Whatever hook is added should somehow indicate the data context - in this case for display.  In filtering post categories, there is the potential for non-display situations in which the actual post categories must be maintained even though the display filtering hides some from the current user.  What we '''should not do''' is apply a single filter inside get_the_category or wp_get_object_terms, since themes and plugins may already call those functions for multiple data contexts.

I had considered calling the new hook ''''get_the_category_for_list''''.  Instead I'm suggesting a more generic ''''get_the_category'''' hook, '''passing context''' as the second argument.  That would leave the API consistent for possible future use in filtering other contexts.",KevinB
11972,Sort View Post/Pages by Column,,Administration,3.0,normal,normal,Future Release,feature request,new,,2010-01-21T21:46:27Z,2010-03-21T01:51:40Z,"Recently I discovered in WPMU in Site Admin options, you can sort for instance Site Admin->Blogs by last activity date. That is a very handy feature, and certainly would useful for a site with hundreds of nested pages. To be able to sort that list by date, rather than just title would be useful, as it sorts by title of the parent page, and finding a 3rd level child can be difficult to say the least. The search feature is lacking but that is for another ticket.  Likewise, sorting posts by category, author, etc could be useful. Since the functionality seems to already be there for sorting these type columns, and the code's been moved in already, I'd think it'd be a nominal change. I simply don't know what direction these menus are going yet to offer a working suggestion. Just wanted to get my 2¢ in before it's too late.",miklb
11378,"Add ""Remove"" link to Widget instances which moves them to ""Inactive"" area",azaozz,Widgets,2.9,low,minor,Future Release,defect (bug),new,,2009-12-10T08:53:43Z,2010-03-22T23:21:04Z,"Per comments on #10379, we should have a ""Remove"" link on Widget instances that moves them to the inactive area.",markjaquith
12477,Search with special characters and similar terms,nbachiyski,I18N,,normal,normal,Future Release,feature request,new,,2010-03-02T17:42:46Z,2010-03-24T10:25:15Z,"I did:Tried searching for terms Metis and Métis

I saw:Those two searches turned up different sets of results.

I expected:The same set of search results, or at least everything when
I searched for Metis.

Can search be smarter when special characters are involved?",mrroundhill
10834,schedule a revision to publish without unpublishing existing content,,Revisions,,normal,normal,Future Release,feature request,new,,2009-09-23T20:49:27Z,2010-03-25T04:28:23Z,"Boy, it sure would be swell if I could take an existing post/page, edit the content or add tags/custom terms, and then schedule that revision to be published later, without unpublishing the previous revision.

Other people think it would be cool too... [[BR]]
http://wordpress.org/support/topic/216545 [[BR]]
http://wordpress.org/support/topic/226600 [[BR]]
http://wordpress.org/support/topic/273701 [[BR]]
http://wordpress.org/support/topic/273730 [[BR]]
http://wordpress.org/support/topic/275932 [[BR]]
",alxndr
6822,Admin colors should be per-blog,ryan,Administration,2.5,normal,normal,Future Release,enhancement,new,,2008-04-23T02:07:08Z,2010-03-25T05:58:52Z,"When shared user tables are used, changing the colors for one blog should not change it for all.",matt
12014,Author selection becomes performance issue with large userbase with quick edit in admin,,Quick/Bulk Edit,,normal,normal,Future Release,defect (bug),new,,2010-01-25T17:51:15Z,2010-03-25T10:08:25Z,"MU Trac Ticket: http://trac.mu.wordpress.org/ticket/1086

When the author user base becomes too large, the script handling for the quick edit or inline edit begins to fail. In our specific situation, we have over 14000 authors for a single blog. This is causing the inline-edit-post.js to timeout and not completely render all the fields.

Since this would be such a rare issue, I think the best solution would be to just offer a hook that could keep the author option from being a part of the quick edit form. Since the field value is filled by js, then just replacing it with a hidden input keeps the author from being replaced on update.
",wpmuguru
11095,Format wp_list_pages and wp_page_menu without <li> tags,,Template,,normal,normal,Future Release,feature request,new,,2009-11-07T18:00:44Z,2010-03-25T11:49:07Z,"Would that be possible to have the functions wp_list_pages and wp_page_menu with an option to display pages in a ""flat"" format like the functions wp_list_bookmarks or wp_tag_cloud or wp_get_archives?",zialingua
12705,Suggest add new filter to wp_insert_user(),,Users,,normal,normal,Future Release,feature request,new,,2010-03-25T13:59:20Z,2010-03-26T00:46:48Z,"Now, there is no way to change new registration workflow. When every attribute is valid, user registration is approved. I want to add  filter to interrupt this workflow to wp_insert_user(). Such as:
// in registration.php line 105
$userdata = apply_filter(filter_name, $userdata)
if( !$userdata ) return

I want to use this filter to interrupt normal registration flow.",nkucyd@…
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
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
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
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
11202,automatic line breaks in comments,,Formatting,2.8.5,low,normal,Future Release,defect (bug),new,,2009-11-20T18:47:50Z,2010-04-02T07:34:29Z,"WordPress 2.8.6 has got a Problem with the automatic line break. [[BR]]
Example:[[BR]]
Type the following comment in a WordPress Blog. 
{{{
Thank you for your comment!<blockquote>this is a small quote</blockquote> Next Text 
}}}
Then you have to save the comment. If you validate the your publish, you will see, that the sentence ""Thank you for your comment!"" will be put into the following absurd tags: [[BR]]

{{{
p>Thank you for your comment!<br />
}}}

If you write a comment with the following code (hit return after the word ''comment! ''),[[BR]]

{{{
Thank you for your comment! 
<blockquote>this is a small quote</blockquote> Next Text 
}}}
you will get the right codeform when you validate your comment:
{{{
<p>Thank you for your comment!</p> 
}}}

The same Problem exists when you type [[BR]]

{{{
test 2 <p> break </p> next text
}}}
After the word ''test 2'' you will miss the </p>. [[BR]]

WordPress has got this bug with every single elements like these one: 

{{{
<p>, <ul>, <ol>, <li>, <h1> bis <h6>, <div>, <blockquote> etc.
}}}

When you make manuell a new line in front of these elements, you won't find any problem, so WordPress must put an automatic line break in front of these elements and it doesen't do it. Please fix this nerved bug!!

regards, Dunkelangst from http://www.dunkelangst.org/ ",Dunkelangst
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
11910,Category widget displayed as dropdown doesn't use fancy urls,,Template,2.9.1,low,minor,Future Release,defect (bug),new,,2010-01-15T16:14:38Z,2010-04-03T23:47:24Z,"The title should be self-explanatory. It links to:

/?cat_id=X",Denis-de-Bernardy
4298,wpautop bugs,markjaquith*,Formatting,2.7,low,minor,Future Release,defect (bug),accepted,dev-feedback,2007-05-19T22:14:10Z,2010-04-04T06:42:21Z,"wpautop should at least ignore multiline html tags, and possibly ignore any area enclosed within html.

{{{
<table
 style=""width: 120px; height: 92px; text-align: left; margin-left: auto; margin-right: auto;""
 border=""1"" cellpadding=""7"" cellspacing=""2"">
  <tbody>
    <tr>
      <td><small><small style=""font-family: Arial;"">Once
I saw it here, I instantly knew what I wanted. I love my new woven wood
shades.</small></small><br>
      <small><small>- Ginny Good</small></small></td>
    </tr>
  </tbody>
</table>
}}}

gets formatted as:

{{{
<table<br />
 style=""width: 120px; height: 92px; text-align: left; margin-left: auto; margin-right: auto;""<br />
 border=""1"" cellpadding=""7"" cellspacing=""2""><br />
<tbody>
<tr>
<td><small><small style=""font-family: Arial;"">Once<br />
I saw it here, I instantly knew what I wanted. I love my new woven wood<br />
shades.</small></small><br /><br />
      <small><small>- Ginny Good</small></small></td>

</tr>
</tbody>
</table>
}}}

",Denis-de-Bernardy
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
10743,WP rewrite rule bug with & in url path,ryan,Permalinks,,normal,normal,Future Release,defect (bug),new,,2009-09-07T19:02:22Z,2010-04-04T07:26:19Z,"We've noticed a peculiar bug in the standard rewrite rules for wp if & is included in any url, as part of the path, not the query string.

EGs:
 * http://tekartist.org/&nbsp/anything
 * http://ma.tt/&blah/test

The rewrite rule serves the default page, without returning a 404.

My best guess at this time is that what is happening is that the inclusion of & in a rewritten path is actually seen as a query param (eg: treated as /index.php?&nbsp=...)",stephdau
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
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
10219,"""Older Entries"" and ""Newer Entries"" links are wrong when entries displayed in ascending order",,Template,,low,minor,Future Release,enhancement,new,,2009-06-19T16:41:02Z,2010-04-10T10:31:31Z,"I added ""?order=ASC"" to a tag URL I was sending out to some people, because I wanted them to view a set of blog postings in ascending chronological order, and I noticed that the ""Older Entries"" and ""Newer Entries"" links at the bottom of the page were reversed.

I fixed this with the attached changes to the default theme.  I don't know if this is the ""right"" fix, but it worked for me, and if it isn't quite wrong, perhaps at least it will give a more experienced WordPress developer than I an idea for how to fix it properly.
",jikamens
12982,Shortcodes don't allow shortcodes in attributes,,Shortcodes,3.0,normal,normal,Future Release,feature request,new,needs-unit-tests,2010-04-12T22:31:17Z,2010-04-15T22:16:02Z,"I think that shortcodes should work when used inside attributes of other shortcodes, just like they can work inside the ""$content"" of a shortcode.

Some people says that that isn't supposed to work, but theoretically it is supposed to work when using the ""do_shortcode"" function. It don't work because:

1) ""do_shortcode"" is context free, which it's actually fine by its fastness, although it don't allow stuff like inserting a shortcode inside the content of itself

2) The shortcode regex stops with the first occurrence of a ] in a shortcode, so in this:

{{{[foo bar=""[baz /]""]content[/foo]}}}


it ""outputs"":


{{{[foo bar=""[baz /]}}}


and {{{""]content[/foo]}}} is ignored.

I'm not programmer but I tried to fix it by changing the shortcode regex so it allow anything between quotes or brackets inside the first group of brackets. It sort of works, but also mess the handling of quotes in the rest of the shortcode, so I think something more advanced have to be done to make it work. 

This is somewhat related to another shortcode tickets, but none of them addresses nor solves this specifically.",Atoon
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
12302,add_metadata() Fails to Store Serialized Values as BINARY,ryan,Database,,high,critical,Future Release,defect (bug),new,,2010-02-20T10:52:15Z,2010-04-18T04:36:44Z,"Symptoms:

WordPress stores corrupt values in post_metadata if there are any non-UTF-8 bytes in the meta_value.

Steps to reproduce:

Call add_metadata() with non-UTF-8 values such as a latin-1 copyright char.

Even though the serialized string goes through prepare() before the query, MySQL is required to truncate the invalid value being assigned to the meta_value field.  The result is that the stored value can never be un-serialized.

This behavior can also be replicated by trying to inject CHAR(169) into any UTF-8 table query.",miqrogroove
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
13052,Return the URL of the next adjacent image in a gallery,,Media,,normal,normal,Future Release,enhancement,new,,2010-04-19T20:32:33Z,2010-04-20T07:54:37Z,"A function that returned the URL of the next adjacent image for an attachment in a gallery post, or the URL of the parent post if there isn't an adjacent image, would be a really useful enhancement for attachment templates.

Attached is a diff of media.php with the custom function I rolled from adjacent_image_link() to do just that.",iandstewart
12393,Hooks to enable custom login without editing core files,,Users,2.9.2,low,normal,Future Release,enhancement,new,,2010-02-26T21:01:06Z,2010-04-23T18:32:10Z,"One of the basic features of wordpress is to avoid having users edit core files.
It is impossible to properly customise wp-login without manually editing the file directly - not good for upgrades!

Need to make login_header function pluggable or add a do_action hook before the <html....> tag
Need to add a login_footer.

In fact what is required was highlighted in #4478 complete with diff file. This was marked as resolved BUT IT WAS NOT! I agree it might be a duplicate of issue #9682 BUT the underlying issue of being able to overwrite the login-header function WAS **NOT** solved.

(see recent support forum requests #252094  and #333994)

The solution MUST allow a replacement of login header (and even better also a replacement of the </body></html> tags from the switch statement with a login_footer function which could also be overrided - pluggable).

Thanks.

In an ideal world need to re-open #4478 to ensure accurate resolution.

Thanks",sleepuser
13040,author.php doesn't recognize custom_post_type posts written by user,,General,,normal,normal,Future Release,feature request,new,,2010-04-18T04:01:46Z,2010-04-24T00:22:30Z,"Working on nightly WP3.0. - custom theme, but, tested with TwentyTen as well and got same result. Not entirely sure if this is a bug or if it is intended behavior, but, the author template does not recognize posts of a custom post type. It will return a 404 if there are no ""post"" post_types and only ""custom"" post_types available to load. I thought it might be worth mentioning as well that I feel really strongly that there should be an archivalish-""post_type"" template along with the single-""post_type"" template. I have been struggling with the lack of one and have had to fall back on creating a page template that pulls in an archival type list via custom post type query, but, we all know how the paging issue is with that, and it seems like it would just plug right in to the logic of archive.php, or even index.php pulling in all ""post"" type posts by default. Why not let custom post types have their own ""index.php""? that pulls in all of it's post types by default by simply making a file called ""post_type"".php. I made that sound way easier than it probably would be, but, you get the point. Just a thought.",10sexyapples
13100,"category template matches ancestor category, single post matches category filename",,Template,,normal,normal,Future Release,feature request,new,,2010-04-24T11:52:56Z,2010-04-24T12:19:11Z,"Dear wordpress developers,

There's two features which I think would be very useful in the wordpress template selection process. The first relates to categories - currently a category template file will be selected when the category of the selected post matches the filename of the template (category-catfoo.php). Because categories are hierarchichal (can be sub-categories) I suggest that if it can't find a template for the current category it should also also try to match ancestor template files.

The other feature which I suggest would be useful, is single post template matching using category names. For example, single-catfoo.php. This could also match on ancestor categories if none is found immediately (single-catrootfoo.php).

Best wishes,
Jim Redfern",jredfern
13169,Return Dynamic Sidebars with get_dynamic_sidebar,,General,,normal,normal,Future Release,enhancement,new,,2010-04-28T18:07:28Z,2010-04-28T18:15:02Z,"Currently there is no available function to return the contents of a dynamic sidebar. The following code enables developers to return and assign the contents of a dynamic sidebar to a variable within their code.

{{{
function get_dynamic_sidebar($index = 1) 
{
	$sidebar_contents = """";
	ob_start();
	dynamic_sidebar($index);
	$sidebar_contents = ob_get_contents();
	ob_end_clean();
	return $sidebar_contents;
}
}}}
",w3prodigy
7463,Display multiple tag titles on tag unions and intersections,,Template,2.8,normal,normal,Future Release,enhancement,new,,2008-08-04T23:27:23Z,2010-04-28T18:52:43Z,"Currently, tag unions and intersections only display the title of the first tag in the query, rather than all of them. This patch adds a new template function, multiple_tag_titles, which displays one or more tag titles for tag intersections and unions, adding a final 'and' or 'or' conjunction where appropriate.

Having written this patch, I'm starting to think it's the wrong approach: multiple taxonomy titles for taxonomy unions and intersections would be preferable.",ionfish
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
12945,Constrain wp_page_menu(),technosailor*,General,,normal,normal,Future Release,defect (bug),accepted,,2010-04-09T19:39:51Z,2010-05-02T18:49:39Z,"The wp_page_menu() function is the default callback for wp_nav_menu(). IOW, when a user is not using the new menu system, it defaults to this function. While that is good, any number of pages over, say 10, will make a theme puke in many cases.

As a workaround, I suggest we make a default of wp_page_menu() to exclude all pages() except home. It's a stupid idea, I think, but something needs to be done to make this manageable so I'm looking for feedback.

The Pro of taking this approach is that it encourages customization of menus via the WP menu system. It also does not lock theme devs into a particular approach because this stuff can be overidden via arguments and filters.

The con is that the default callback becomes pretty benign and useless. Almost pointless.

Ideas?",technosailor
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
10988,http://domain.tld/keyword searches media library for matching items when logged in,ryan,Permalinks,2.8.4,normal,normal,Future Release,defect (bug),reopened,,2009-10-20T22:19:31Z,2010-05-08T20:51:49Z,"On my site i have a file in the media library called else.jpg. If I access http://lekv.de/else I get the expected 404. If I'm logged in in the backend however, I get redirected to the media item page of else.jpg (where I could download it). Also pretty permalinks have to be enabled using .htaccess files.


To reproduce, you have to create a media library item with a simple name, say else.jpg and upload it, using ""else"" as description in every form field. Then simply enable pretty urls, login into the backend and access http://domain.tld/else.

I hope, this is comprehensible.

My version is 2.8.4 DE-Edition.",squirrelpimp
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
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
10390,attachments should store the WP uploads path that was configured when they were uploaded,,Media,2.8.1,normal,normal,Future Release,enhancement,new,,2009-07-12T10:34:51Z,2010-05-13T08:52:54Z,"When you upload an image, currently, the uploads path (defaults to wp-content/uploads) is not stored.

If you change this later on to something else, previously inserted galleries no longer work, among multitudes of other problems.",Denis-de-Bernardy
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
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
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
12721,Allow post_type's _edit_link to be outside of the admin.,,General,,normal,normal,Future Release,enhancement,new,has-patch,2010-03-26T13:07:49Z,2010-05-15T10:06:36Z,get_edit_post_link runs the post_type's _edit_link through admin_url() always forcing the edit page to be within wp-admin.  There are times where this isn't desired.  I'm submitting a patch to check that the url of the _edit_link doesn't begin with http(s?): before running it through admin_url ,prettyboymp
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
13412,Parent parameter returns no results in get_pages(),,General,,normal,normal,Future Release,enhancement,new,,2010-05-16T16:53:40Z,2010-05-16T17:03:13Z,"The get_pages() function in post.php returns no results when parent != 0, rather than returning the pages that are children of the immediate page. 

Given page ID 30, which has 3 child pages, calling get_pages('parent=30') will return nothing.

The problem is in the following lines (line ~2600 at the time of writing):
if ( $child_of || $hierarchical )
	$pages = & get_page_children($child_of, $pages);

Hierarchical, by default, is set to true, this this conditional will typically be true. When it does so, it filters out all of the pages retrieved up to this point and, by the time it returns, there are no pages left.

The quick work-around I'm currently using is to call the following instead:
get_pages('parent=0&hierarchical=0'), overriding the default value so that conditional doesn't execute.

The one exception to this is that calling get_pages('parent=0') should function even with this bug.",jda10487
13339,Hook on ms-users.php,,Users,,normal,normal,Future Release,enhancement,new,,2010-05-11T11:45:37Z,2010-05-17T15:14:25Z,"On WP 3.0 it is possible to add new users as Super Admin, but they do not really assign each instance. So it would be useful when creating the user, if you have a selection of instances that are created and then selecting one with the checkbox where the user should get access.

Maybe it is possible to add a hook for add own fields, similar the possibilies on user-edit.php for profile fields.",bueltge
13425,Image Gallery of Private Post is publicly displayed,,Media,3.0,normal,normal,Future Release,defect (bug),new,,2010-05-17T20:12:20Z,2010-05-21T13:21:01Z,"Might have been forgotten only, I just ran over this inconsistency while beta-testing:

'''Description:'''

The Image Gallery of a Private Post is displayed (in another post via the Shorttag with id parameter) whereas, when clicking on the images to go to the attachment page, you get a 404 not found.

'''Example:'''

[http://hakre.wordpress.com/2010/05/17/cui-utils-rev2/#more-1184 Post with Gallery][[BR]]
[http://hakre.wordpress.com/2010/05/17/cui-utils-gnu-tools-fur-windows-32-with-a-simple-setup/gnu-win-cui-util-00-setup/ Attachment of that Gallery]

'''Steps to reproduce'''

Create a new Post, set a title and the Status to private.

Save as Draft.

Preview it, to get the ID easily from URL.

Upload a Bunch of Images.

Insert the Gallery Shorttag inside that Post Body.

Publish the Post.

Create a second new Post

Give it a Title and Insert the Gallery Shortcode with the ID from the last Post.

Publish.

View.

Copy the URL.

Open another Browser so to have a new User-Session.

Visit that URL.

'''Expected Behaviour'''

You should not see a gallery.

'''Behaviour'''

You see a gallery.

When clicking on a gallery link you get a 404 page.


'''Feedback'''

I see an inconsitency here but have no Idea how to deal with it.

So either the gallery should not be found as well (not found as in 404 but in this case: not output) or the attachment pages should be able to call as well.

Related: #11697",hakre
13504,Create cookie name hash option,,General,,normal,normal,Future Release,enhancement,new,,2010-05-23T16:45:47Z,2010-05-23T16:46:10Z,"I put this on future release but we should do it early in 3.1. Currently, by default,

an upgraded MU install has an empty string as a cookie name hash

a single WP site uses the siteurl option as the seed for a MD5 hash

a WP -> WP 3.0 network uses the main site's siteurl option + '/' as the seed for a MD5 hash

We should move these to a common more appropriately name option/site option and give the super admin(s) the ability to change it and/or generate a new one.",wpmuguru
6829,FromName causing emails not to send using Windows,,Mail,2.5,normal,normal,Future Release,defect (bug),new,,2008-04-23T17:57:25Z,2010-05-24T07:52:50Z,"I have a fresh install of 2.5, but was not getting any user/password related emails.  I tracked this down to line 352 of pluggable.php which sets the FromName on the $phpmailer object.  When this value is set, it causes email to be lost.  When this value is set to null, then the email sends correctly.

php.ini is setup to use a remote SMTP server:

{{{
[mail function]
; For Win32 only.
SMTP = 127.0.0.1
smtp_port = 25
}}}

Here is the modified code:


{{{
// Set the from name and email
  $phpmailer->From = apply_filters( 'wp_mail_from', $from_email );
  $phpmailer->FromName = null; // <== this line changed
}}}


",mrtwice99
13648,Post link?,ryan,Comments,3.0,normal,normal,Future Release,defect (bug),new,,2010-05-30T22:51:23Z,2010-05-31T20:50:17Z,Adding '''?comments_popup=1''' to the url go to that post id number but in comment view with the trackback to the post with the regular permalink. Found this via search engine that indexed it instead of post url.,giuseppex
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
13728,Custom menus - adding links to pages needs checkbox for 'show subpages',,Menus,3.0,normal,normal,Future Release,feature request,new,,2010-06-04T14:29:13Z,2010-06-04T14:34:33Z,A simple checkbox under the configuration for each link that is a page to 'show subpages' located under that page would make custom menus much more useful.,adambundy
9736,Memory allocation failed on category.php,,Optimization,2.7.1,lowest,minor,Future Release,enhancement,new,,2009-05-06T02:02:11Z,2010-06-12T15:04:05Z,"When I opened ""/wp-admin/categories.php"" I got following error message.
> Fatal error: Allowed memory size of 268435456 bytes exhausted (tried to allocate 3877 bytes) in /path_to_wordpress/wp-includes/category.php on line 369

I made over 70,000 categories manipulating MySQL table directory.",matsubobo
12154,Updating a post modifies pingback timestamp,,Pings/Trackbacks,,normal,normal,Future Release,defect (bug),new,,2010-02-06T21:17:46Z,2010-06-14T00:29:42Z,"Steps to reproduce:[[BR]]
Create blog post 1. Publish. [[BR]]
Create blog post 2. From within the post body, link to blog post 1. Publish. A pingback comment is created for post 1, with the timestamp as for blog post 2.[[BR]]
Edit blog post 2. Do not change publication timestamp. Save changes.

Expected behaviour: Pingback is not affected.[[BR]]
Actual behaviour: Pingback timestamp is changed - instead of the publication time of blog post 2, it is now set to the time when I edited blog post 2.",htoomik
11398,new sort method for query_posts (order by last comment date),ryan,Query,2.9,normal,normal,Future Release,enhancement,new,,2009-12-11T15:44:42Z,2010-06-14T00:30:40Z,"I think we need sorting by latest post comment ability for query_posts. ""Recent comments"" plugins does this but we need this sorting in the core. 

BBPress is planned as a WP plugin according latest chat logs posted by Matt. We gonna have to need this anyway.",erden.ozkan
11986,HTML comments in post/page content get wrapped in P tags,,Editor,2.9.1,normal,normal,Future Release,defect (bug),new,,2010-01-23T19:32:13Z,2010-06-14T01:39:31Z,"I don't know if someone already caught this i had mentioned it to someone in the #chat but

When you write a post or a page and include comment html tags

the comments end up being wrapped in <p> tags

<p><!-- comment --></p>

An older plugin i use makes use of comment tags to know where to insert content but comments may be used for other reasons inside posts.

the more comments you add
the more line breaks errr paragraph breaks 

additionally the plugin I was using could not pickup the comment tag and insert the content.


",NPSites
11178,Fix for poor sidebar CSS in Kubrick theme,iandstewart,Themes,2.9,normal,normal,WordPress.org,defect (bug),assigned,has-patch,2009-11-18T22:04:40Z,2010-06-14T22:01:25Z,"Rather than using a float to push the sidebar alongside the content area, Kubrick floats the content area and then uses a left-margin of 545 pixels to shove the sidebar over. This causes float and clear CSS rules to produce very odd results in the sidebar.

The attached patch changes the #sidebar left-margin from 545px to 50px and adds ""float: left"".

A site running the patched version of Kubrick has been tested in IE 6-8 and the latest versions of Firefox, Opera, Chrome, and Safari. All the browsers rendered the sidebar in the same position as before the patch with the exception of also fixing the float/clear problem.",chrisbliss18
12717,Ability to create new theme files.,nacin,Themes,,normal,normal,Future Release,feature request,reviewing,,2010-03-26T00:30:26Z,2010-06-21T06:18:43Z,"It would be really nice to be able to create a new file with the theme editor (e.g. loop-category.php) or a new page template for example, when you realise that you need one.

This is related to the last comment in #12716 as creating new versions of parent theme files in your child theme also would be very useful.

Yes.... I know you can use FTP to do this, but when you want to create a new page template quickly and you are in the wrong place it would be a very useful feature.
By the same argument we have the theme editor in the first place, let make it even more useful.",Dickie
11931,Day/Month/Year Permalink Structure Fails in Archives,ryan,Rewrite Rules,2.8.6,normal,normal,Future Release,enhancement,new,,2010-01-17T14:53:37Z,2010-06-23T17:02:55Z,"If you use a permalink structure with %day%/%monthnum%/%year% then the archives automatically become date/%day%/%monthnum%/%year%. Wordpress automatically makes the links to monthly archives date/01/2010 etc (which is good), but if you go to it you get a 404 not found.

Reproduce using for example /%post_id%/%postname%/%day%/%monthnum%/%year%/

I ""fixed"" it with this plugin I wrote, but it will probably fail when things like /page/2/ come into play (that wasn't really important yet). ",Frenzie
12720,Delete user and hook confusion when deleting users in Multisite,,Users,3.0,normal,normal,Future Release,defect (bug),new,,2010-03-26T12:42:59Z,2010-06-23T17:24:58Z,"Currently:
The hook ''wpmu_delete_user'' fires when deleting user in Super Admin->Users.
The hook ''remove_user_from_blog'' when deleting user under site Users->Authors & Users.
In standard WP:
The hook ''delete_user'' is called when deleting users it should be the same in MultiSite when deleting from Super Admin->Users.
Or add new hooks and deprecate previous.
''delete_user_from_network'' for when deleting a user totally.
''delete_user_from_site'' for when deleting a user from a specific site. This is hook also then fires in non-MultiSite mode since that then corresponds to one site.",andreasnrb
12582,user_registered action suggestion,westi,Plugins,2.9.2,normal,normal,Future Release,enhancement,new,,2010-03-11T11:10:48Z,2010-06-23T17:26:12Z,"I am developing theme that should include user login / registration (so we dont have to see wp-login.php ever again).

Now for login it was easy - with the help wp_login_url user is redirected back to whatever page we need after login.

To achieve same thing for registration i added new action in wp-login.php
{{{
$errors = register_new_user($user_login, $user_email);
do_action('user_registered', array($user_login, $user_email, $errors));
}}}
using this action now i can make wp-login.php redirect user to main page and display errors there.

Maybe this could be included in wordpress? Or maybe wp_login_url type function that can redirect user wherever needed? I would personally go with action as it gives much more freedom.",roxaz
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
12354,WP_WidgetArea class,,Widgets,,normal,normal,Future Release,enhancement,assigned,dev-feedback,2010-02-23T22:02:48Z,2010-06-25T17:19:31Z,"After a short discussion involving the state of the Widget API within another ticket's comments, it was proposed to me to create new ticket on this subject.

The idea is that in updating the Widget API, like the WP_Widget class, widget areas will have a similar registry structure.

In my opinion though, I believe that for backwards compatibility it should be integrated but remain separate from the current API for controlling sidebars, also like the WP_Widget class.

In the previous discussion, I said that a possibility could be creating a WP_WidgetArea class, and a WP_WidgetArea_Factory class to register and unregister them.

After some thought though, I believe this is pretty much unnecessary.

What is a widget? - It is a GUI module with a client-side and administrative view, wrapping how to control, use, and display data.

It is a form of MVC, and that's basically it! That being realized, I don't see a problem with adding one more default widget to the core:

WP_WidgetArea extends WP_Widget

This will allow dynamic generation of widget areas. Implementing how to edit these areas within the current interface is another story, though I have a kind of hacked logic I am unhappy with working in a released plugin of mine.

In the future, using widgets for widget areas will eventually depreciate the entire sidebar API. It would only depend on one global area to add and pull widgets from (the theme... cough...).

Also, with custom post types now becoming more prevalent, and this is just my imagination talking, widgets could become another form of the post object:

post_type = widget",jimisaacs
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
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
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
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
9378,Deprecate manage_category cap in favor of its object type's cap,,Taxonomy,2.7.1,normal,normal,Future Release,enhancement,new,,2009-03-23T10:51:17Z,2010-07-01T17:37:35Z,"I encountered a problem in WordPress 2.7.1 {{{ $wp_roles->remove_cap('editor', 'manage_links'); }}} doesn't remove that capability for the Editor role entirely, but it still displays the page ""link categories"", and you can perform actions on that page. This is because that page needs ""manage_categories"" instead of ""manage_links"".

I would propose to either require the manage_links capability for this page, or introduce a new capability (something as manage_link_categories for example).",mastermind
14020,Custom Taxonomy Form does not Show in Add/Edit Link page for Links,,Taxonomy,3.0,normal,normal,Future Release,enhancement,new,,2010-06-21T05:32:06Z,2010-07-01T17:42:37Z,"When a custom taxonomy is registered for Links, the Taxonomy form is not displayed in the Add or Edit Link page.  When changing the 'object' type to 'post' in the register_taxonomy code, it does display properly in the add/edit post page.

Here is the code that was used to register the taxonomy:


{{{
register_taxonomy( 'linkonomy', 'link', array('hierarchical' => false, 'label' => __('Link Tags'), 'query_var' => false, 'rewrite' => false) ) ;
}}}
",bennebw
7559,strip_tags() breaks category names with left angle brackets,ryan,Taxonomy,2.6,normal,minor,Future Release,defect (bug),reopened,,2008-08-20T22:17:19Z,2010-07-01T17:44:25Z,"If you create a category named ""<something"", the category name doesn't show up on any of the category listings.  If you create a category named ""some<thing"" the category name shows up as ""some"".",squirreling
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
14172,Implement $scheme in site info in ms-sites edit site,,Multisite,3.0,normal,normal,Future Release,enhancement,new,,2010-07-01T22:45:33Z,2010-07-03T19:17:45Z,"In WordPress 3.0 with Network enabled, if you were to click:

Super Admin -> Sites -> Edit (next to any site) and then change any of the Site Options i.e. wp_2_options the changes don't save. 

We're running a secure environment and need Siteurl to be HTTPS instead of HTTP. Changing all the parameters to https and clicking Update doesn't save the changes.",firmdot
9818,add a wp_notification functionality to output notices and errors on the front end,,Template,2.8,normal,normal,Future Release,feature request,assigned,,2009-05-14T09:28:25Z,2010-07-06T22:43:20Z,"On occasion, a plugin needs to return some kind of feedback. It would be nice if a standard hook existed for this.

It could go something like this:

add_filter(wp_notification, foobar)

foobar() appends to an array of notification messages that get displayed to the user on the front end.

then, on page load:

 - in wp_head if notifications is not empty, we add a style, wp_notification, that makes elements of this class invisible, and we load jQuery

 - if do_action(wp_notification) is explicitly called on the page, we display the messages in there, without the class, and disable the notification on the wp_footer hook

 - an action gets fired on wp_footer if do_action(wp_notification) is not called, and we use ajax to place the needed messages in a absolutely positioned div element, with a close button.

we could also add some kind of do_action(wp_commentform_notification), nearby the comments form, to output comment-related errors in their ""correct"" location as well.",Denis-de-Bernardy
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
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
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
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
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
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
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
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
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
13752,multisite loop,,Multisite,3.0,normal,normal,Future Release,enhancement,new,,2010-06-07T04:17:57Z,2010-07-17T10:32:56Z,"I've been experimenting with multisite/wpmu and it would be great if there were an actual multisite loop - added ""blog"" parameter to wp_query/querypost. It's possible to emulate a multisite loop with ""switch to blog"", ""get_posts"" and merged arrays, but it requires a hand-written paged navigation adding some arguments to the navigation links. It would be great if there was either a way to directly add blog parameter to the query string.",youngmicroserf
14087,Set up team to evaluate web-hosting providers for WP.org recommendations,,WordPress.org site,,normal,normal,WordPress.org,enhancement,new,,2010-06-25T13:47:32Z,2010-07-17T14:39:18Z,"The problem is simple to describe:

When setting up a CMS-based website, two of the most critical—if not the two most critical—decisions are:

 *  publishing platform
 *  web host
 
For the first you can pick at random among the best-known offerings and you won’t go much wrong.  (Or you can pick the most popular one, and, in most cases, you will have made the best choice! :-D)

But the second is different — or so my little experience tells me:  Fame and familiarity do not seem to be directly correlated with quality in the case of shared web-hosting, which is the best type of hosting for the majority of WP users.

And that’s unfortunate, because bad web hosting can ruin the experience of web publishing.

In addition, evaluting web hosts is not easy for a single individual, even for individuals who have the technical understanding, because it takes time and also money.

We, the people involved with WordPress development, are in a better position to offer some insight into the problem:  We are many, we have collective knowledge, and also collective experience.  So, here is my idea:

 *  Set up a team
 *  Set up a set of criteria
 *  Start evaluating services for a period of two or three months
 *  Publish the final recommendations on the WP.org page (along with the criteria used)
 
What do you think?",demetris
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
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
9232,introduce include_tree parameter to wp_list_pages,,Template,2.7.1,normal,normal,Future Release,enhancement,new,,2009-02-25T16:50:22Z,2010-07-23T15:53:16Z,"to match the excellent exclude_tree parameter, it would be invaluable to have the ability to list one page and have all it's children display as well. At present, there is no way to do this.

We should add a include_tree parameter to the wp_list_pages function. 

This addition would be helpful while creating drop down menus and side bar menus for sub sections of large websites. ",dwenaus
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
11674,Caption Short Codes Don't Work,,TinyMCE,,normal,critical,Future Release,defect (bug),reopened,,2009-12-30T19:07:55Z,2010-08-02T05:44:42Z,"I'm testing 2.9.1-RC1 now.  If I create a post, add a gallery plus a captioned image beneath it, this is what shows up in the HTML editing view:

{{{
<div class=""mceTemp"">

[gallery]

<dl id=""attachment_80"" class=""wp-caption alignnone"" style=""width: 160px;""><dt class=""wp-caption-dt""><a rel=""attachment wp-att-80"" href=""mytestsite/2009/12/test-post-3/wp-exif-bug/""><img class=""size-thumbnail wp-image-80"" title=""This is a supercool test"" src=""mytestsite/wp-content/uploads/2009/12/wp-exif-bug-150x136.jpg"" alt="""" width=""150"" height=""136"" /></a></dt><dd class=""wp-caption-dd"">Caption goes here</dd></dl></div>
}}}",miqrogroove
14412,User Registration via Templates,,Users,3.0,normal,normal,Future Release,feature request,new,,2010-07-25T00:21:41Z,2010-08-03T00:35:36Z,"To improve the vast multitude of WP installtions that utilize member registrations, I suggest and implore the development team to improve user registration via templates. The reasons are as follows:

- More secure
- More flexible
- Better customization options
- Better integration

I was prompted by this post: http://www.cozmoslabs.com/2010/05/31/wordpress-user-registration-template-and-custom-user-profile-fields/ the development of Hooks and Filters has made it relatively easy to make such improvements system-wide.",GuruXL
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
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
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@…
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
11727,Tag cloud widget - font size,nacin,General,2.9.1,normal,normal,Future Release,enhancement,reviewing,,2010-01-05T15:49:14Z,2010-08-11T17:23:12Z,"Hi

Not really a bug - but more a question.

The tag cloud widget displays the tags with different font sizes - this works correctly on my blog.

But I don't understand and I think it doesn't make sense to set the font-size with a decimal number:

eg. of HTML code


{{{
style='font-size: 9.3582089552239pt;'
}}}

An integer value of 8 to 22 should be correct in my opinion.

",tin68
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
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
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
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
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
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
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
14622,Be more specific with ideas,,WordPress.org site,,normal,normal,WordPress.org,defect (bug),new,,2010-08-16T10:46:03Z,2010-08-16T10:54:44Z,"In the current ideas section Ideas often get closed for not being core ideas.  However, there's not really an explicit indication that the ideas should be for WordPress core.  For example, some folk post ideas for WordPress.org (as a site). 

I realise Ideas is due for overhaul anyway, but in the mean time it'd be good to have just a one-liner in the blurb to explain more specifically the purpose of ""Ideas"".  Either that, or add a content section for ideas for ""WordPress.org site"" as we have on here.",mrmist
7605,Press This: Edit URL,noel,Press This,,normal,normal,Future Release,enhancement,new,,2008-08-26T20:35:04Z,2010-08-19T22:40:44Z,It'd be nice if the Press This bookmarklet had the same edit URL capabilities as the Wordpress administration.,awayken
7604,Press This: Post auto-saving,noel,Press This,,normal,normal,Future Release,enhancement,new,,2008-08-26T20:33:42Z,2010-08-19T22:41:12Z,It'd be nice if the Press This bookmarklet had the same autosave capabilities as the Wordpress administration.,awayken
12993,'get_current_blog()' and/or 'current_blog_id()' function?,,Multisite,3.0,normal,normal,Future Release,enhancement,new,,2010-04-14T08:32:48Z,2010-08-24T22:42:11Z,"I posted this over in the mu forums but realize it is pretty dead over there and may be better mentioned here:

http://mu.wordpress.org/forums/topic/17568?replies=2

It would be a great help to easily get the current blog's id as in 'current_blog_id()'. I searched the entire wordpress 3.0 and mu code and it is not mentioned anywhere.

'get_current_blog()' might imply something more complex that returns all a blog's info, which would be nice too.

But in the short term... 'current_blog_id()'?

People are currently having to call global variables to use $wpdb, $current_site and/or $blog_id. I feel all of these are messy and pretty generic variables to be using within theme or plugin files.",martythornley
14741,Allow MS sites to share a posts table,filosofo,General,3.0.1,normal,normal,Future Release,enhancement,new,,2010-08-30T22:20:24Z,2010-08-30T22:20:24Z,"MS should allow admins to set a constant in `wp-config.php` that looks for all post objects to be in the main `posts` table.  When that constant is true, one could distinguish sites by a postmeta value.

This would make activity-stream like stuff across sites much easier to do as well as allow network-wide custom post types.",filosofo
10432,"Dynamic classes for current blog post item, current term item",,Template,3.0.1,low,minor,Future Release,enhancement,new,,2009-07-17T14:35:33Z,2010-09-03T08:41:50Z,"wp_list_pages() produces a class .current_page_item for the page you are currently viewing. This makes it possible to style the current page item different from the other page items in the list.

But there are several other places the same functionality would come in handy: There should be equivalent ways to style the current blog post item in the Recent Posts widget, the current category in wp_list_categories(), and the current tag in wp_tag_cloud('format=list').",dnusim
11210,Split wp_new_user_notification() into two functions,westi,Plugins,2.9,normal,normal,Future Release,enhancement,new,,2009-11-20T22:05:31Z,2010-09-07T19:02:37Z,"`wp_new_user_notification()` sends emails to newly registered user and to admin. One of my plugins ([http://wordpress.org/extend/plugins/wypiekacz/ WyPiekacz]) redefines it in order to to disable emails sent to admin. Now I want to extend my other plugin ([http://wordpress.org/extend/plugins/user-locker/ User Locker]) so newly registered users will have to activate theirs accounts by clicking on link sent in email. In order to do this, I have to redefine the same function. I how to do this so both plugins could work at the same time - this is not a problem for me. 

However it will be better to allow to redefine only part of `wp_new_user_notification()` function - either one which sends email to new user, or to admin. Therefore I ask to split this function into two new ones. Attached patch does this.",sirzooro
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
14932,Featured Images: No way to custom crop when used as headers,,Themes,3.0.1,normal,normal,Future Release,enhancement,new,,2010-09-22T09:59:34Z,2010-09-22T14:27:21Z,"Custom Headers have Custom Cropping

When a theme uses featured images for per-post headers you don't get that goodness.

Makes feature images more ghetto for custom headers than they should be.",westi
13659,Incorrect permissions created by wp_mkdir_p() when safe mode is used,,Upload,2.9.2,normal,normal,Future Release,defect (bug),new,reporter-feedback,2010-05-31T16:38:00Z,2010-09-23T18:06:56Z,"When safe mode and sgid directories are used, the function wp_mkdir_p() frim wp-includes/functions.php will failed to create to create a directory with correct permissions.

How to test the problem on wp_mkdir_p() function:
- Create a directory, set the permission to 02777
- Put the file named poc.php in this directory
- safe_mode is on, safe_mode_gid is on
- php (apache) is run by a user other than the file owner
- call the poc.php script via an url

Result:
Sub-directory /1/2/3/4/ hasn't been created due to safe mode restriction.

Explanation:
Any file or directory created in a sgid directory inherits the group owner. When safe mode is used, chmod() cannot set the SUID, SGID and sticky bits and the chmod() calls will remove the expected permission.

Patchs:
There is a least two possibilities:
* Don't call chmod at all (Need to check if non Unix system, Windows, is affected).
* Don't call chmod if safe_mode is enable and sgid permission is present",cgrenier
11303,XMLRPC (and APP) APIs should expose all Post/Page/Comment management functionality,westi,XML-RPC,2.9,normal,normal,Future Release,task (blessed),assigned,close,2009-12-01T22:26:01Z,2010-09-23T20:34:55Z,"In #11243 we hid the trash status from {{{wp.getPages()}}} we also hide it for pages (and comments I guess).

Really these apis should be fully featured to allow clients to support the new things the api does.

We should revert the change made for trash for 2.9 and promote the fact that clients should be graceful when using these apis so as to cope when we introduce new features.

We also need to review the need for extra apis to allow trashing/untrashing of posts/pages/comments etc.",westi
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
12905,the_title_attribute() is hard to internationalize,nbachiyski,I18N,3.0,normal,normal,Future Release,defect (bug),new,,2010-04-07T19:47:17Z,2010-10-01T23:29:44Z,"To internationalize the output of the_title_attribute, you have to go through some hoops.

{{{
printf( esc_attr__( 'Permanent link to %s' ), the_title_attribute( 'echo=0' ) );
}}}

Adding a 'formatted' argument to the args array would clean it up a little.

{{{
the_title_attribute( array( 'formatted' => __( 'Permanent link to %s' ) ) );
}}}

Even better would be if we could auto detect what the first parameter was.

{{{
the_title_attribute( __( 'Permanent link to %s' ) );
}}}

It'd require the function to try and detect if it's first argument were a sprintf format.  Maybe: look for %, if found, does sprintf return a string, if so, go for it.

Attached is one way to implement.",mdawaffe
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
12657,wp_signon() adds one filter per call,,General,3.0,normal,normal,Future Release,defect (bug),new,,2010-03-20T11:52:10Z,2010-10-02T00:35:56Z,"If wp_signon() is called multiple times, the filter will be added multiple times. Next to this a lot of the function seems to be just typed in in the wish that it does work instead of doing things properly. See quote: ""ugly hack to pass this to wp_authenticate_cookie"" or leftover TODO markings and the like.

Should be put in order prior to next release.",hakre
11692,"Add post-tumbnail to the main ""Posts Edit SubPanel""",,Post Thumbnails,2.9,normal,major,Future Release,enhancement,new,,2010-01-02T16:58:29Z,2010-10-03T21:04:17Z,"In '''[http://codex.wordpress.org/Media_Library_SubPanel Media Library SubPanel]''' we can see the image/media tumbnail. i want to see the tumbnail from '''[http://codex.wordpress.org/Posts_Edit_SubPanel Posts Edit SubPanel]''' too (or from ""Quick Edit"").

This way, if no tumbnail attached to post, blog owners will see it from the main subpannel rather them from the single post edit.


(bad english, i know. sorry.)",ramiy
10975,comment form nonce,,General,,normal,normal,Future Release,enhancement,new,,2009-10-19T06:49:16Z,2010-10-06T20:09:02Z,"This adds a nonce to public comment forms, via the comment_form action.
",tellyworth
14941,dynamic unloading and loading of plugins,,Multisite,3.0,normal,normal,Future Release,feature request,reopened,,2010-09-22T20:13:37Z,2010-10-06T20:18:33Z,"The short:
If I'm blog 1 and I switch_to_blog(2), I'm still running in the environment of blog 1.  All blog 1's activated plugins are active, and not all of blog 2's plugins necessarily are.

The long:
I first ran into the problem trying to get Subscribe2 (S2) to work well with Site Wide Tags (SWT).

SWT basically works like this:
When someone makes a post on their blog: switch_to_blog(aggregrate_blog_id); 
wp_insert_post(...); 
restore_current_blog();

S2 says that whenever someone inserts a post, to send an email alert out.

With both of these plugins enabled, a post always generates TWO emails, regardless of whether S2 is active on the aggregate blog.  The same is true for any behavior that triggers on a new post being created (such as automated tweeting, etc).

I feel that, if I'm really switching to that blog, I should be running more comprehensively as it.  That is, with its plugins active, and none of its un-activated plugins active.

The examples of conflicts I gave are blog behavior, and are more or less just annoying, but I could easily see this causing unforeseen security flaws as well.",madtownlems
15068,merging query objects/arrays,,Query,3.0.1,normal,normal,Future Release,enhancement,new,,2010-10-08T04:27:58Z,2010-10-08T14:43:09Z,"As multiple post type installations proliferate, I assume more and more people will come across a situation (like me) in which they need to display two (or more) sets of content units, say posts, and post-type ""audio"" in one stream - say on the main blog page. As long as the only condition is the post type itself, that will work fine. However, if those two sets need to be selected using different conditional criteria, say a category in one case, and a custom field in the other, then the current query_posts options will not be sufficient.

While it is possible to retrieve multiple arrays via get_posts and merge them, then sort them using cusomt php, such a solution will break the paged navigation.

If such situations will - as I assume - become more likely as more people use multiple post types and additional variables to specify content, I think it would be useful to be able to combine multiple queries into a meta query that will sort the combined object according to a common sorting variable, say date, and thus preserve the paged navigation.
",youngmicroserf
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
13691,Make get_template_part() accept multiple template names,,Template,,normal,normal,Future Release,enhancement,new,,2010-06-02T03:19:34Z,2010-10-10T21:59:14Z,"This enhancement allows get_template_part() allows to pass several template names, to work in the same way as: locate_template()

so, you could call,

get_template_part( 'loop', array('category', 'taxonomy', 'archive') );


$names are passed by order of priority.",wjm
12036,"Importing from wordpress exported file renders ""Remote file is incorrect size"" because file cache",,Import,2.8.6,normal,normal,WordPress.org,defect (bug),new,dev-feedback,2010-01-26T14:43:08Z,2010-10-18T16:49:10Z,"Hi,

I haven't confirmed this on other platforms, but my OS X machine seem to have an issue when downloading media content from a third party during an import of an wordpress.xml. And by quickly searching the net it seems other people have the same issue.

I've re-run the same import several times and it seem because the file was not flushed it may not have been updated with the file correct size. So even thought all bytes was written, the filesize($upload['file']) is not the same. When thinking about the issue I found the check ridiculously and removed it. Importing then works and all media images are downloaded properly. Previously maybe 50% received the error.

I've attached my proposed diff.",stelund
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
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
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
9324,Let wp_link_pages do pagination when static page is used for front page,sorich87*,Template,3.0,normal,major,Future Release,defect (bug),accepted,,2009-03-12T17:20:02Z,2010-10-26T13:22:00Z,"Mentioned on WP-Hackers. If a static paginated page is used for the front page and wp_link_pages is used in the theme, the pagination links will return 404 because get_permalink will return the front page URL as the root of paginated links. I marked it as a bug since it can cause 404 errors if you don't know about it.

The enclosed patch tests for is_front_page and static pages using alternate _get_page_link functions for paginated content and using get_permalink for standard paginated links. It even works when a child page is set for the front page. 

This was a quick patch from a custom function, so it could probably be written a little better.",ev3rywh3re
15217,wp importer trunk regression: no longer accepts gz files,duck_,Import,3.1,normal,normal,WordPress.org,defect (bug),reopened,,2010-10-26T04:16:21Z,2010-10-26T18:41:24Z,"wordpress-importer trunk r304267 no longer accepts gzipped WXR files.

This is a regression from the current wordpress-importer importer, v0.2 .

== Actual Results ==

""Sorry, there has been an error.
There was an error when reading this WXR file""

== Environment ==

WordPress Trunk r14360 (3.1-alpha) [[br]]
wordpress-importer trunk [http://plugins.trac.wordpress.org/browser/wordpress-importer/trunk r304267]

== Additional Details ==

Relates to #15197  ""WXR export/import umbrella ticket""

I notice that same error message ""There was an error when reading this WXR file"" is in two parts of the source. It might be better to make each error message more unique and add additional details.",lloydbudd
14988,Site admins should be allowed to add existing users without also enabling creation,,Multisite,,normal,normal,Future Release,enhancement,new,,2010-09-29T07:08:11Z,2010-10-27T08:11:35Z,"Blog admins are allowed to add users to their multisite blog when the ""add new users"" network setting is turned on.

Unfortunately this allows them to both add existing users, and create new users. There should be a way, potentially just with a filter versus an option, to limit that to only add existing users, and prevent the creation of new users without going through the public registration process.

Use case: WordPress.com does exactly this.

Alternative use case: WordPress.org uses a pretty crazy SSO setup. We should not be allowed to create new users through the admin, but it would be very helpful to allow administrators to add users to a blog without going through the network admin (or asking a super admin).

Real world use case: Any blogging network like WordPress.com, or crazy synchronized login system like WordPress.org, would want this.",nacin
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
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
13269,Ability to list by user role in wp_dropdown_users,,Role/Capability,,normal,normal,Future Release,feature request,new,,2010-05-05T22:05:20Z,2010-10-27T11:52:42Z,"Hi Everyone!

I am using custom post types and during my experimentation I found it the best to create a new role as well. In short, a website will be hosting seminars, and we have seminars as a custom post type, and seminar speakers as a role (we want to be able to manage them as users, but restrict blog access). 

Since they are not authors, they will not show up in the author box on the new post page, so I added a new meta box, which contains a select box to select the speakers we need. 

For this I need to create a custom query, but it would be great if a simple attribute were added to the function wp_dropdown_users(). The argument could be ""role"" and you would need to add the name of the role, like ""speaker"". 

I hope this is something  useful to others too! While I have a pretty good understanding of the WP core now, I am not really comfortable checking out files yet, so sorry for not actually writing the code. ",danielpataki
13528,Edit Image Link (None/Post/Post) to (None/Post/ImageSizes/File),,Post Thumbnails,3.0,normal,normal,Future Release,enhancement,new,,2010-05-25T02:07:36Z,2010-10-27T12:25:49Z,"With the current Edit popup for images, you can only select the following link types for images:
[None] [File] [Post]

With my patch you select also the other image sizes (large/medium/thumbnail/full) as link destination or just plain file if it's not an image.

Patch is attached in the report",Wollari
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
13857,"Email notifications lack a link to the comment, from address could be improved",,Comments,,normal,normal,Future Release,enhancement,new,,2010-06-11T21:27:24Z,2010-10-28T01:47:17Z,"'''Email Notification'''
For the 6+ years I believe I have been using WordPress, the emails that notify me someone has made a comment have several links in them.

'''Fields within an email notification'''
Email, Url, Whois, Comment, All Comments, Delete, Spam

The comment, at least in plain text emails, contains html markup, which often is encoded making it hard to read, depending on the comment complexity.  I suggest a simple strip_html style function be ran on the comment copy.

The link to the comments only takes you to the comments, but does not add in the identifier in the url to take you to that specific comment.  The blog I am managing has 30+ comments on each page, making it harder than it should be to get to the comment and reply.

An example of a better method might be:
http://example.com/foo-bar-baz/#comment-7348
Compared to:
http://example.com/foo-bar-baz/#comments
----
'''Email Headers'''
The From header in the email is is correctly set to the ""Name"" value the user filled into the comment form, the email address is set to wordpress@example.com where example.com is the domain of the site.

However, the reply-to header is correctly set to the actual sender.  Bounces (NDR's) and the cosmetic view of an email could all be improved with a simple condition:

{{{
if is_valid(emaIl) then
  from = name & ' <' & email & '>'
  reply-to = from
else
  // looks like they did not set the data
  // fall back to some sane defaults
end if
}}}


",hexley
13875,Upgrading from pre-2.3.0 yields database errors,,Upgrade/Install,2.9.2,normal,normal,Future Release,defect (bug),new,,2010-06-14T00:01:56Z,2010-10-28T01:51:56Z,"When upgrading a 2.2.3 to 3.0-rc3 using wp-admin/upgrade.php, three database errors appear signaling that delete_site_transient() misfunctions, as a column value for option_description is not given 
(in a way, this is #4921 again).

The upgrade script should either a) give a default value to that column or b) delete it earlier in the upgrade process.

--8<-- (error msgs follow)

WordPress database error: [Field 'option_description' doesn't have a default value]
INSERT INTO `options` (`option_name`, `option_value`, `autoload`) VALUES ('_transient_doing_cron', '1276472580', 'yes') ON DUPLICATE KEY UPDATE `option_name` = VALUES(`option_name`), `option_value` = VALUES(`option_value`), `autoload` = VALUES(`autoload`)

WordPress database error: [Field 'option_description' doesn't have a default value]
INSERT INTO `options` (`option_name`, `option_value`, `autoload`) VALUES ('_site_transient_timeout_theme_roots', '1276479782', 'yes') ON DUPLICATE KEY UPDATE `option_name` = VALUES(`option_name`), `option_value` = VALUES(`option_value`), `autoload` = VALUES(`autoload`)

WordPress database error: [Field 'option_description' doesn't have a default value]
INSERT INTO `options` (`option_name`, `option_value`, `autoload`) VALUES ('_site_transient_theme_roots', 'a:2:{s:15:\""philippus-do-de\"";s:7:\""/themes\"";s:9:\""twentyten\"";s:7:\""/themes\"";}', 'yes') ON DUPLICATE KEY UPDATE `option_name` = VALUES(`option_name`), `option_value` = VALUES(`option_value`), `autoload` = VALUES(`autoload`)
",tinne
13926,Adding 'page-attributes' to a custom post type slows down edit screen in the admin,,General,3.0,normal,normal,Future Release,defect (bug),new,,2010-06-16T20:01:17Z,2010-10-28T01:52:55Z,"When I add 'page-attributes' to a custom post type it takes roughly 1.5 to 2 min for the edit screen to load...  When I remove 'page-attributes' edit screen load is extremely fast.

Under the post type i created I have 5000+ entries.",granulr
13949,Add a sprintf style argument to wp_list_categories() for title tag.,,Taxonomy,,normal,normal,Future Release,enhancement,new,,2010-06-17T18:01:20Z,2010-10-28T02:10:59Z,"By default, wp_list_categories() will use the value of $term->description for the title tag of every link that it generates. If the argument ""use_desc_for_title"" is set to false, it will produce a string like: ""View all posts filed under $term->name"". With the inclusion of custom post_types into core, it would be wonderful to have more control over this title. The best solution that I can think of is to add a sprintf style argument which will allow themes and plugins to provide a custom format. Something like:

'title_format' => 'View all tacos posted under %s.'

",mfields
14096,More protection against fatal errors from plugins,,Plugins,,normal,major,Future Release,feature request,new,dev-feedback,2010-06-26T05:36:27Z,2010-10-28T05:26:52Z,"Willing to split this into more tickets if these ideas gain traction.

'''More realistic sandboxing.''' It would be interesting to perhaps kill most of the WP environment while trying to sandbox a plugin on activation, to catch more fatal errors. For example, unset $wp_rewrite, which would prevent add_rewrite_tag() issues (on activation) for plugins incorrectly trying to register rewriting for taxonomies or post types. Of course, most of these plugins are already running on a blog when the auto-upgrade happens. Hence the second item:

'''Check plugins before an auto-upgrade.''' We can do plugin update checks to verify their compatibility (as reported by the author?) with the version they are about to upgrade to. If the plugin is in the repo and is not identified as compatible with that version, then very strongly advise they deactivate it (and consider doing it for them).

'''Check a site after an auto-upgrade.''' Since we only recommend deactivating plugins on auto-upgrade, and I'm not sure we should forcibly do that as part of an auto-upgrade, then let's check the site after an upgrade. Hit wp-load with an HTTP request and look for a header we spit out on the wp_loaded hook. If we don't get a header, then deactivate all plugins and tell the user ""told you so"". We could consider trying to reactivate plugins until one fails as well (also a valid option for the previous suggestion).",nacin
14108,Unify registration between single site and network configurations,,General,3.0,normal,normal,Future Release,enhancement,new,,2010-06-26T22:14:40Z,2010-10-28T05:32:20Z,"The registration processes in 3.0 differ between single site registration and network signup. We should look at unifying the registration process. One way we could do this is

- keep the existing registration process for single sites
- in a network, users register first using the same process as single sites
- in a network, once registration is complete, direct the new user to the site creation page (which could be somewhere in the dashboard) where they could create their site

There are also several open tickets related to issues with the network signup process:

#13827
#12022
#12030
#12032

(There may be more.) We could clean up/eliminate these in process. I'd like to see this included in the discussions once we get closer to the 3.1 dev cycle.

",wpmuguru
14113,Function that could improve the current edit_post_link(),,Template,3.0,normal,normal,Future Release,enhancement,new,,2010-06-27T15:20:42Z,2010-10-28T05:37:38Z,"Basicly this function is the same than [http://core.trac.wordpress.org/browser/trunk/wp-includes/link-template.php#L820 edit_post_link()] but some little differences which can make it more useful for developers. So far it has two advantages:

'''1)''' The edit link can be easily returned.

'''2)''' It's possible to choose a class for link tags.

{{{
// Returned
function wp_get_edit_link($args = '') {
	$defaults = array(
		'link'   => null,
		'before' => '',
		'after'  => '',
		'id'     => 0,
		'class'  => 'post-edit-link'
	);

	$r = wp_parse_args($args, $predet);
	extract($r);

	if ( !$post = &get_post($id) )
		return;

	if ( !$url = get_edit_post_link($post->ID) )
		return;

	if (null === $link)
		$link = __('Edit This');

	$post_type_obj = get_post_type_object($post->post_type);
	$link = '<a class=""'. $class .'"" href=""' . $url . '"" title=""' . esc_attr( $post_type_obj->labels->edit_item ) . '"">' . $link . '</a>';
	return $before . apply_filters('get_edit_link' , $link , $post->ID) . $after;
}

// Echoed
function wp_edit_link($args = '') {
	echo wp_get_edit_link($args);
}
}}}

'''Example using the function:'''

Returning:

{{{
<?php 
$var = get_wp_edit_link('before=<span class=""my-edit-class"">&after=</span>&class=my-link-class&link=Edit me!');
echo $var;
?>
}}}

Echoing:

{{{
<?php wp_edit_link('before=<span class=""my-edit-class"">&after=</span>&class=my-link-class&link=Edit me!'); ?>
}}}

Results on:

{{{
<span class=""my-edit-class""><a class=""my-link-class"" href=""http://url.to/post.html"">Edit me!</a></span>
}}}",metacortex
14650,"Make ""Press This"" use post-new.php",,Press This,,normal,normal,Future Release,enhancement,new,,2010-08-19T22:37:19Z,2010-10-28T06:09:21Z,"Press This is really neat, but it doesn't take advantage of recent developments, such as auto-drafts or oEmbed.

I think that, with a little ingenuity, we can make PressThis use the post-new.php screen.

I wrote a plugin to prove the viability of the idea: [http://wordpress.org/extend/plugins/press-this-reloaded/ Press This Reloaded]",scribu
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
14209,"Authentication data check button for ""Post via e-mail""",,Plugins,,normal,normal,WordPress.org,feature request,new,,2010-07-06T13:05:00Z,2010-10-28T06:36:59Z,"Allowing the user to check the ""Post via e-mail"" POP3 data in Settings->Writing ""on the fly"" seems like a nice enhancement. A simple AJAX button would be a significant improvement compared to the current solution. ",wojtek.szkutnik
14215,MultiSite: Add new > different username from blog title,,Multisite,3.0,normal,normal,Future Release,feature request,new,,2010-07-06T18:09:37Z,2010-10-28T06:38:44Z,"I would like to request that the current system for adding a new blog site be expanded so that as admins, we can specify a different username that's unrelated to the blog title. That is, in '''Site Admin -> Add New''', at the bottom of the page, add a new field specifically for the username. For that matter, it would be useful to also have a field to be able to specify the password, and perhaps a little checkbox that allows you to optionally prevent an email from being sent. These features are really useful when you're manually adding sites for employees, students, and the such.

I had provided a fix for wpmu 2.8.4 at one point (with a better explanation and details), you can see the thread here: http://mu.wordpress.org/forums/topic/12945

An example of the final result: http://img696.imageshack.us/img696/2551/addblogwordpress.png",Person
13069,Use GlotPress list of locales instead of the one in ms.php,nbachiyski,I18N,3.0,high,minor,Future Release,defect (bug),new,,2010-04-21T11:45:41Z,2010-10-28T07:18:48Z,GlotPress keeps track of all languages and locales with some information about them. The list there is also well maintained.,nbachiyski
6379,"Image Insert section is confusing, not properly separated from Image Editing",markjaquith*,Upload,2.5,normal,normal,Future Release,enhancement,accepted,,2008-03-25T06:29:59Z,2010-10-28T08:21:47Z,"This whole section:

[[Image(http://img339.imageshack.us/img339/7967/picture1td7.png)]]

... is related to inserting that individual photo into the post, but it is slammed together with photo settings that you can change and save.  We really need to demarcate the ""Insert Image into Post"" section better.

Other issues:

 * ""None"" alignment radio button is not selected by default.
 * The Link URL section is incredibly confusing.  At first I thought that was where you could edit the filename.
 * Pressing input buttons to make your link URL selection is unnatural.",markjaquith
12719,"Custom taxonomy with query_var set, gets taxonomy query_var appended anyway",dd32*,Query,3.0,normal,normal,Future Release,enhancement,accepted,,2010-03-26T12:42:16Z,2010-10-28T08:24:18Z,"In my browser address field, appending my WP url with ""?customtax=termslug"", the real WP query string gets changed to ""?customtax=termslug&taxonomy=customtax&term=termslug"".

This causes cases where I append two custom taxes in the URL to not work. E.g. ""?customtax1=termslug1&customtax2=termslug2"" would result in something like ""?customtax1=termslug1&taxonomy=customtax1&term=termslug1&customtax2=termslug2"" and not work.

If i two sets of custom taxonomies and slugs manually through a query_posts it works, and is not modified by WP.",Silkjaer
14969,"menu element ""all (direct) child pages""",,Menus,3.0.1,normal,normal,Future Release,enhancement,new,,2010-09-26T20:16:39Z,2010-10-28T08:25:22Z,"One of the things I am missing in the current menu-system is the ability to assign parts of the page tree to, say, a sub-menu, so, say, all child pages of a parent will be listed instead of having to add them manually to the submenu once the menu has been created.",youngmicroserf
14126,Add hook for message on admin-header in h1-privacy,,Administration,,normal,normal,Future Release,enhancement,new,needs-refresh,2010-06-28T08:35:10Z,2010-10-28T08:46:46Z,"Add a hook for add a message inside from h1 in admin-header.php, same as privacy message in WP 3.0, see example images: [http://drp.ly/1glQ2G]
I think, its great for the UI and create messages about all sites in backend. I change also the ID in class, no redunace on use this style.
Please see the files and sorry for my bad english.",bueltge
10489,UI Improvements for the gallery tab (edit post),,Gallery,2.8.1,normal,normal,Future Release,enhancement,new,,2009-07-26T11:52:10Z,2010-10-28T08:48:06Z,"It would be nice to ever display the ""Gallery Settings"" Section on the gallery tab, even if only one image exists. That would help if you talk via phone and explain someone something. Often from-sections are helpfull to validate wether or not the other is on the same page as you are while explaining something.
",hakre
11319,oEmbed should be integrated into Add ... from URL experiences,,Editor,2.9,normal,normal,Future Release,enhancement,new,,2009-12-03T22:55:05Z,2010-10-28T08:50:33Z,"oEmbed should be integrated into Add ... from URL experiences

enhancement, ENV: WP 2.9-beta-2 ++ (trunk r12320)

For WP 2.9 we removed oEmbed from the UI, #11288.

The ""Embed"" field did not validate the oEmbed, that is part of the reason I recommended not incorporating UI for WP 2.9 -- I think JS based validation is essential to a good experience.

If you use the ""Insert an image from another web site"", once you input a URL, WordPress should automatically check if it is an oEmbed link and adjust and populate the fields as appropriate.

ADDITIONAL DETAILS

If JS is disabled, I see little benefit to including a oEmbed form. The ability just to include oEmbeds on their own line in the content seems like a good balance.",lloydbudd
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
12839,Should sandbox themes on activate to prevent fatal errors,,Themes,3.0,normal,normal,Future Release,enhancement,new,,2010-04-04T06:16:25Z,2010-10-28T09:11:30Z,"I've just made a child theme of TwentyTen by copying the folder over, renaming, and adding a Template: header to the style.css file.

Upon activation, I've been thrown to a page with a fatal error due to redefining a twentyten function.

Ideally, theme activations should be passed through a sandbox style activation the same as plugins.",dd32
12934,Allow a menu to be added as a menuitem to be a submenu.,ryan,Menus,3.0,normal,normal,Future Release,enhancement,new,,2010-04-08T21:55:32Z,2010-10-28T09:12:09Z,"Add capability to add a menu as a menuitem to be a submenu thus allowing multiple menu items to share the same submenus.

See reference in April 8 devchat:

https://irclogs.wordpress.org/chanlog.php?channel=wordpress-dev&day=2010-04-08&sort=asc#m106225",mikeschinkel
13247,Drag/drop for add menu item boxes,koopersmith,Menus,3.0,normal,normal,Future Release,enhancement,new,,2010-05-04T07:12:03Z,2010-10-28T09:25:22Z,Because checkboxes are no fun. This first patch covers dragging from view all and most used. Search still has bugs.,koopersmith
13273,"Allow ""'non-clickable"" menu items",,Menus,,normal,minor,Future Release,enhancement,new,,2010-05-06T10:58:50Z,2010-10-28T09:26:20Z,"In the new menu generator I'm missing the option to create ""non-clickable"" menu items. 

What I'm after is that I want to create for example a main menu item with the title ""Links"" which is non-clickable (no url attached to it) and basically only acts as an umbrella item for the actual links I want to locate as subitems of the item ""Links"".

- Home
- Something else
- Links (this one should be non-clickable)
  - external link 1
  - external link 2
  - etc

I think that an optional tickbox in the add link section will do the trick. Basically, all it has to do is to ""disable"" the check whether or not a valid URL format has been submitted and, of course, it has to trigger some modified html output.

Hope you guys can add this in the 3.0 release because this would basically complete the menu generator :)

Keep up the good work and I'm really looking forward to the 3.0 release!",stgoos
13522,Add 'description' setting for thumbnails/featured image and show that text in metabox,,Post Thumbnails,,normal,normal,Future Release,enhancement,new,,2010-05-24T17:45:36Z,2010-10-28T09:33:14Z,"== Problem: Featured Image Metabox is Confusing ==

Currently the featured image metabox is very sparse and does not explain what will happen with the image at all. This can be confusing for users who didn't create their own theme, especially if multiple image sizes will be used and created, since they only see one size and might not check all parts of the theme after publishing. 

This is relevant both to simple sites where the admin is installing 3rd party themes they are unfamiliar with and enterprise sites with lots of users who haven't necessarily been trained to know exactly what the featured images will be used for.

== Solution: Let themers display a description ==

[[Image(http://simianuprising.com/wp-content/uploads/2010/05/wp-trac-featured-image-description.png)]]

Somewhere in the images/thumbnails API themers need the ability to add a description of how featured images are used in the theme so that this text can be shown in the Featured Image metabox. That way they could explain complex situations (or simple ones). 

Examples:

 * The featured image will be shown on archives next to the optional excerpt of posts.

 * 3 different sizes of featured image will be used: 50px - shown next to the post title in sidebar headlines. 150px - shown next to post excerpts on the homepage and archives. 500px - shown in the slider on the homepage.

And of course, for our favorite new theme, twentyten:
  
 * This image will be used in the header of the site behind the site title when viewing this article.

Allowing these labels will give themers as much flexibility as they need for explaining the system within the UI and will sidestep a lot of other issues with the thumbnails system and its lack of communication about thumbnail sizes and uses. I think almost any scenario could be summarized here and in almost any non-standard scenario having this text available will have a positive effect on thumbnail quality.

This situation is very similar to #11157 which added descriptions to sidebars. When these APIs are used on complex sites the developers need a chance to communicate directly with users to explain how the data entered will behave.

== Technical solution ==

I'm not sure what they best way to do this technically would be. The featured images system isn't well set up to handle metadata like this unfortunately. Ideally it would accept sets of parameters the way register_sidebar() does, but add_image_size() instead uses straight up arguments. 

If nothing else the simplest solution might be to add a new function that applies globally to the post thumbnail system, something like 

{{{
set_post_thumbnail_description($text);
}}}

Alternately we could add another argument to set_post_thumbnail_size:

{{{
set_post_thumbnail_size( $width, $height, $description );
}}}

Ideally the label and all other metadata should be set using the main call that turns on the feature, add_theme_support(), but that function is pretty basic and has no intelligence about the features themselves. Not sure why the thumbnails system is set up this way at all rather than having the on/off switch be the same as the function used to define how the feature will actually work. 

The naming for this solution is frustrated by the more general situation of naming for 'Featured Images', who's label was changed without any changes to the function names, as discussed in #12554. IMHO an overhaul of the entire API is in order that would incorporate this ticket and solve other problems in the process.

== Interim Solution Until this is implemented ==

If you want this effect without waiting for the api to change it can be done very easily with a couple lines of jQuery to insert the text in the metabox. This solution is or course '''not futureproof'''. Add the following in the admin somewhere (like admin_footer action hook:
{{{
jQuery(document).ready(function($) {
	$('#postimagediv .inside').prepend('<p>DESCRIPTION TEXT</p>');
});
}}}

",jeremyclarke
13767,Custom background uploader doesn't highlight max upload size,,Template,3.0,normal,normal,Future Release,enhancement,new,,2010-06-07T13:43:30Z,2010-10-28T09:34:17Z,"When uploading a file from the custom background handler, you cannot tell in advance if it'll succeed or not if the file is too large. WP should advertise the max size, and the available space where relevant (see also #13765).",Denis-de-Bernardy
13837,"Better site rewrite handling and UI, fix hard/soft rule flushing",,Rewrite Rules,,normal,normal,Future Release,enhancement,new,,2010-06-11T00:13:17Z,2010-10-28T09:38:07Z,"Per discussion in IRC. We want to cleanup and make hard/soft rewrite rule flushing consistency, etc.",wpmuguru
13924,Provide 'reasons to update' text with core update notice in GUU,,Administration,3.0,normal,normal,Future Release,enhancement,new,,2010-06-16T19:39:25Z,2010-10-28T09:38:35Z,"Just like plugins can enter some text to ID why they should be upgraded, we should have this for core. ",jane
13983,Add Update Network action link after updating,,Upgrade/Install,3.0,normal,normal,Future Release,enhancement,new,,2010-06-18T20:49:58Z,2010-10-28T09:39:56Z,"After updating an installation with MultiSite enabled, one of the following should happen :

(a) There should be an action link to '''Update Network''' as well as or instead of the one to '''Go to Dashboard'''.

(b) The Update Network process should be part of the Update process",caesarsgrunt
11338,Custom Walker initialize error,,Inline Docs,2.9,normal,normal,Future Release,enhancement,reopened,,2009-12-05T17:24:42Z,2010-10-28T09:40:46Z,"While I was delvoping a customer walker for my wp_list_pages, I was having trouble getting it to read my customer extended class of Walker_Page. I was talking with DD32 last night and he came up with the solution..

{{{
wp_list_pages(array('walker' => 'new Walker_Page_Rabbit', 'title_li' => '', 'depth' => '1')); 
}}}

...instead of...

{{{
wp_list_pages(array('walker' => 'Walker_Page_Rabbit', 'title_li' => '', 'depth' => '1')); 
}}}

Clearly the reason for including the ""new"" was because in the 'category-template.php' and 'post-template.php' had...

{{{
 	if ( empty($r['walker']) )
 		$walker = new Walker_Page;
 	else
		$walker = $r['walker'];
}}}

I found out that having 'new' in the 
{{{
$r['walker']
}}}
..caused a mismatched argument in the...

{{{
return call_user_func_array(array(&$walker, 'walk'), $args);
}}}

'new' would be passed on. Once I changed the code in the 'core' to include the new and I would define just 'Walker_Page_Rabbit' in the 'wp_list_page' and it worked perfectly.

{{{
 	if ( empty($r['walker']) )
 		$walker = new Walker_Page;
 	else
		$walker = new $r['walker'];
}}}

This is a major blocker for any people who are working on customer walkers. Attached is a patch that does work.
				",ShaneF
14364,"""Now"" button for current date in update post published date and time",,General,3.0,normal,normal,Future Release,feature request,new,,2010-07-20T15:16:00Z,2010-10-28T10:05:40Z,"It would be very convenient to have a button called ""Now"" in ""Edit post"" window in ""Published on: date @ time"" section. 

Google likes to know when old posts gets updated. So it is recommended to update post ""published on:"" date when post content is updated. When a user wants to update publishing time and date of a post, he must click ""Edit"", then manually enter year, month, day, hour and minute of current date and time and then click ""Update post"". It is quite slow and dull process but it could be automated easily with a new button.

It would be very nice to have a button called ""Now"" which should automatically fill in year, month, day, hour and minute fields with values of current date and time. 

Whenever a user updates post publishing date and time, the date and time that he/she usually enters is current date and time. The ""Now"" button would be a big time saver for users who update their posts.",dovydas
14373,In-editor image downsizing uses HTML resizing instead of actual resize,,General,,normal,normal,Future Release,feature request,new,,2010-07-21T05:30:44Z,2010-10-28T10:06:47Z,"This comes as a suggestion from Google, who wants to help publishing platforms deliver content faster.

When you use the in-editor image downsizing functionality (the percentage slider), it does an HTML downsize. This can lead to bigger image requests than are necessary. An actual resize for local images would result in a more efficient load.",markjaquith
14375,Post pagination should have a show all option,,Template,3.0,normal,normal,Future Release,feature request,new,,2010-07-21T07:03:29Z,2010-10-28T10:08:00Z,When people use the nextpage html comment tag to paginate posts we should also have a show all link displayed to make it easier for people to read the whole content without pagination.,westi
14653,Log IP address un UserMeta when account is created,,General,,normal,normal,Future Release,feature request,new,dev-feedback,2010-08-20T01:41:24Z,2010-10-28T10:18:48Z,"As WordPress becomes more and more a CMS for everything, not just blogs, managing users becoms more important.  With MultiSite and user registration more open, WordPress should have a built in way to record the IP address of a user.

So at registration, log the IP in usermeta. Done, easy.  List it on the user page.

At comments, obviously, it's already logged, so nothing needs be done there.  Also, since you can already click on an IP and list all comments made from that address, there wouldn't be much else that needs to be done.",Ipstenu
14717,Add option to wp_list_categories (and underlying get_terms or whatever) to restrict by post_type.,,Taxonomy,3.0.1,normal,normal,Future Release,feature request,new,,2010-08-27T22:16:56Z,2010-10-28T10:27:53Z,"This is so that when someone uses wp_list_categories they can stop categories from showing up that only have elements from custom post types, and thereby creates links to a category archive that contains no posts because everything in the category has a post_type other than post.",Finster
14752,Warn after theme activation if wp_head/footer is missing,,Themes,,normal,normal,Future Release,feature request,new,dev-feedback,2010-09-01T12:10:37Z,2010-10-28T10:34:33Z,"After theme activation, we can reliably test for wp_head() and wp_footer() with an HTTP call to the front page.

We should do that and check for two things:

 1. That wp_head() and wp_footer() are present in the theme.

 2. That they are in the correct location, immediately before </head> and </body>.

Then throw a warning that the theme may not function properly (with a link to a Codex page?) because it is not using the API correctly.

Is this core material?",nacin
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
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
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
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
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
13989,Recent Comments widget optimization,,Optimization,3.0,normal,normal,Future Release,enhancement,new,,2010-06-19T06:30:36Z,2010-10-28T12:21:48Z,"Currently when permalinks are enabled, the recent comments widget will call get_post() on each parent post to retrieve its permalink.

In the event that the posts the recent comments are on are not in the current query (for example, posts on old posts, or if we're currently on a singular view), then get_post() will perform a SQL query to load the postdata.

The attached patch introduces a {{{cache_posts($post_ids, $term_cache, $postmeta_cache);}}} function to mass load/cache a set of posts through the usage of WP_Query

The function is smart enough not to query for posts which are already in the Object cache (ie. If the comments are on the current page, it'll skip, or if its in a memory cache)

An example of the SQL query generated by this query:
{{{
SELECT wp_posts . * 
FROM wp_posts
WHERE 1 =1
AND wp_posts.ID IN ( 95, 98, 106 ) 
AND wp_posts.post_type IN ('post', 'page', 'attachment', 'wiki', 'note', 'odd')
AND (wp_posts.post_status <> 'trash' AND wp_posts.post_status <> 'auto-draft')
}}}

Explain'd:
{{{
id 	select_type 	table 	 type 	possible_keys 			key 	key_len 	ref 	rows 	Extra 
1	SIMPLE		wp_posts range	PRIMARY,type_status_date	PRIMARY	8		NULL	3	Using where
}}}",dd32
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
11847,wp_tag_cloud counts terms attached to future posts when used with custom taxonomies,filosofo,Taxonomy,2.9.1,normal,normal,Future Release,defect (bug),reopened,,2010-01-09T20:47:18Z,2010-10-29T00:27:24Z,"If you create a custom taxonomy, then attach some terms from that taxonomy to a future scheduled post, attachments attached to a future post, or unattached attachments, they will get counted toward the totals used to draw the tag cloud produced by wp_tag_cloud.

As a result, the sizes of the items in the tag cloud will be wrong, and the tooltips will show the wrong count. In some cases, if a particular term is only attached to future posts, clicking on the link in the tag cloud will result in a 404 because the main $wp_query correctly filters out future posts and unattached attachments when looking at the term's archive.

Correct behavior would be for get_terms to provide an option to filter out future posts and unattached attachments from its results the same as is done when looking at the term's archive.",fwiffo
10149,A floating image added in a comment results in a weird layout in the default theme,iandstewart,Themes,2.8,low,minor,WordPress.org,defect (bug),assigned,,2009-06-13T22:33:19Z,2010-10-30T18:36:03Z,"I'd have suggested a <div class=clear></div> or something in the default theme, but the bug is actually located within wp_list_comments().",Denis-de-Bernardy
12286,bug and fix when importing from Movable Type,,Import,,normal,normal,WordPress.org,defect (bug),new,,2010-02-19T13:26:59Z,2010-10-30T18:44:11Z,"I'm running WP Mu 2.9.1.1 and had a problem importing a Movable Type blog to WP and found a fix (sort of).

Symptom: When importing a blog from Movable Type to a blog in WP, you are asked to assign (or map) WP authors to MT authors. But, it turns out that the first author on the list is assigned to all posts. The other authors selected are neglected. Therefore, all of the posts end up belonging to one author.

Fix: I found the problem in wp-admin/import/mt.php. Specifically, ""$mtnames"" is not properly populated with authors from MT. So, I changed the code in function get_authors_from_post() as follows:

function get_authors_from_post() {
$formnames = array ();
$selectnames = array ();
$this->mtnames = $this->get_mt_authors();

I just added the last line shown above and then finally the import properly assings authors as intended.
(There might be a better place to put the last line, however.)
",leyburn888
12578,import from movable type doesn't import tags or basename,,Import,3.0,normal,normal,WordPress.org,enhancement,assigned,has-patch,2010-03-11T00:58:46Z,2010-10-30T18:44:26Z,"The current movable type import script doesn't import tags from movable type and it doesn't import the basename (movable type's version of the post_name, which is necessary for a seemless transition). Adding support for importing these two important bits is not terribly difficult and I'm working on improving the import script to aid in my own upcoming migration. I'll attach a patch against the trunk.",stevecrozz
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_
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
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
13327,Post editor puts content through wpautop() before displaying it to users without JS enabled,,Editor,3.0,low,normal,Future Release,defect (bug),new,,2010-05-10T21:42:50Z,2010-11-12T11:24:54Z,"'''Steps to reproduce:'''

 1. With JS on, change to the Visual Editor
 2. Disable JS
 3. Add a new post
 4. Save as draft
 5. Note that the content is wrapped in {{{<p>}}} tags in the textarea.

[[Image(http://img19.imageshack.us/img19/6363/screenshot20100510at524.png)]]

'''Expected:'''

No paragraph tags are added.",markjaquith
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
11623,review options list and update sanitize_option(),dd32*,Security,2.9,normal,normal,Future Release,defect (bug),accepted,early,2009-12-26T01:22:13Z,2010-11-13T01:18:42Z,"A lot of options have been added since 2.0.5, and as a result, not all of them have been added to {{{sanitize_option()}}}

Ideally, Options which are to be (int) or absint() should have a filter applied to them here.

Attached patch is for the first option thats brought this up, 'start_of_week' which is tested to be int in some function uses, ignored elsewhere.

I've set this to security as its preventive security..",dd32
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
13529,Twenty Ten max-width in editor style wraps too early,iammattthomas,TinyMCE,3.0,normal,normal,Future Release,defect (bug),assigned,,2010-05-25T04:46:34Z,2010-11-13T01:26:47Z,"While I get where iammattthomas was going with his change to the mceEditor, in practice it looks confusing...while editing my text, there are arbitrary line breaks that I didn't ask for, and there's no explanation why...

See file: http://core.trac.wordpress.org/browser/trunk/wp-content/themes/twentyten/editor-style.css?rev=13178

I propose eliminating the max-width property.

I apologize if this isn't the right way to do this, it's my first ticket.

I've attached a screenshot so you can see the issue as I see it...",longjasonm
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
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
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
10645,auto_p and forms,,Formatting,,low,normal,Future Release,defect (bug),new,,2009-08-18T16:53:40Z,2010-11-13T01:38:14Z,"auto_p will errantly injects paragraph and linebreak tags in certain circumstances within forms:

`<div>
<label for=""select_element"">This is a select box placed <select name=""select_element""><option value=""1"">inline</option</select> with the label.</label>
</div>`

becomes:

`<div>
<label for=""select_element"">This is a select box that is pla­ced<br />
<select name=""select_element""><option value=""1"">inline</option><option value=""2"">inside</option><option value=""3"">within</option></select>

<p>inline with the label.</label>
</div>`

linebreak and paragraph tags should never be inserted inside a label. In this case they are not even properly paired.  It would be nice if the surrounding div was identified and no tags were inserted, although if a paragraph tag wrapped the whole thing, it would not be the end of the world.
",kingjeffrey
13051,admin_url() and site_url() shouldn't need esc_url(),ryan,Security,3.0,normal,normal,Future Release,defect (bug),new,dev-feedback,2010-04-19T16:57:13Z,2010-11-13T03:09:47Z,"I noticed that the 3.0 codeline includes the addition of esc_url() around admin_url() like:

esc_url(admin_url());

I believe that admin_url() and site_url() should be ""safe"" functions to use and should not need escaping. Perhaps they should call esc_url() internally?

I cannot think of a viable reason to allow unsafe results from admin_url() and site_url(), though perhaps there are some internationalization edge cases that I'm not aware of.

If you really need raw access to an unsafe value in wp_options, you can use get_option() to get to it.

Another issue to consider here is input validation and stripping before saving to these fields.

If this is approved in principle, I'd be happy to produce a diff against the current code base.

I think this is very important to address before 3.0 is released as it has a significant impact on theme and plugin developers.",alexkingorg
13606,Comma's in taxonomy term names make them unpickable,,Taxonomy,,normal,major,Future Release,defect (bug),new,,2010-05-28T21:10:02Z,2010-11-13T03:19:01Z,"In the taxonomy term adder/editor, you are allowed to put comma's in their names, but the JS picker thinks they are two separate terms separated by a comma.

Two possible obvious solutions:
1.) Disallow terms from having commas in the names
2.) Fix the JS",johnjamesjacoby
11156,Duplicate tag created if tag name contains ampersand,filosofo,Taxonomy,2.9,normal,normal,Future Release,defect (bug),new,,2009-11-16T21:51:37Z,2010-11-13T07:25:30Z,"This is undoubtedly an edge case, but here's what happened:

1. I created a tag with a long name that contained an ampersand. Gave it a shorter slug than the one WP generated.

2. Tagged some posts.

3. While the server was running slow, the autocomplete never came up, and I tagged another post by cutting and pasting the tag name from another screen.

That resulted in a new tag being created with a longer WP-generated slug, instead of the post getting tagged with my older existing tag.

This happened a few times (the server in question is REALLY slow), and I finally realized that the only tags that were incorrectly duplicated were the ones with ampersands.",sillybean
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
11414,Sidebar Calendar Widget broken,,General,2.9,normal,normal,Future Release,defect (bug),new,reporter-feedback,2009-12-12T22:33:24Z,2010-11-13T07:31:07Z,"I'm giving 2.9 beta a test drive for theme development purposes. On my test installation, I currently have the two default themes and a very simple theme of my own that I developed via a tutorial.

After I upgraded to 2.9 beta, the sidebar calendar started displaying rather oddly. It looks okay when the main page first loads, but when I click the <<Nov link, the calendar rows are way out of whack. When click on <<Oct, it's not as bad, but still incorrect. Then, when I go forward again and hit December, even that is a little bit off.

This happens whether I use the Calendar widget or just the theme's own sidebar, and it happens in all three installed themes.

My test site is at http://bleeder.faltarego.com
or http://faltarego.com/bleeder

Many thanks.",faltarego
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
11738,sanitize_text_field() issue with UTF-8 characters,hakre,Charset,2.9.1,normal,normal,Future Release,defect (bug),new,,2010-01-06T07:39:11Z,2010-11-13T07:36:00Z,"See Description #11528

Suggested patch does not take UTF-8 properly into account. Function has been degraded in the commit(s) [12499], [12501] to not support shift-spaces any longer. Details about preg_replace and UTF-8 as well as a proper suggestion to fix w/o degration [https://core.trac.wordpress.org/ticket/11528#comment:10 here].",hakre
11959,Value Truncation Still Unchecked in registration.php,,Users,,normal,normal,Future Release,defect (bug),new,,2010-01-20T22:59:50Z,2010-11-13T07:38:28Z,"Functions such as username_exists() fail to perform sanity checks against the storage schema.  As a result, it is possible to register multiple users with the same username, if the length is greater than or equal to the username field size.  Only the first user can login, however anyone re-registering that username can impersonate the first user to reset their password.",miqrogroove
12107,Author role overrides edit image title set by editor,,Role/Capability,2.8.6,normal,normal,Future Release,defect (bug),new,,2010-02-01T01:56:49Z,2010-11-13T07:42:50Z,"If assigned as 'Author' as Role in Wordpress User Setting, Author cannot add or edit the 'Edit Image Title' field for any images (even though they upload themselves)

Furthermore, if there is an existing text in 'Edit Image Title' field, and if Author 'Save Draft' or 'Update Post' (without doing any editing at all), the Image Title will be removed.

In other words, only the Roles of 'Admin' and 'Editor' are able to add Image Titles to images. The Role of 'Author' cannot add image titles and not only that, by accessing and saving a post, any existing Image Titles added by Admin or Editor becomes removed.

I tested on Wordpress version 2.8.6 and 2.9.1

I have previously posted a thread on the support forum here http://wordpress.org/support/topic/356199?replies=1#post-1365412",noyu
12342,New widget option after calling register_widget creating empty widget,azaozz,Widgets,2.9.2,normal,normal,Future Release,defect (bug),new,dev-feedback,2010-02-23T00:36:39Z,2010-11-13T07:45:48Z,"After I register a new widget class that has never been registered before, navigate to the widgets.php admin page and allow the option to be created automatically. The option value looks like this as serialized data:

{{{
a:2:{i:2;a:0:{}s:12:""_multiwidget"";i:1;}
}}}

As you can see there is an empty widget in there for some reason. Basically the unserialized option value looks like the following as an array:

{{{
array( '2' => array(), _multiwidget => 1 );
}}}

This is odd behavior since the first multi number has always started at 2, but with that previous array in there it starts at 3, and randomly which is what irks me. i can't seem to find when it happens or a pattern, so naturally this feels like a bug.

As this does not seem to break anything with the core functionality of WordPress, I would say this is normal priority. What this does do is pose many questions for those of us that dive deep into the Widget API, where our plugins and the functionality of them are dependent on how these things work. My widget plugin is quite large, and I need to know if I can depend on the first multi number of a widget when the class is first registered.

If this is not a bug, and normal functionality, I apologize, and would like to ask for a heads up on the subject.

Thank You,
Jim Isaacs",jimisaacs
12363,Comment permalink wrong when only listing one comment type,,Comments,3.0,normal,normal,Future Release,defect (bug),new,dev-feedback,2010-02-24T14:31:51Z,2010-11-13T07:46:50Z,"If you pass the `type` parameter to `wp_list_comments()` (for example, to show comments only and no pings), then comment permalinks can easily use the wrong page number as they expect there to be pings included. This is apparent after leaving a comment and WordPress attempts to redirect back to your new comment.

At first I was thinking you could tell WordPress that you're filtering to a type and it could compensate when determining the page number, but then I realized perhaps it'd just be better for `wp_list_comments()` to check if there were 0 comments returned for the query and if so, see if there are any of that type of comment available. If so, then we know we're on too high of a page number and can instead display the highest existing page. Then again this introduces SEO issues.

Ideas on what to do are welcome.",Viper007Bond
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
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
12532,Image Upload Does Not Display Errors,,Upload,2.9.2,normal,normal,Future Release,defect (bug),new,reporter-feedback,2010-03-06T15:56:36Z,2010-11-13T07:49:17Z,"This has been a long standing problem for me.  I am having problems with uploaded images and am unable to properly troubleshoot because the image upload feature does not display errors.

The root problem is that the image upload feature does not display error messages.  The symptoms are that thumbnail images are not being generated and my theme (AutoFocus) cannot display EXIF data for images.  I have switched to the default theme, disabled plugins and performed other troubleshooting activities (http://wordpress.org/support/topic/164999?replies=1).

Scenario:  I am uploading a 800x600 143KB color JPEG image.  The Flash upload tool shows the status bar going to 100%, Crunching... and then stops once the bar clears itself and the ""Save all changes button"" appears.  Nothing else happens.  No image thumbnail is displayed, no image information (titles and descriptions) is displayed.

When I close out the 'Add an Image' window and reopen it I can see the image in the Gallery but there are no resized images available (thumbnail, medium, large) and the full size dimension is listed as 0x0.  When I choose to Edit Image I get the error ""Image data does not exist. Please re-upload the image.""

I repeat the upload process using the browser upload method. Once the image is uploaded the 'Add an Image' window is cleared and is left blank.  Closing the window and going into the Gallery yields the same results as the Flash method above.

WordPress 2.9.2

General
    * OS: Linux
    * Server: Apache/2.2.3 (Red Hat)
    * Hostname: blog.radian.net
    * IP:Port: 76.12.173.65:80
    * Document Root: /vservers/h77483wp/htdocs

PHP
    * v5.1.6
    * GD: bundled (2.0.28 compatible)
    * Magic Quotes GPC: Off
    * Memory Limit: 16.0 MiB
    * Max Upload Size: 30.0 MiB

MYSQL
    * v5.0.77
    * Maximum No. Connections: 100
    * Maximum Packet Size: 1,024.0 KiB
    * Data Disk Usage: 3.8 MiB
    * Index Disk Usage: 283.0 KiB

I will attach a ZIP file with the image in question (other images have the same problem) as well as images of the upload windows and WP administration panels.

",drgdc
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
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
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
13509,Searching doesn't return Private results to logged in users with read_private_ permissions,ryan,Post Types,2.9.1,normal,normal,Future Release,defect (bug),new,,2010-05-24T00:31:11Z,2010-11-13T08:01:18Z,"When you do a search with these requirements...[[BR]]
- You are a registered user.[[BR]]
- You are logged in.[[BR]]
- You have '''''read_private_posts''''' permissions.

... you expect seeing in the results those Private posts that contains your query's terms.

But you end up with showing only the ones that belongs to you. I think the bug is in these lines:


{{{
if ( is_user_logged_in() ) {
	$where .= current_user_can( ""read_private_{$post_type_cap}s"" ) ? "" OR $wpdb->posts.post_status = 'private'"" : "" OR $wpdb->posts.post_author = $user_ID AND $wpdb->posts.post_status = 'private'"";
}
}}}

As '''''$post_type_cap''''' is set to ""any"" when you do a search, the conditional expression always fails as it's asking for this:

{{{
current_user_can( ""read_private_anys"" )
}}}

... and ends up always in the second part of the conditional expression. That is:

{{{
"" OR $wpdb->posts.post_author = $user_ID AND $wpdb->posts.post_status = 'private'""
}}}

Thanks.",inbytesinc
13554,Wordpress MU canonical link redirect failure,markjaquith,Multisite,2.9.2,normal,normal,Future Release,defect (bug),new,,2010-05-26T16:30:37Z,2010-11-13T08:02:46Z,"This problem manifests itself in Wordpress '''MU''' 2.9.2, but '''not''' in Wordpress 2.9.2.

In the MU install where blogs are subdirectories, canonical redirects work correctly for the subdirectory blogs, but not for pages on the root blog.

For example, [http://silverwarethief.com/essays/] is a sub-blog in the wordpress MU install. If you alter that link to [http://www.silverwarethief.com/essays/] wordpress MU will correctly redirect the browser to the canonical url.

However, this does not work with pages on the root blog. [http://silverwarethief.com/about/] is a page on the root blog. If you go to that link, you will correctly find yourself at the ""About"" page. If you then alter the link to [http://www.silverwarethief.com/about/] you will be redirected to the main page of the root blog, not the ""About"" page.

I have seen this behavior manifested on more than one MU install.

",rundi
13569,Odd edge case with shared user tables and custom admin username during install,,Users,,lowest,trivial,Future Release,defect (bug),new,,2010-05-27T06:06:43Z,2010-11-13T08:04:31Z,"1. In install 1, run install.php and use a custom username (NOT called 'admin') and set the e-mail to email@example.com.

2. In install 2, before installing, set up shared user tables with install 1. Then run the installer. You won't have the ability to choose usernames (that's expected). Use the *same* email.

3. Click ""Install."" You'll get hit with a WP_Error object.

What's happening? The logic in wp_install() is to do a username_exists() against the username passed to it. If the user exists, it assumes that you're using shared user tables. Problem is, wp_install() is passed 'admin' from install.php (as that's the default, and you don't see the fields when custom user tables are setup), while your user is not called 'admin'. The e-mail address is already being used for another user however, so it is creating 'admin' and is failing on the duplicate e-mail address.

If the email address doesn't match any user, I imagine you'd instead get an 'admin' user in your second install, which you could promptly delete. I see no problem with that, as the alternatives are to pick which user should become an admin.

So, the fix would be to change username_exists() and the logic that follows, and instead match the e-mail address with an existing user, and make that user the new administrator. If no user with that email exists, we create an admin user and they can tough it out.

I do not feel this is a blocker at all. The symptoms I am seeing should be the same in 2.9.2 if you removed the admin user in install 1, then proceeded to share user tables with install 2 before installing.

It'd be nice to at least prevent the fatal error and allow the install to finish, however. I do want to get to it in 3.0 if I can, since we now are allowing custom admin names. That said, setting to 3.1.",nacin
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
13765,It's unclear why a max upload size limit is set,,Upload,3.0,normal,normal,Future Release,defect (bug),new,,2010-06-07T13:39:17Z,2010-11-13T08:06:49Z,"When you reach your allowance for file uploads in a multisite environment, it's not clear why WP will advertise a tiny upload size limit.

For instance, if you can upload up to 10MB of files, with a 2M file size limit, and you've already uploaded 9MB, WP will erroneously report that you can upload up to a 1MB file.

This can lead a multisite newbie to look into php ini files and the like, in order to identify which obscure setting is messing things up, instead of heading straight to the multisite options.

Instead, WP should report that the maximum file size is 2MB, and highlight in a follow-up line that only 1MB is available until the quota is reached.",Denis-de-Bernardy
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
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
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
14073,Custom Taxonomies - Post Count wrong,,Taxonomy,3.0,normal,normal,Future Release,defect (bug),new,reporter-feedback,2010-06-24T14:17:07Z,2010-11-13T12:52:06Z,"I've just set up some custom taxonomies on our blog.

Basically they are just some basic custom tag-clouds for a few different subjects

But i've come across what appears to be a weird bug

After creating my custom taxonomies, i went through my articles (posts) using the bulk edit function to 'tag' all the articles in the new custom tag-subjects

By using the bulk-edit feature, this saved me loads of time, but in doing so meant i could only add one tag at a time - however, cetain articles needed to be tagged with multiple tags, so they would show up in the repeated use of bulk edit many times

Here's where it got weird....

Every time i added a new tag to a post and hit the 'update' button, it would increase the post count for that article by +1

I know that sounds a bit crazy, as an article does not have a post count, so the best way to explain it is with an example

1) Go to our sites archive page [http://f1stockcars.com/about/archives/]

2) Look over to the right for our custom ""Drivers"" tag-cloud

3) Near the top is is a driver called ""Colin Goodswen""

4) Hover your mouse on this driver and it says ""12 Topics""

5) Click the name though, and you'll find he has just ONE topic

The reason for this is simply because i had to add multiple ""driver"" tags to that particular article, and each time i hit the ""Update Post"" button it (as i said before) increased the post count for that article by +1

And it's not just a one-off... virtually EVERY single driver tag has the incorrect post count assigned to their name

I decided to see if this was an issue unique to the 'Bulk Editor' by going into the standard single (full) Post Editor. Without editing a single thing within the post i simple hit the 'Update' Post button. I went back to my archive to check the post count for tags associated with that post, and they had all increased by +1

I think that's about all the information i can provide on how to recreate the bug.

This now means there is not just the fact it's giving wrong information about post counts to our readers, it also means our tag-cloud's appearance is completely wrong, and tags with only one article are being emphasized over other tags with many articles",defade
13792,Invalid reply link from comment admin when comment nested level > max,,Comments,2.9.2,normal,normal,Future Release,defect (bug),reopened,,2010-06-09T07:05:56Z,2010-11-13T17:53:57Z,"I have a blog with nested comments enabled, max depth of 4. When the last level comment is posted, it no longer contains a Reply link.

However, in the Comment admin, the Reply link is still present. If used, this new reply will show up at the very bottom of the comment list once posted (even if other newer regular comments are entered, this new reply will still show up at the very bottom).

The bug is, basically, that Comment admin doesn't respect the max nested value.",archon810
13335,The menu's + tab should be to the right of the menu navigator,,Menus,3.0,low,minor,Future Release,enhancement,new,dev-feedback,2010-05-11T09:43:53Z,2010-11-15T20:25:27Z,"If you create enough menus to occupy the full width of the screen and beyond, you end up with navigator tools that allow to scroll left/right in order to navigate the menus you've created.

The last menu item is the + tab is the last available item. Would it not make more sense for it to always be visible?",Denis-de-Bernardy
14884,Add a filter inside admin-ajax.php for walker,,Menus,3.0.1,normal,normal,Future Release,enhancement,new,,2010-09-16T14:01:31Z,2010-11-18T09:19:16Z,"I'm trying to extend the Wordpress menu system and i can't get the things working from start because inside admin-ajax.php on line 841, there is no filter. I'm talking about this piece of code

{{{
if ( ! empty( $menu_items ) ) {
		$args = array(
			'after' => '',
			'before' => '',
			'link_after' => '',
			'link_before' => '',
			'walker' => new Walker_Nav_Menu_Edit,
		);
		echo walk_nav_menu_tree( $menu_items, 0, (object) $args );
	}
}}}

The Walker_Nav_Menu_Edit class is applied by default.
If someone can add a filter, it would be great for all developers.",dmad
14440,Override filter for adjacent_post_link(),,Template,3.0,normal,normal,Future Release,enhancement,new,reporter-feedback,2010-07-28T04:27:05Z,2010-11-18T10:02:26Z,"I'm working on a plugin that needs to integrate with as many themes as possible. It's basically a plugin for creating portfolios of images. It uses a custom post_type ""piece"" and allows for each piece to have multiple images attached to it. I've created a widget that lists thumbnails for all attached images that link to the attachment page for each one. On the attachment page, I am querying for the parent piece to display the title, content, excerpt, edit link, etc. 

I'm also trying to replace the previous and next links with the values that would be generated for the parent. I've gotten pretty far along when I noticed that adjacent_post_link() is set to display only a previous link when an attachment has been queried. I was wondering if a filter could put put in place somewhere before this conditional is defined. Please see attached file.

Thanks for reading!",mfields
14449,Create add_permastruct() filters for register_taxonomy() and register_post_type(),,Taxonomy,3.0,normal,normal,Future Release,enhancement,new,,2010-07-28T23:31:18Z,2010-11-18T10:03:50Z,"When registering taxonomies { using register_taxonomy() }, it would be good to have a filter that controls the $struct argument for add_permastruct().

That way you can modify the rewrite rules without having to hack $wp_filters->rules

This patch creates the filter ""register_taxonomy_permastruct""

Note: the same could be applied to register_post_type()


",wjm
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
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
14561,wp-admin/edit.php tags of post are hard to compare,,Administration,,normal,normal,Future Release,enhancement,new,,2010-08-08T08:25:02Z,2010-11-18T10:13:25Z,"To get an overview about tags used between articles on the post listing in the admin is hard to achieve by the user because they appear not to be ordered.

A solution could be to sort them alphabetically. That done, it's easier for the user to compare the usage of tag distribution accross the listing.",hakre
14356,Better string for onbeforeunload event dialog,,JavaScript,,lowest,normal,Future Release,enhancement,new,,2010-07-19T18:53:15Z,2010-11-18T10:57:46Z,"The WP string for this now is:

''The changes you made will be lost if you navigate away from this page.''

The resulting dialog is:

''Are you sure you want to navigate away from this page?

''The changes you made will be lost if you navigate away from this page.

''Press OK to continue, or Cancel to stay on the current page.

''[OK] [Cancel]

Which is repetitive and, it seems to me, confusing.

I was thinking we could change our string to something not repetitive that complements better the default strings.  E.g.:

''You have unsaved changes that will be lost!

Patch available upon request.",demetris
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
15516,Candidates for new template functions based on code in Twenty Ten,,Template,3.1,normal,normal,Future Release,enhancement,new,,2010-11-20T06:30:13Z,2010-11-20T07:11:25Z,There are several pieces of code in Twenty Ten which are candidates for abstraction into template functions. I'll make a list shortly and put it up here to get feedback.,johnbillion
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
15457,Add URI support to add_editor_style(),,TinyMCE,3.0.1,normal,normal,Future Release,enhancement,new,early,2010-11-17T22:18:34Z,2010-11-22T16:34:55Z,"Currently add_editor_style() only allows for CSS files to be added that are relative in location to the current theme's stylesheet_directory or template_directory, meaning it can only be used by theme authors. Let's keep that functionality, but add the ability to attach a CSS file via URI. This way, plugin authors can use it to add editor styles.

An example of why this might be necessary is a microformat plugin where the user can style microformats differently by adding certain CSS files by the user's choice. Right now, we can only see a change like that when we click preview.

So it would be nice if plugins could use this function as well as themes.

I've attached a potential patch.",dwieeb
14890,dynamic custom header image sizes patch,,Themes,,normal,normal,Future Release,enhancement,new,dev-feedback,2010-09-17T15:22:56Z,2010-11-22T16:42:45Z,"This patch adds the capability for theme developers to use maximum, fixed or automatic header image sizes.

HEADER_IMAGE_WIDTH and HEADER_IMAGE_HEIGHT can be set to 3 different states:
fixed - ""940"" - like the old feature. all images get resized to a fixed size
max - ""max:940"" - smaller images are not resized
auto - ""auto"" - no images are changed

At the moment the if clause handling if the image has to be resized and how is very complex. I can simplify it very easily, but didnt due to the possibility that we could at a ""manual/automatic cropping"" button or just change some conditions to manual cropping if it ""feels"" better. Needs some testing first..

The patch adds 4 new functions which - in future - will be used to return or echo the header_image's width and height:
get_header_image_width() - header_image_width()
get_header_image_height() - header_image_height()

If the whole uploading process would be filterable I would add this as a plugin, but I think it would be nice to have this feature in the core as well.

It is not ready for release yet though. E.g. need to add an explanation of the 3 states to be displayed to the user.",a.hoereth
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
14282,the_post_thumbnail and get_the_post_thumbnail don't populate the images alt text correctly,,Post Thumbnails,3.0,normal,normal,Future Release,defect (bug),new,reporter-feedback,2010-07-12T15:18:35Z,2010-11-22T17:34:41Z,"Recently was adding in Post Thumbnails for a client's blog and discovered that the ""the_post_thumbnail()"" function doesn't return an img tag populated by the alt text set for the image in the media gallery.

Did come up with a workaround though:


{{{
$thumbnail_id = get_post_thumbnail_id();
$thumbnail_alt_text = get_post_meta($thumbnail_id,
'_wp_attachment_image_alt', true);
the_post_thumbnail(array(150,150), ""alt=$thumbnail_alt_text"");
}}}


This should be a simple fix of editing the function's output in wp-includes/post-thumbnail-template.php.",msigley
14326,Renaming tags/categories causes unpredictable results,,Quick/Bulk Edit,3.0,lowest,trivial,Future Release,enhancement,new,,2010-07-16T02:39:14Z,2010-11-22T17:35:14Z,"When renaming a tag/category through quick edit, if the new title contains the character ' — ' (&8220;) the script produces unexplainable results.",kdizas
14268,Comments editor HTML tag,,General,3.0,normal,normal,Future Release,defect (bug),new,,2010-07-10T19:16:16Z,2010-11-22T18:22:42Z,"With a vanilla (2.8.4 -> 3.0) installation, if you go and edit the comment from Mr Wordpress, you will see that in the editor you can find the HTML code of the apostrophe for ""post's"".

{{{
Hi, this is a comment.<br />To delete a comment, just log in and view the post&#039;s comments. There you will have the option to edit or delete them.
}}}

The problem comes with a production env with European languages where comments are full of accented letters that make the reading almost impossible.",pkirk
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
14477,get_pages with child_of only works with uninterrupted hierarchies,,Query,3.0,normal,normal,Future Release,enhancement,new,,2010-07-30T19:00:50Z,2010-11-23T01:36:16Z,"I have a page X with several children and grandchildren. Some of the grandchildren have a certain meta key and value. I now want to fetch all pages under page X that have this meta key. After reading the documentation of ''get_pages'', I expected this to work with a single call of ''get_pages''.

But if I use get_pages like this:
{{{
get_pages('child_of=X&meta_key=A&meta_value=B');
}}}
it returns no pages at all (hierarchical=0 has no effect). It seems that's because ''child_of'' triggers a call of ''get_page_children'' which only returns uninterrupted hierarchies. Since the query returns only some grandchildren and no direct descendants, the function fails. IMHO, that's a bug.
",vividvisions
4116,wp_texturize to defect certain links in comments and on page,Nazgul,Formatting,2.2.1,normal,normal,Future Release,defect (bug),reopened,needs-unit-tests,2007-04-09T13:29:33Z,2010-11-23T04:53:07Z,"the wp_texturize() function in formatting.php (includes) of wordpress breaks links of the domain format (number)x(number). 

For example, a comment left by a domain such as www.h4x3d.com, which includes the (4)x(3) in the domain name, renders to www.xn--h43d-rma.com. This breaks the link.

It does occur on the page, but also with in the page comments. 
It does also occur when the text with the special combination is not a link, but plain text.",h4x3d
10033,wptexturize and wpautop problems with html comments and object tags,,Formatting,2.8,normal,minor,Future Release,defect (bug),new,,2009-06-04T12:06:35Z,2010-11-23T05:43:55Z,"Bumped into this one when upgrading my mediacaster plugin to use swfobject 2.1 (which is not 1.5 compatible), as documented here:

http://code.google.com/p/swfobject/wiki/documentation

I take it I'm not the only one who is going to need to upgrade a plugin. It's minor, since I'll just move the filter further down in the queue, but it's still worth reporting:

{{{
<object id=""m544cf9700db147f751dc34ea1241d8bd"" classid=""clsid:D27CDB6E-AE6D-11cf-96B8-444553540000"" width=""320"" height=""260"">
<param name=""movie"" value=""http://www.youtube.com/v/_nkZ3eHeXlc"" />
<!--[if !IE]>-->

<object type=""application/x-shockwave-flash"" data=""http://www.youtube.com/v/_nkZ3eHeXlc"" width=""320"" height=""260"">
<!--<![endif]-->
<p><a href=""http://www.macromedia.com/go/getflashplayer"">Get Flash 9.0</a> to see this player.</p>
<!--[if !IE]>-->
</object>
<!--<![endif]-->
</object>
<script type=""text/javascript"">
//swfobject.registerObject(""m544cf9700db147f751dc34ea1241d8bd"", ""9.0.0"");
</script>

}}}

Gets turned into the following mess:

{{{
<object id=""m544cf9700db147f751dc34ea1241d8bd"" classid=""clsid:D27CDB6E-AE6D-11cf-96B8-444553540000"" width=""320"" height=""260""><param name=""movie"" value=""http://www.youtube.com/v/_nkZ3eHeXlc"" /><!--[if !IE]>&#8211;><br />
<object type=""application/x-shockwave-flash"" data=""http://www.youtube.com/v/_nkZ3eHeXlc"" width=""320"" height=""260""><br />
<!--<![endif]--></p>
<p><a href=""http://www.macromedia.com/go/getflashplayer"">Get Flash 9.0</a> to see this player.</p>
<p><!--[if !IE]>&#8211;><br />
</object><br />

<!--<![endif]--><br />
</object><br />
<script type=""text/javascript"">
//swfobject.registerObject(""m544cf9700db147f751dc34ea1241d8bd"", ""9.0.0"");
</script>
}}}

So, two/three issues:

 - wpautop should also ignore double object tags, and html comments
 - wptexturize should ignore html comments",Denis-de-Bernardy
14946,Only enforce OEmbed whitelisting for dangerous types,,General,3.0.1,normal,normal,Future Release,enhancement,new,dev-feedback,2010-09-23T08:23:48Z,2010-11-23T21:14:44Z,"Of the four OEmbed response types, only two (video and rich) are potentially dangerous. We should be able to allow all photo and link responses, without a whitelist.",markjaquith
14393,Maintenance mode overkill. Please refine usage of it,,Upgrade/Install,,normal,normal,Future Release,enhancement,new,,2010-07-22T22:12:14Z,2010-11-23T21:16:35Z,"Though many tickets have been posted about the Maintenance Mode not resolving, I think that the problem is on a different level.

It is unacceptable that even a failed upgrade of an inactive theme can break a complete Site or even Network. Case in point: I just followed the upgrade alert for an inactive theme, hosted on the WordPRess theme repository. 
(Apparently it had an error (Incompatible Archive. PCLZIP_ERR_BAD_FORMAT (-10) : Unable to find End of Central Dir Record signature.) But the point is, this should not have put the entire network in maintenance mode for 10 minutes.

Maybe a check can be done for plugins, themes etc: if they are active, then maintenance mode can be used (though I am definitely not a fan of it anyway).",bike
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
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
14581,No magic numbers,,General,,normal,normal,Future Release,defect (bug),new,,2010-08-10T15:57:59Z,2010-11-26T21:54:49Z,Add defines for the numeric user_status and comment_status values.,ryan
14491,Quotation mark broken after ciphers,,Formatting,3.0.1,normal,normal,Future Release,defect (bug),new,,2010-07-31T09:26:39Z,2010-11-28T03:26:14Z,"As a default bug in Wordpress, quotation marks like the following ones don't work if they are positioned after ciphers/digits:
{{{
&#8242;
}}}
{{{
&#8217;
}}}
The problem is that after the digits the HTML special chars are actually '''not''' like the ones posted above. After ciphers/digits, the following source code shows us:


{{{
&#8220;2010&#8242;
}}}

{{{
&#8217;2011&#8242;
}}}

'''''Here's the solution like it should be in the source code:'''''

{{{
&#8220;2010&#8221;
}}}

{{{
&#8217;2011&#8217;
}}}",Dannny
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
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
12254,Move show_message() into WP_Error class and add support for various WP_Error features that are missing,jeremyclarke,General,,normal,normal,Future Release,enhancement,new,,2010-02-16T19:31:05Z,2010-11-29T17:38:59Z,"Revisiting an old ticket about the mass upgrader (#11232) after working on my ticket for the Settings API (#11474) makes me think both cases are running into a wider problem related to the way WP_Error messages are handled system-wide. There just isn't a way to show them that fits with the detailed system that exists around logging errors with WP_Error. In both cases having a built-in way to display all messages logged in a WP_Error object would simplify their code and make their use of WP_Error much more logical and less haphazard.

== WP_Error is intense ==
WP_Error objects can have an infinite number of messages logged inside them into $code groups which themselves can even have multiple message values/ 

{{{
 WP_Error::add($code, $message, $data = '')
}}}

You can then retrieve error messages for a specific code using WP_Error::get_error_messages()

== show_message() is weak ==
In contrast to this useful maleability is the show_message() function used by various updater scripts to access WP_Error messages:

{{{
/**
 * {@internal Missing Short Description}}
 *
 * @since unknown
 *
 * @param unknown_type $message
 */
function show_message($message) {
	if( is_wp_error($message) ){
		if( $message->get_error_data() )
			$message = $message->get_error_message() . ': ' . $message->get_error_data();
		else
			$message = $message->get_error_message();
	}
	echo ""<p>$message</p>\n"";
}
}}}

Living in misc.php, this is clearly not the most loved function in WordPress, but beyond its lack of documentation and arguments it also actually doesn't make sense when combined with the nature of WP_Error, and I'd argue that it should be a first-class citizen of the WP_Error API. 

=== Deal with the input as WP_Error class by default === 
For one thing its argument is named $message, which is a misnomer since it also supports complex WP_Error objects. I think it should be called $error and it should attempt to handle the error object in as much detail as possible. If this function is given a string instead of an error_object it should just show the text with the default formatting. 

=== Move it into the class defintion ===
The function logic should also be moved to be inside WP_Error as ::show_message() as well as maybe adding a ::show_messages() to differentiate between forcing the first message in the object and showing any relevant messages. The original function can be kept as a shell for the class method. 

=== Support $code and $data better ===
The updated function should allow $code values to be specified to show only messages related to a specific error $code (from WP_Error::add()) as well as some kind of option specifying whether the contents of the $data value for the results should be displayed.

=== Add support for 'types' of errors for display purposes ===
To really have valuable visual cues linked with error display the system needs to be adapted to handle error types like 'error', 'updated' and something green like 'success'. Having this be part of hte API would increase the likelihood of people using the system because it will make it easier to quickly add visual errors to a plugin. IMHO the easiest way to achieve this would be to link 'types' with CSS classes expected to exist in wp-admin. 'updated' and 'error' classes already exist, yellow and red respectively, and can be a starting point. This way marking an error as 'error' or 'updated' automatically controls the color it will be when show_messages() is run. 

This would probably require modifying the WP_Error::wp_error() and WP_Error::add() methods to accept a 4th argument, but would be a great step forward. 

=== Use nice formatting ===
I think the formatting should be the same as the 'settings updated' message from after you save a settings page. It is malleable and stands out in the admin:
{{{
<div class=""updated fade""><p><strong> MESSAGE </strong></p></div>
}}}


== Lets make showing errors easy ==
Even though these functionalities aren't needed for the current uses of show_message() in the upgrader process I think they will inform and improve those systems when the changes are taken into account. WP_Error is fairly powerful but not used enough because it is incomplete and awkward. Improving show_message() to fill this hole will mature the API and hopefully get plugin authors using it in more detail. It would definitely make integrating WP_Error into the Settings API much easier. 

== Thoughts on this before I make a patch? ==

I'll try to work on this soon but am interested in feedback. Anyone had this idea before and ran into a wall? Something else you think should be included?",jeremyclarke
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
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
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
15642,user-new input fields stretch to the edge of the screen,JohnONolan,Users,3.1,normal,normal,Future Release,defect (bug),assigned,,2010-12-02T09:01:05Z,2010-12-02T11:59:22Z,They shouldn't.,nacin
13011,Move trackbacks to a plugin,,Pings/Trackbacks,3.0,normal,normal,Future Release,enhancement,new,,2010-04-15T01:32:05Z,2010-12-03T19:06:44Z,"This is kinda way out in left field, but what do you guys think about removing the whole trackback feature?

I think it's pretty safe to say that 99.9% (if not more) of trackbacks are spam. The average user has no idea about them (no one really uses them anymore as they require manual user input of a special trackback URL) and I think the general public would be better off without all the spam they cause, Akismet or not.

For the people that really, really want it, a plugin could be used.

Thoughts?",Viper007Bond
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
14876,wp_get_sidebars_widgets() assumes that widgets are enabled,,Widgets,,lowest,minor,Future Release,defect (bug),reopened,,2010-09-15T02:05:43Z,2010-12-04T09:34:28Z,"When a theme does not have any sidebars defined, wp_get_sidebars_widgets() will return the database option anyway.

This reveals a bug where a theme that does not have any widgets may still get the recent comments CSS injected into it. is_active_widget() is returning true because that widget was active when the sidebar option was last used.",nacin
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
13743,Ability to change default theme for network sites,,Multisite,3.0,normal,normal,Future Release,enhancement,reopened,,2010-06-06T05:44:12Z,2010-12-06T20:16:41Z,"As stated in summary. I use WP 3.0 RC and I've found out that there is no way to set up a theme which should be used by default for newly created sites in network. Even then I disable all the themes except the one I want to be used, WP still set thentyten as theme for newly registered site. The only solution I was able to find is to change theme description and name to twentyten and delete all other themes. It's so simple to let administrator choose default network theme, and this option is present in many other CMS.",fuwaneko
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
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
15349,TinyMCE Internal Links Not Extendable,filosofo,General,3.1,normal,normal,Future Release,defect (bug),new,,2010-11-09T05:06:05Z,2010-12-07T19:04:58Z,It needs a couple filters and an action hook so we can modify and extend the content.,filosofo
14769,"API for ""Settings"" action link on plugins.php",,Plugins,3.0,normal,normal,Future Release,feature request,new,,2010-09-02T22:10:35Z,2010-12-07T23:12:33Z,"Plugins should be able to register a ""Settings"" actions link that will then take them to their plugin settings page.

We should try to hook into add_options_page() as well, just by taking the first one that the plugin registers. Probably not really doable to ascertain which plugin calls that function however, without running a backtrace. Maybe try matching the slug with the plugin basename.

Someone is encouraged to run with this before I get to it.",nacin
14343,user_can_access_admin_page not recognising taxonomies,,Taxonomy,3.0,normal,normal,Future Release,defect (bug),new,dev-feedback,2010-07-18T08:37:30Z,2010-12-07T23:29:51Z,"Hello,

I have a custom taxonomy with custom capabilities.
The ""edit_customtaxonomy"" cap is removed from all roles.

The problem is that the user is still able to click on each term (in the taxonomy page). 
When each term is clicked, the user goes to the ""Update term"" page and  he is able to click the ""Update"" submit button.

After all, he can't update and get a ""cheatin huh?"" message.

The problem is they should't have access to the update page from the first place.

 ",ClementN
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
15030,Unserialize deep when returning arrays of metadata,,General,,normal,normal,Future Release,defect (bug),new,,2010-10-04T11:05:52Z,2010-12-08T19:34:06Z,"Currently when retrieving an array of metadata values for an object (no meta key specialized), they are retrieved as serialized. Only when meta key is specified do we unserialize.

We should array_map( 'maybe_unserialize' ) on what we plan to return instead of forcing plugins to call that themselves.",nacin
15218,Publish box (inner-sidebar) hidden in custom posts without show_ui,,Post Types,3.0.1,normal,normal,Future Release,defect (bug),new,,2010-10-26T08:18:19Z,2010-12-08T20:17:16Z,"I'm pretty sure this is a bug as I can't figure out a reason for the following:


----
Create a new custom post type with '''show_ui => true''' ''(which is supposed to hide the menus for it if false)''. Create a post, go to the post edit screen. Now edit the plugin code and '''switch true to false''' for '''show_ui'''. Hit refresh and the inner-sidebar is gone.
----


Is this expected behavior and, if it is?!?!... how should it be handled? Some people need to manage the custom posts by themselves and not have then show up in the menu, trash can,... but they need the editor, scheduling and such.

Thanks a lot.",5ubliminal
11151,Common White Screen of Death in wpdb,,Database,2.8.5,normal,major,Future Release,defect (bug),assigned,,2009-11-16T15:07:53Z,2010-12-08T21:32:54Z,"I imported some 10.000 users into WP through a  custom script, using wp_insert_users().
Import successful, I could log in with new users.
Yet wp-admin/users.php page fails to load the users table; I got the admin header and menu but the page stopped loading when querying the DB for the users data.
I set WP-DEBUG to true, but still no error. NO errors in the server log also.
I eventually had to add 

define('WP_MEMORY_LIMIT', '64M');

to wp-config.php to get the users.php page working.
The problem here is that the page doesn't issue the usual PHP memory limit fatal error, I had to guess to sort it out.
",nutsmuggler
13998,Inconsistency in arguments when wp_nav_menu falls back to wp_page_menu,,Menus,3.0,normal,normal,Future Release,enhancement,new,,2010-06-19T15:22:58Z,2010-12-09T14:02:29Z,"[http://codex.wordpress.org/Function_Reference/wp_nav_menu wp_nav_menu]'s 'menu_class' parameter applies the class to the <ul>. 

The default fallback function [http://codex.wordpress.org/Template_Tags/wp_page_menu wp_page_menu] however, applies 'menu_class' to the <div> enclosing the <ul>.

This can cause inconsistent styles if the style is applied to ul.<menu class>",Utkarsh
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
15414,Rework admin searches and make them compatible with no-js again,ocean90*,Administration,3.1,normal,normal,Future Release,defect (bug),accepted,,2010-11-13T13:53:19Z,2010-12-10T19:36:56Z,"I'm working on #15355 and found some problems with the searches. I will use this ticket to add the patches, one patch for each problem which I have found.

A list with what it not working:
 - ~~Comments search doesn't work without JS~~ fixed
 - ~~Users search doesn't work with and without JS~~ fixed
 - http://grab.by/7nC2 I like the idea with the new tab ""Search Results (1)"", but you will see it only in no-js version and only for themes and plugins search. We should add it for all searches, AJAX search and with no grey bgcolor to be consistent. '''Or''' we must respect the active tab like we did it on comments search, so if 'Sticky' tab is active search only through sticky posts and not all as it is yet. Consistent is the word here.
- Behaviour after a search without any results: With JS it's an empty table and with no-js we have the message ""No xxx found.""",ocean90
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
15731,Updating multiple plugins at once throws FTP error and leaves wp in maintenance mode,,Upgrade/Install,3.0.2,normal,normal,Future Release,defect (bug),new,,2010-12-08T10:01:19Z,2010-12-11T13:29:57Z,"[[Image(http://img.skitch.com/20101208-pc3k6gej2piiewts246qrwwt18.jpg)]]

The ftp error seems related to my iptables config and not a wp bug

{{{
LOG        all  --  anywhere             anywhere            limit: avg 5/min burst 5 LOG level debug prefix `iptables denied: ' 
}}}

But after the fail, I'm stuck with ""Briefly unavailable for scheduled maintenance. Check back in a minute.""",koke
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
15610,Comments on attachments don't appear in site-wide comments RSS feed,,Feeds,3.1,normal,minor,Future Release,defect (bug),new,,2010-11-29T21:05:37Z,2010-12-11T14:00:22Z,"Tested against r16950.

Comments that are entered against an attachment do not appear in the site-wide comments RSS feed (e.g., http://sitename.com/comments/feed/).

To test:

 1. Add an attachment of any kind (usually image), then View the attachment.
 2. Post a comment on the attachment page.
 3. Check the site's comments RSS feed - the comment will not appear.",markel
15586,"movabletype-importer, trivial: fix no index upload_type warning",,Import,3.1,low,minor,WordPress.org,defect (bug),new,has-patch,2010-11-26T00:43:46Z,2010-12-11T14:06:54Z,"movabletype-importer, trivial: fix no index upload_type warning

ENV: http://plugins.svn.wordpress.org/movabletype-importer/trunk r315664",lloydbudd
15650,Inefficient selectors in common.dev.js,,Performance,,normal,minor,Future Release,enhancement,new,needs-refresh,2010-12-02T15:26:22Z,2010-12-12T15:41:52Z,"There are some repeated jQuery selector lookups that could be cached, and incorrect attempts at adding contexts in common.dev.js.

Some minor optimisations that sacrifices a little bit of code readability, for a double speed improvement of caching expensive jQuery selector lookups, and reducing the size of common.js by ~300 bytes (5%) when minifying.",GamajoTech
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
11826,Endless Cron Spawn,westi,Cron,2.9,normal,normal,Future Release,defect (bug),new,,2010-01-08T19:09:02Z,2010-12-14T10:00:23Z,"I somehow get it managed to keep such request in memory while they consume CPU all the time. I noticed that first a week ago or so and now I was able to find out some specifics:

{{{
REQUEST_URI /wordpress-trunk/wp-cron.php?doing_wp_cron
REQUEST_METHOD post
}}}

Maybe there is a condition for an endless loop in there?",hakre
13436,Wordpress class_exists() conflicts with __autoload() and php_auto_prepend,,General,3.1,normal,minor,Future Release,enhancement,reopened,,2010-05-18T15:51:26Z,2010-12-14T17:42:54Z,"== Issue ==

Wordpress core (and many plugins) use class_exists().

http://php.net/manual/en/function.class-exists.php

When Wordpress is integrated with custom/third party applications that use php_auto_prepend and autoload() to include/require files based on the $class_name parameter this generates errors as class_exists() triggers the autoload() and the files cannot be found.

== To reproduce ==

Using php_auto_prepend specify a file to include before every page request that contains the following PHP code:

{{{
<?php
function __autoload($class) {
    include($class.'.php');
}
?>
}}}

Visit any front-end or back-end Wordpress page.

== Solution ==

As there is no autoload() function defined in Wordpress core the class_exists() should implement the second class_exists() parameter:

{{{
<?php
if (!class_exists('ExampleClass', false)) {
    ...
}
?>
}}}

This stops calls to __autoload() and would fix the errors seen when integrating Wordpress with apps that implement this.

I have implemented this and tested it and Wordpress works fine, but I can't find out where the SVN repo is for Wordpress 3 Beta 2 (the SVN page on the site takes me to 2.x).

If someone could supply a link for SVN CO of WP3 I can provide the patch.",galbus
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
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
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
10296,scheduled unpublishing / post expiration,,General,,low,minor,Future Release,enhancement,new,,2009-06-29T06:02:33Z,2010-12-21T11:40:21Z,"Is there any particular blog-philosophical reason why this isn't yet possible in the core version while scheduled publishing has been a longstanding feature? As usual with such issues, client requested WP, but wants features that aren't easily supported in WP. There's a plugin called post-expirator (http://homeworker-directory.com/blog/how-to-make-your-wordpress-posts-and-wordpress-pages-auto-expire-on-a-chosen-time-or-date-with-post-expirator/) that does this in a way, but given WP's apparent increased use as a CMS I think this should be a core feature.",youngmicroserf
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
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
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
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
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
14106,Post-processing of post thumbnails,,Post Thumbnails,3.0,normal,normal,Future Release,enhancement,assigned,dev-feedback,2010-06-26T20:45:24Z,2010-12-23T19:43:35Z,"I'm not sure if I'm missing something, but it looks like there is no hook to post-process post thumbnails. I want to add rounded corners to all thumbnails for a theme.

It looks to me like an action at the end of image_make_intermediate_size() in media.php with $file as parameter might do the trick. I'm not sure if that's the right place or when that function is called precisely though. So it might be necessary to add additional parameters to the function call to identify where the call came from.",nkuttler
5130,Linking to multiple posts on your site breaks pingback due to comment flooding,,Pings/Trackbacks,2.3,normal,normal,Future Release,defect (bug),new,,2007-10-01T17:36:13Z,2010-12-26T03:34:02Z,"http://scott.sherrillmix.com/blog/programmer/web/wp_pingpreserver/

is this useful in WP 2.3?",Denis-de-Bernardy
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
15930,Deleted page bin view?,,General,3.0.3,normal,normal,Future Release,enhancement,new,dev-feedback,2010-12-21T10:32:30Z,2010-12-26T22:43:21Z,"I hoped I was able to see the pages which I delete (in the trashbin) but the all stay dark... So I can't view them!

I think it would be a good feature to see them to see if somebody didn't delete the wrong page! Or when you need something form a deleted page that you can still get it without restoring it first",JonezJeA
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
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
15807,Featured image doesn't attach to post,,Media,2.9,normal,normal,Future Release,defect (bug),new,dev-feedback,2010-12-14T11:57:23Z,2010-12-26T23:09:57Z,"When you use an image as featured, it doesn't attach to the post. 

Possibly related with #14390 (post image (thumbnail) in [gallery])

Tests:

• If the image is already attached, it doesn't reattach ✔

• If the image is uploaded while writing the post, it attaches like another image, even if you are not using it in the post. ✔

• If an image is in the media library, not attached, and you use it in your post, it automatically attaches to the post. ✔

• If the image is in the media library, not attached, and you use it as featured image in a post, it doesn't attach ✘
",bi0xid
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
14745,Renaming a Link-Category Resets Link Widget Options of that Category,,General,,low,normal,Future Release,defect (bug),new,,2010-08-31T13:21:50Z,2010-12-27T17:42:30Z,"When renaming the name of a Link Category that is used as well in a Link Widget, the Link Widget stops working.

Step to Reproduce:

 1. Create a Link Category ""Test Start"".
 2. Add 10 Links into the Category ""Test Start"".
 3. Go to the Widgets Screen and add a new Link Widget to a sidebar.
 4. Select that Link-Widget and set it from ""All-Links"" to the Category ""Test Start"".
 5. Visit your Frontpage so proof that the Widget displays.
 6. Go to the Link Cagegory Editor and quick-edit the ""Test Start"" Category.
 7. Rename it to ""Test End"".
 8. Save Changes.
 9. Visit your Frontpage.

''=>>'' The Widget has disappeared.

'''Expected behavior:''' Widget displaying with the (renamed) link category.

",hakre
15277,FORCE_SSL_LOGIN or _ADMIN go to death loops when using an load-balancer,,Security,3.0.1,normal,normal,Future Release,enhancement,new,,2010-11-01T15:07:32Z,2010-12-29T19:38:09Z,"Dear community,

first of all, I had to apologize for my english pronunciation. I am not a native speaker.

Now, here is my problem or rather my feature request and patch.

'''Problem'''

I use WordPress in an infrastructure with a load-balancer (hardware) before two webserver in a dmz and behind the dmz the database server. And (that is important) the connections between the load balancer and the webserver are always http - not https. The ssl certificate is installed on the load balancer. So the https connection is only between the client (browser) and the load balancer.

Now a want to use ssl for login and admin section.

IF I use FORCE_SSL_ADMIN or _LOGIN I got into a death loop, because:

1) connection client -> load balancer: https
2) connection load balancer -> webserver: http
3) webserver WordPress -> client: reload to https because of FORCE_SSL_*

4) connection client -> load balancer: https
5) connection load balancer -> webserver: http
6) webserver WordPress -> client: reload to https because of FORCE_SSL_*

7) goto 4 or 1

'''Feature Request'''

I want a FORCE_SSL_* light. Something like USE_SSL_* but do not make a redirect.

'''Patch (see attached)'''

I defined two constants USE_SSL_LOGIN and USE_SSL_ADMIN like the FORCE_SSL_* and the functions use_ssl_admin, use_ssl_login like the force_ssl_*. And I integrate these functions in the function get_site_url in wp-includes/link-template.php

At my installation, it works.

It would be great, if you can take over these two config constants.

I hope I could descriped my problem and solution clearly.

Great tool ... Iver Jackewitz",jackewit
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
15508,Use !is_user_logged_in instead of !$user->ID,,General,3.0.1,normal,major,Future Release,enhancement,new,reporter-feedback,2010-11-19T23:15:07Z,2011-01-05T06:04:09Z,"The subject line pretty much says all. I'm kind of integrating a user system of my own to allow comments into wordpress posts as if logged in amongst other few minor changes like session sharing. I've managed to do so as a plugin, until I got stuck with this.

The fact that many places in the wordpress code checks for the user id, instead of using the is_user_looged_in renders the purpose of that function useless for plugins.",Eteq
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
10203,posts_nav_link ignoring blank function parameters,,Template,2.8,normal,normal,Future Release,enhancement,new,,2009-06-18T04:53:50Z,2011-01-05T20:13:08Z,"posts_nav_link shows both next and previous links including link seperator even though the respective function parameters are blank.

{{{
<div id=""page-nav-prev""><?php posts_nav_link('', '&#171; Previous Page', '') ?></div>
<div id=""page-nav-next""><?php posts_nav_link('', '', 'Next Page &#187;') ?></div>
}}}

",milanmk
16009,Define z-index on the new admin bar,,General,3.1,normal,normal,Future Release,defect (bug),reopened,,2010-12-28T15:41:24Z,2011-01-06T12:08:20Z,"Proposal for z-index to be defined on the new admin bar (so that it will work in harmony with browser toolbar --> Web Develoepr Toolbar's ""Display Element Information"" Feature)

When the new admin toolbar is showing,
crucial information from the Web Developer Toolbar's 
""Display Element Information"" balloon becomes hidden.

Specifying a z-index for the admin toolbar seems to resolve this problem.

ie.
I changed line 92 of class-wp-admin-bar.php, 
FROM:

{{{
<div id=""wpadminbar"">
}}}

TO:

{{{
<div id=""wpadminbar"" style=""z-index:1000;"">
}}}


It seems that the z-index value is somewhat arbitrary to getting these two toolbars to work in harmony... as I've tried values ranging from 0 to 1000, and they all worked.",BlueKachina
15796,Add spacing in the menu between 59 and 60 to allow menu items to appear above appearance,,Administration,3.1,normal,normal,Future Release,enhancement,new,,2010-12-13T14:12:51Z,2011-01-06T12:44:41Z,"I would like to place a menu item above appearance however the spacer is directly above the Appearance menu item at 60, the spacer is at 59, just a simple request to appropriate more space that is empty, 55 for the spacer and keep the appearance 60 giving 56,57,58,59 for add_menu items above 60

",Frumph
15860,White Icon visibility in Media Library,,Media,3.0.3,normal,normal,Future Release,feature request,new,,2010-12-17T09:38:34Z,2011-01-06T13:48:12Z,"'''Problem''': If a graphic file is white in color AND has transparent background, as often a case with PNG and GIF files, there is no chance for it to be visible as icon in Media Library. It will always be white on white (like a polar bear in Arctica)

'''Possible solution''': assign off-white color to td.media-icon like this
{{{
.media-icon {background-color: #ccc;}
}}}
or introduce
{{{
.media-icon:hover{background-color:#ccc;}
}}}
so that icons are visible at least on mouseover.",ABTOP
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
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
15943,Custom Post Type not set after customizing permalinks.,sterlo*,Multisite,3.0.3,normal,critical,Future Release,defect (bug),accepted,dev-feedback,2010-12-21T23:42:55Z,2011-01-06T23:11:07Z,"Developing a plugin,

It sets a custom post type on init:
{{{
      register_post_type(
        'staff_listing',
        array(
          'labels' => array(
            'name' => 'Staff Listings',
            'add_new_item' => 'Add a Staff Member',
            'new_item' => 'Staff Member',
            'add_new' => 'Add a Staff Member',
            'singular_name' => 'Staff Member'
          ),  
          'public' => true,
          'publicly_queryable' => true,
          'show_in_nav_menus'  => false,
          'exclude_from_search' => false,
          'show_ui' => true, 
          'hierarchical' => false,
          'rewrite' => array(
            'slug' => 'staff',
            'with_front' => false
          ),  
          'query_var' => 'staff', 
          'supports' => array(
            'title',
            'editor',
            'thumbnail',
            'comments',
            'revisions'
          )   
        )   
      ); 
}}}

If I add a staff member called ""john doe"" and then go to that on the front end - I expect to see this in $wp_query->query_vars:
{{{
[staff] => john-doe
[post_type] => staff_listing
[category_name] =>
[name] => john-doe
[is_404] =>
[queried_object_id] => ###
}}}

(I replaced the ID with ### since it changes from one install to the other)

That '''works''' on a standard WordPress 3.0.3 install.

But does '''not work''' on a WordPress 3.0.3 MU install.

The MU install gives me this:
{{{
[name] => john-doe
[post_type] => 
[category_name] => staff
[is_404] => 1
[is_singular] => 
[queried_object_id] => 0
}}}

Both the permalinks on the MU and standard setup are set as follows:
{{{
/%category%/%postname%/
}}}

If I change the permalink structure on the MU site to the default structure - the problem goes away.

The new URL is: ?staff=john-doe and it sets the following:
{{{
[staff] => john-doe
[post_type] => staff_listing
[name] => john-doe
[category_name] =>
[is_404] =>
[queried_object_id] => ###
}}}",sterlo
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
12682,Multiple password reset messages,dd32*,Users,2.9.2,normal,normal,Future Release,feature request,accepted,,2010-03-23T15:51:01Z,2011-01-07T00:15:50Z,"There's a security flaw mentioned in #10006: an attacker can bother users with password reset messages.

The problem was reported on Russian support forums by the user receiving hundreds of such messages on his email address. He managed to solve it himself.

He also proposed to introduce some kind of timeout for password resetting. Is it possible?",SergeyBiryukov
16150,Create post format terms on upgrade,,Upgrade/Install,3.1,normal,normal,Future Release,defect (bug),new,,2011-01-08T00:06:07Z,2011-01-08T04:57:09Z,"#16149 Creates a Standard post format term on save, but it might also be nice to have all our known post format terms created and associated with the taxonomy on upgrade. Could save us trouble down the road to have all of them defined and in the DB.",markjaquith
11297,Don't email the admin when he creates a user from the backend,,Users,2.9,low,minor,Future Release,enhancement,new,,2009-12-01T12:05:31Z,2011-01-08T18:57:43Z,"I just created the user myself. I already know I did it. I don't need to be told again.

Emails should only be sent to the admin when a user registers themselves (if that is enabled). They shouldn't be sent when the admin manually creates a new user.",caesarsgrunt
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
14711,Indexes for comment_author_email and user_id,,Comments,3.0,normal,normal,Future Release,defect (bug),new,early,2010-08-27T07:18:30Z,2011-01-08T19:36:17Z,"There are currently no indexes on any of the author columns in wp_comments.  That means there's no efficient way to count the comments written by a given commenter, for example.

The enclosed patch adds two separate non-unique indexes, one each for comment_author_email and user_id.
",tellyworth
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
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
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
16158,"3.0.4 Upgrade failed on localhost testbed, successful on public site",,HTTP,3.0.1,normal,normal,Future Release,defect (bug),new,dev-feedback,2011-01-08T21:03:55Z,2011-01-09T14:15:17Z,"Running: 3.0.1, Ubuntu, Apache

I'm still looking at this but wanted to report it while I have a break.

I got the holiday notice to upgrade to 3.0.4.  When I did an auto-upgrade on my local testbed (http://localhost:9090/wp/wp-admin/update-core.php), WP reported that I have latest version.  Plugin upgrades work fine.  The auto upgrade was successful on my public sites.  I have WP_DEBUG, etc. on for my local testbed and no errors were reported.  I have upgraded my local testbed this way in the past, definitely for 3.0.1.

Below is a debug dump I hack in the WP_HTTP->request call coming from wp_version_check.  I pasted the URL use into the browser bar it returned the correct information.  Called from wordpress localhost, api.wordpress.com returns a HTML document with the <title>Page not found</title> and a bunch of info about wordpress.


{{{
[08-Jan-2011 20:42:48] URL='http://api.wordpress.org/core/version-check/1.5/?version=3.0.1&php=5.3.2-1ubuntu4.5&locale=en_US&mysql=5.0.83&local_package=&blogs=1&users=2&multisite_enabled=0'
[08-Jan-2011 20:42:48] r=array (
  'method' => 'GET',
  'timeout' => 3,
  'redirection' => 5,
  'httpversion' => '1.0',
  'user-agent' => 'WordPress/3.0.1; http://localhost:9090/wp/',
  'blocking' => true,
  'headers' => 
  array (
    'wp_install' => 'http://localhost:9090/wp/',
    'wp_blog' => 'http://localhost:9090/wp/',
    'Accept-Encoding' => 'deflate;q=1.0, compress;q=0.5',
  ),
  'cookies' => 
  array (
  ),
  'body' => NULL,
  'compress' => false,
  'decompress' => true,
  'sslverify' => true,
  'ssl' => false,
  'local' => false,
)
}}}


So two problems:

1) If the local site core check fails, it assumes what it is running is the most current.  There is no indication that the core check failed.  It seems like the ""Page Not Found"" page returned from api.wordpress.org should be displayed. See #16156, #16094 for similar issues.

2) What in the request is causing the HTTP get to fail?  I think it must something in the header information.  BUT, it USED to work.  Is the server behaving differently?",dturvene
15846,Posts list associated to a term_taxonomy_id,,Taxonomy,3.1,normal,normal,Future Release,enhancement,reopened,needs-docs,2010-12-16T15:38:55Z,2011-01-10T15:32:32Z,"It could be very useful to have in the core a function that retrieve the list of all the posts associated to a term id. I have written the follow one:

function posts_of_a_term_id($term_id, $limit){
	global $wpdb;
	
	$query = ""SELECT object_id FROM $wpdb->term_relationships WHERE term_taxonomy_id = $term_id ORDER BY object_id DESC LIMIT $limit"";
	$results = $wpdb->get_results($query);
						
	foreach($results as $result):
						
		$id = $result->object_id;
		query_posts('p='.$id.'');
		if ( have_posts() ) : 
			while ( have_posts() ) : the_post(); ?>
				<li><a href=""<?php the_permalink(); ?>""><?php the_title(); ?></a></li>
			<?php endwhile;
		endif;
		wp_reset_query();
							
	endforeach;
}",_DorsVenabili
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
16183,MT Importer doesn't honor default article comment settings,,Import,3.0.4,normal,normal,WordPress.org,defect (bug),new,,2011-01-10T23:00:38Z,2011-01-11T23:22:45Z,"I have a blog on a network that has '''Allow people to post comments on new articles''' and '''Allow link notifications from other blogs (pingbacks and trackbacks.)''' unchecked in '''wp-admin/options-discussion.php'''. The intent is to disable comments and trackbacks, and I can confirm this is happening for new posts when I do '''Post''' > '''Add New'''.

However, the MT Importer doesn't honor this configuration. All imported MT posts have comments enabled.",novasource
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
15594,"make pluggable the multisite/""wpmu"" mails",,Mail,3.1,normal,minor,Future Release,enhancement,new,,2010-11-27T11:45:35Z,2011-01-13T03:29:18Z,"such as the one that is generated in the first lines of

wp-admin/user-new.php",arena
16010,get_comments()  returns as result (by default) comments that were not approved.,,Comments,3.0.3,normal,normal,Future Release,defect (bug),new,,2010-12-28T16:41:11Z,2011-01-13T04:00:49Z,"I see two problems in behavior of ""get_comments()"" function (wp-includes/comments.php: 180).

1. The function returns as result (by default) comments that were approved and also comments that were not approved. 
I think that this does not fit the standard of all functions in WP that by default return only posts/comments that have been published/approved.

2. I think that there is no support of cookies of current responder. In other words, a parameter that allows the following functionality does not exist.
comment_approved = '1 'OR (comment_author =% s AND comment_author_email =% s AND comment_approved = '0')
( wp-includes/comments-template.php: 852)",mati1000
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
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
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
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
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
15145,Add a wp_list_users() template tag,,Template,3.1,normal,normal,Future Release,enhancement,new,,2010-10-18T11:03:34Z,2011-01-13T06:01:32Z,"Now that `get_users()` has been implemented (#14572), I propose we add a function called `wp_list_users()` that handles a basic list of users similar to `wp_list_authors()`.  WordPress has long needed a function for handling this.

The arguments for the function would simply be the same arguments used for `get_users()`.  The `wp_list_users()` function would basically be a function for outputting the HTML.  The function should also have the ability to link to the user's archive page and output a link to the user's RSS feed.

This would make it easy for theme developers and users to be able to create a users list without a lot of PHP work.

An alternate idea might be to push a few more arguments into the `wp_list_authors()` function, but I don't think that's the best route to go since its primary function is to list users that have written posts.",greenshady
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
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
15006,Invalid Content Markup,,Formatting,3.0,normal,minor,Future Release,defect (bug),new,,2010-10-01T13:48:12Z,2011-01-13T06:29:30Z,"I have a page post that starts like this:

{{{
<p style=""text-align: right;"">Text Here</p>
<p style=""text-align: right;""></p>
More Text Here
}}}

The HTML source saves correctly, but the page output omits the closing tag for the second P element, causing the rest of the page to be invalid.

If you have any trouble reproducing this I will be happy to debug it on my server.",miqrogroove
15034,DotClear Importer doesn't work with DotClear version 2.2.x,,Import,,normal,normal,WordPress.org,defect (bug),new,has-patch,2010-10-05T00:28:01Z,2011-01-13T06:33:10Z,"This was reported to me by Benjamin GIGON. He has provided a patch, but I am not able/unsure how to test it.",briancolinger
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
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
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
14093,"Malformed category hidden from edit-tags, but shows in meta box",,Taxonomy,,low,normal,Future Release,defect (bug),new,,2010-06-25T19:11:49Z,2011-01-13T08:07:15Z,"Came from a report in IRC by xomp.

In the following example, category 1's parent is category 2, and vice versa.
{{{
mysql> select term_taxonomy_id, term_id, taxonomy, parent from wp_term_taxonomy;
+------------------+---------+---------------+--------+
| term_taxonomy_id | term_id | taxonomy      | parent |
+------------------+---------+---------------+--------+
|                1 |       1 | category      |      2 |
|                2 |       2 | category      |      1 |
|                3 |       3 | category      |      0 |
|                4 |       4 | category      |      1 |
+------------------+---------+---------------+--------+
4 rows in set (0.00 sec)

mysql> select term_id, name from wp_terms;
+---------+-----------------+
| term_id | name            |
+---------+-----------------+
|       1 | Category 1      |
|       2 | Category 2      |
|       3 | Category 3      |
|       4 | Category 4      |
+---------+-----------------+
4 rows in set (0.00 sec)
}}}
On edit-tags, you'll see only Category 3.

In the hierarchical meta box, you'll see:
{{{
Category 3
Category 1
 - Category 2
 - Category 4
}}}
If we decide to show corrupted data, we should be consistent. At the very least, edit-tags should reveal more than the meta box, not the other way around.",nacin
15550,WP_Nav_Menu_Widget needs a filter for args,,Widgets,3.1,normal,normal,Future Release,enhancement,new,,2010-11-23T21:48:57Z,2011-01-13T08:34:07Z,"I have a very common need to change the walker of a menu printed by WP_Nav_Menu_Widget. The only way to do this is by injecting a new walker on the args array.

By so, I propose changing '''default-widgets.php''':

{{{
function widget($args, $instance) {

	// Get menu
	$nav_menu = wp_get_nav_menu_object( $instance['nav_menu'] );

	if ( !$nav_menu )
		return;

	$instance['title'] = apply_filters('widget_title', $instance['title'], $instance, $this->id_base);

	echo $args['before_widget'];

	if ( !empty($instance['title']) )
		echo $args['before_title'] . $instance['title'] . $args['after_title'];

	wp_nav_menu( array( 'fallback_cb' => '', 'menu' => $nav_menu ) );

	echo $args['after_widget'];
}
}}}

To:
	
{{{
function widget($args, $instance) {

	// Filter for args
	$args = apply_filters('nav_manu_widget_args', $args);

	// Get menu
	$nav_menu = wp_get_nav_menu_object( $instance['nav_menu'] );

	if ( !$nav_menu )
		return;

	$instance['title'] = apply_filters('widget_title', $instance['title'], $instance, $this->id_base);

	echo $args['before_widget'];

	if ( !empty($instance['title']) )
		echo $args['before_title'] . $instance['title'] . $args['after_title'];

	wp_nav_menu( array( 'fallback_cb' => '', 'menu' => $nav_menu ) );

	echo $args['after_widget'];
}
}}}
",brodock
14824,WordPress is not updating Theme option after making a theme a child theme by adding the line 'Template' to the child`s css without refreshing Theem activation,,Themes,3.1,normal,normal,Future Release,defect (bug),new,,2010-09-09T23:27:35Z,2011-01-13T08:51:36Z,"Situation:

If you have 2 Themes on a 2 sites MultiSite install (each site is using one theme) and want to make one of them a child Theme of the other, you will go to one of them and add the line 'Template: NAME OF THE PARENT THEME' and save it.

After doing so the Child Theme will not inherit any Template Files from the parent until you deactivate/activate the Child Theme again.

Although it says in the ""Themes/Appereance"" section of the Child Themes backend 'CHILD THEME NAME uses templates from PARENT THEME NAME. Changes made to the templates will affect both themes.' even before deactivating/activating the Child Theme.

Looks like the template page might be checking the style.css and not update the option.",drale2k
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
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
14986,Make WordPress roles/capabilities more secure (edit_users related),,Role/Capability,,normal,normal,Future Release,enhancement,new,,2010-09-28T20:39:03Z,2011-01-13T12:36:44Z,"We've discussed this before, but after some thought, I think we can do this and make it work.

Right now, the edit_users capability is the key to the kingdom. Anybody with edit_users can change their role to anything, including to something with more capabilities than they already have.

Back in #6908 and #6014, this was thought about in terms of the old user levels system, which of course shouldn't be used and makes no sense.

In #8770, an editable_roles filter was introduced, which allows a plugin to limit the roles that a user can change themselves too. This works for one aspect of the problem, but a) it doesn't solve the passwords problem(1), and b) it assumes that the roles are still only in one chain of command. That is to say, that all the roles have an ordering, where each role has all the capabilities of the role ""below"" it.

To solve these, I think we need a capability comparison system. To wit, code that implements these two rules:

1. No user can change the role of another user to a role that has capabilities that the changing user does not also have.

2. No user can change either the role or the password of another user who has any capability that the changing user does not also have.

For rule 1, this means that if Adam was to try to assign Bob a role, he would only be given the choice of assigning roles that have a subset of the capabilities Adam himself had.

For rule 2, if Adam was to try to change the role or the password of Bob, he would not be able to change either unless Bob already had a subset of Adam's own capabilities. 

This makes the roles have a sort of definable hierarchy, where roles with lesser capabilities can be multi-faceted. I can define more than one chain of roles which are ""above"" each other in hierarchy, allowing me to build a tree of groups and users capable of different things.

For things like bbPress-as-a-plugin, this sort of enforcement is going to be a must-have feature.

Note 1: The ""passwords problem"" is that any user who can change another users password can easily change the password of somebody of ""higher"" rank, log in as them, and then have their capabilities. It's detectable, but in some cases, may not be so detectable. Admins who don't log in often, say.

Note 2: We also need role management in core, but that's a topic for a separate day. I'm speaking only of enforcement of a security model here for now.",Otto42
15101,Update Message Reduces User Orientation reg. WordPress Version,,Upgrade/Install,3.1,normal,normal,Future Release,defect (bug),new,,2010-10-12T12:06:13Z,2011-01-13T20:51:27Z,"This is a usability issue many customers are telling me: When there is a WordPress update message, the current version is not prominent any longer.

Normally the current version is displayed in the admin's footer. If there is a (very promintent ""on top"") update message, this version information get's hidden in footer as well.

The only place where a user can find the current version is in some dashboard widget. That location is hard to find. And that location is hard to describe on the phone, e.g. in support.

I suggest to restore the current version display in the footer, because a footer is very easy to find and to describe by phone.

Additionally the update message on top should display the current version number as well. Something Like There is a new version available, you're currently running (should be 65%-70% of the width in english text of a 1024 width screen (970 or so viewport size) to allow this to be translated w/o consuming too much of the screen real estate).",hakre
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
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
14987,"Group Plugins from the same package, count only once for update",,Plugins,3.0.1,normal,normal,Future Release,enhancement,assigned,,2010-09-28T22:32:42Z,2011-01-13T23:29:48Z,"Some plugins (Otto's Simple Twitter Connect and Alex King's Twitter Tools for example) contain multiple plugin files, which can be individually enabled. This is great, but the update notices should reflect 1 update instead of 10 (for Otto's), and it'd be nice to have the UI treat them as a group (a jQuery solution wouldn't be terrible).

Not sure if this is an enhancement or a feature request. Or if the component is UI or Plugins.

Looking for feed-back.",WraithKenny
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
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
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
15069,Autosave function assumes that there is only on tinyMCE on the page,,Autosave,3.0.1,normal,normal,Future Release,defect (bug),new,early,2010-10-08T10:28:12Z,2011-01-14T09:35:22Z,"Autosave javascript assumes there is only one tinyMCE instance on the post editor page, thus breaking autosave feature under the next circumstances:
1. Content editor is in HTML mode
2. Some custom tinyMCE instances are added to the page by some plugin or theme.

A patch that fixes that problem is attached.",karevn
15606,Remove Hardcoded Image Extensions,,Media,,normal,normal,Future Release,enhancement,new,,2010-11-29T12:54:47Z,2011-01-14T16:00:08Z,"Hi,

As the web changes, browsers support more image extensions. Part of what I'm doing is write plugins that extend Wordpress's ability to thumbnail beyond the norm (PDFs for example).

In order to extend functionality and provide the most support to existing themes, one way is to override functions like `wp_attachment_is_image()`. Rather than full overriding, it would be better still to change the data their logic is based on. However, these functions do make some unfortunate hard-coded assumptions.

This function, in wp-includes/post.php includes the code:
{{{
$image_exts = array('jpg', 'jpeg', 'gif', 'png');
}}}

I believe that should refer to a global array. This is not in object scope, so where would be best to place it?

Best,
Leo",acumensystems
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
14399,get_term_children doesn't call clean_term_cache() if necessary,,Taxonomy,3.0,normal,normal,Future Release,defect (bug),reopened,,2010-07-23T13:32:11Z,2011-01-15T02:01:34Z,"1. Create a taxonomy on something 'non standard'[[BR]]

2. Create a (parent) term.[[BR]]

3. Create a child term. [[BR]]

4. Retrieve child terms of the parent term using, amongst others, get_term_children().

Roughly:

{{{
register_taxonomy( 'where-you-live', 'user', array('hierarchical' => true,  'show_ui' => true, 'query_var' => true, 'label' => __('Where they live')) );

$country = 'USA';
$state   = 'New York';

$tax_country = wp_insert_term($country,  'where-you-live');
$country_term_id = $tax_country['term_id'];
wp_insert_term($state, 'where-you-live', array('parent'=>$country_term_id));

$state_terms = get_child_terms($country_term_id, 'where-you-live');
error_log(print_r($state_terms,1));
}}}

I am expecting an array containing the 'New York' child term, but I get nothing.[[BR]]
Have also tried get_terms() with child_of or parent args, which also fail (presumably for the same reason?).",miradev
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
15633,Add class to custom menu item when menu url is found in current page,filosofo,Menus,3.0.2,normal,normal,Future Release,enhancement,reviewing,needs-refresh,2010-12-01T21:06:41Z,2011-01-15T04:42:44Z,"I found the need to identify custom nav menu items when the page is at a certain URL. For example,

Menu URL: http://mysite.com/wiki/
Page URL: http://mysite.com/wiki/Moose_Attacks

Anything below http://mysite.com/wiki/ is considered to be ""within"" http://mysite.com/wiki/ so I want to add a class to the menu item whenever that happens.

I made a rough patch with the following code, added just below line 381 of wp-includes/nav-menu-template.php in wordpress 3.0.2:


{{{
     if ( strpos($current_url, untrailingslashit($item_url)) == 0 )
          $classes[] = 'current_url_parent';
}}}

This probably brings up other problems, such as other custom menu items having that class, but I hope this can be considered. Thanks

Bradford",elBradford
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
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
15953,"when category slug is changed, old uri also should redirect to new, as post uris do",,Permalinks,3.0.1,normal,normal,Future Release,feature request,new,,2010-12-22T18:51:10Z,2011-01-15T08:41:14Z,"when category slug is changed, old uri also should redirect to new, as post uris do",qdinar
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
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
14445,dbdelta do not handel FULLTEXT KEY correctly and generate MySQL errors,,Database,3.0,normal,minor,Future Release,defect (bug),new,has-patch,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
16126,Multisite name conflict check doesn't check for pages.,,Multisite,,normal,normal,Future Release,defect (bug),new,,2011-01-06T19:11:19Z,2011-01-16T02:18:41Z,"Running WP 3.1-RC2 I made a page off my main site called foobar.

Then I went in and made a sub-site (using SubFOLDERS) called foobar.

The subsite took precedence and there was NO check or warning.

I was able to reproduce this on 3.0.4

Then I went the otherway.  I have a subsite called camels (don't ask).  I went to make a PAGE called camels and it also let me. No conflict check.

Basically you have to add the main blog page names into the banned names list manually, which strikes me as a bit odd.  I can see why checking that would be onerous if someone had 600 million pages (and we all know they do) but forcing people to do it manually seems like a gap.

Need love! :D

This is minor, since not a lot of people have bitched, so clearly we're not running into it YET.",Ipstenu
15833,Script concatenation fails to take external dependencies into account.,,General,3.0,normal,normal,Future Release,defect (bug),new,,2010-12-15T17:35:17Z,2011-01-16T02:19:59Z,"Script concatenation places the concatenated script include first, before any scripts loaded separately.  If one of the scripts in the concatenation relies on a script outside the concatenation the dependency order is ignored.

When the dependencies are all internal to the concatenation things work fine (for example script4 relies on script3):

* concat=script1,script2,script3,script4,script5

But when script3 is loaded externally, script4 will break:

* concat=script1,script2,script4,script5
* external-script3

This becomes apparent if jQuery is loaded from a non-standard location (via a plugin or the [http://codex.wordpress.org/Function_Reference/wp_enqueue_script#Load_a_default_WordPress_script_from_a_non-default_location code from the Codex]) in that the visual editor fails to function correctly because source:/trunk/wp-admin/js/editor.js uses jQuery (which it fails to register as a dependency, see ticket:15830, but when I fixed that locally the results were the same).

I'm working around this in [http://wordpress.org/extend/plugins/use-google-libraries/ Use Google Libraries] by globally disabling concatenation, but it would be nice if this was fixed.


If possible, it would be nice if the loader was smart enough to do something like:

* concat=script1,script2
* external-script3
* concat=script4,script5

Or at least flagged the script with the dependency as unsafe for concatenation:

* concat=script1,script2,script5
* external-script3
* script4
  


",jczorkmid
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
15667,"wp_list_pages, if it finds no pages to display, shows random child pages instead because of a bug in get_pages()",,General,3.0.2,normal,critical,Future Release,defect (bug),new,,2010-12-03T19:12:46Z,2011-01-16T05:09:28Z,"How to reproduce:[[BR]]
- About page is published
- additionally, there is a number of parent pages[[BR]]
- these each have a number of children[[BR]]
- when calling wp_list_pages(), the ""exclude"" attr excludes all parent pages, and display only the About page.

This works as long as there is at least 1 other page published that is not in the list of excluded IDs. In this example, as soon as the About page is set to ""draft"", wp_list_pages stops working correctly.

So... with no other pages besides the excluded ones published, we do this:

1) wp_list_pages('title_li=&depth=1&exclude=3,5,7');
=> wp_list_pages SHOULD return nothing, but instead it displays all child pages of the first parent page ID in the ""exclude"" attr (here: 3).

Now we now add the ""exclude_tree"" attr just for fun:

2) wp_list_pages('title_li=&depth=1&exclude=3,5,7&exclude_tree=3,5,7');
=> should again return nothing, but instead, it displays the first-ever published child page globally (here: a child page of 5).

It looked like random behavior at first but I've been able to identify the above pattern. I'm guessing it's a failing condition somewhere in the function.",bobsoap
14938,title of add_settings_section and add_settings_field,,General,,normal,normal,Future Release,defect (bug),new,,2010-09-22T16:44:40Z,2011-01-16T17:10:15Z,"When the title of both these functions is left blank, they echo 
<h3></h3> and <table><th>.... on to the page. 

When the title is left blank, they shouldn't add the blank tags.",gandham
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
16268,Requirement for has_header_image() function?,,Template,,normal,normal,Future Release,enhancement,new,,2011-01-17T12:05:24Z,2011-01-18T11:10:19Z,"I know is pretty easy to do, but would it be a good idea to provide a has_header_image() function for use in themes? Something along the lines of:

{{{
function has_header_image() {
   $header_image = get_header_image();
   return !empty( $header_image );
}
}}}

As the header_image() function just outputs the URL it would be handy to have a conditional function you could use to check when there was a header image to output.

I'm currently working on a plugin that gives you more granular control over using different header images on different pages using the 'theme_mod_header_image' filter. There may be instances when you do not want to show a header at all on some pages. In the current TwentyTen theme for example, no checking is done before the header_image() function is called so in this scenario the header image just appears as a broken image - ideally it should not output the image at all.

Either that or should there be a function which outputs the whole image tag so that if the header_image() function returns false/empty it does not output the tag at all?

What are people's thoughts on this?",husobj
16284,Remove the wpdialog plugin from TinyMCE,azaozz,Editor,3.1,high,normal,Future Release,enhancement,new,,2011-01-18T14:26:28Z,2011-01-18T14:26:28Z,"Combining TinyMCE with jQueryUI is not a very good idea IMHO:

 * TinyMCE has all the functionality to create dialogs which is native, more extended and seems more robust than jQuery UI.
 * The reason why most dialog type scripts use an iframe is to remove any possibility of conflicts with the parent page. In out case such conflict might be introduced by a plugin that alters the edit screen.
 * There were suggestions some time ago to stop using jQuery UI in WordPress admin and replace it with one of the other jQuery plugins with similar functionality that are a lot more concise and robust.",azaozz
16291,user role drop down inaccurate on ms-sites.php,,Role/Capability,3.0.4,normal,normal,Future Release,defect (bug),new,,2011-01-18T21:23:32Z,2011-01-18T22:39:11Z,"If a user has been assigned a role and an individual capability, the user list doesn't show the correct role for the user. 

This is the scenario to replicate this issue.  User is currently given one role (ie. editor).  Then some plug-in adds an individual capability (db has role and cap serialized - order is important). You then go and change the role(ie. publisher) of that user using ms-sites.php (db has cap then role serialized). When you return to ms-sites.php (not immediate page load, but refresh, or new page load), the drop down menu for the user in question will show Administrator. It appears, that ms-sites is pulling the first item from the serialized list, and since it isn't a role, it doesn't know how to populate the drop down.

This is a particular issue, if you go to the page to change any information not related to user permissions.  Anyone whose accounts had the extra cap would suddenly become Administrators.

There may be other scenarios where this same things happens, but as best I can tell this is the particular scenario that is causing me problems.

Also, I do realize that there is a potential for user->role->cap overhaul in a future release, but since it doesn't seem to be part of the 3.1 milestone, I thought this should be fixed. 

As another note, the users.php page seems to handle this scenario a bit better.  The solution might be over there.   ",hughestm@…
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
11113,Return 410 Gone HTTP response for deleted posts/pages,,General,2.9,normal,normal,Future Release,enhancement,new,,2009-11-10T03:46:06Z,2011-01-20T06:24:15Z,"Deleted content should be treated differently from content that never existed. WordPress could be enhanced by returning a 410 Gone response to requests for posts or pages that have been deleted.

As I currently envision the solution, bits of old content (like a slug) would have to remain in the database after deletion.

Using WordPress 2.8.5; could not find any references to this in pre-existing Trac tickets in Core.",voyagerfan5761
16301,set limits to nesting of menus,,Menus,,normal,normal,Future Release,enhancement,new,dev-feedback,2011-01-19T16:21:10Z,2011-01-20T20:12:38Z,"It would be great to be able to limit/control the nesting depth of menus. I'm using menus to let my editors control where posts show up in various spots in our theme, and don't want them to accidentally nest a link deeper than it should be.",alxndr
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
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
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
15619,General Settings Tab Not Allowing trailing URL slash to be stored in Site & WordPress address (URL),,General,3.0.1,normal,normal,Future Release,defect (bug),reopened,dev-feedback,2010-12-01T02:35:11Z,2011-01-21T10:15:11Z,"**Thank you for all of the efforts you've made regarding plugins easier to maintain - I deeply appreciate it.** 

When WordPress is installed in a subfolder, attempts to add the trailing slash currently will not save properly. From this URL:
http://www.domain.com/wordpressinstalledinfolder/wp-admin/options-general.php

The General Settings Tab - WordPress address (URL)
The General Settings Tab - Site address (URL)

Want to enter ""http://www.domain.com/wordpressinstalledinfolder/""
***it won't let me enter a trailing slash on the end like it will in other URL fields on the site.***

Request: Please tweak this field to allow storage of folder trailing slash.




",dsquared
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
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
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
16343,"API for WP_Scripts: allow async loading, version checks",,Performance,,normal,minor,Future Release,enhancement,assigned,,2011-01-22T18:07:39Z,2011-01-25T15:48:01Z,"When developping a theme lately, I have found myself in the need of directly accesing the internals of the WP_Scripts class. I feel the funcionality I need might well help other developers.


Use cases:

1.- Asynchronously load a (JS) script loaded by a/another plugin

  When loading a certain page, we needed to asynchronously load some (relatively heavy) scripts which are only seldom used. In order to keep page rendering fast, we only load them on demand, after the page frame has been rendered.
  In order to avoid having to bundle (potentially conflicting versions) scripts in every plugin and prevent duplicate loading, I suggest adding an API which would enable querying the source (as used by 'scripts-loader') 


2.- Version checks for loaded scripts

  For high-performance sites, it might be useful to load a Google (or some other CDN) -provided jQuery et al ---which the user might already have cached--- instead of the bundled one, as long as it is the same version.

 Code example:
   $ver = $wp_scripts->version('jquery');
   wp_unregister_script('jquery');
   wp_register_script('jquery',""http://ajax.googleapis.com/jquery/$ver/jquery.min.js"",false,$ver);


(needs discussion)



I can provide the code (or the patch against Core) when the solution is decided (or soonish, if a proof-of-concept is needed)
If WP 3.2 is going to finally be PHP 5.2+, I'd rather basically rewrite WP_Scripts (and/or WP_Dependencies).
",jltallon
12885,LiveJournal importer uses GMT date/time as local date/time,,Import,,normal,normal,WordPress.org,defect (bug),new,has-patch,2010-04-07T02:07:25Z,2011-01-26T10:29:09Z,"The LiveJournal importer takes a comment's date/timestamp, which is in GMT, and inserts it into the database as the comment's local date/timestamp. In my timezone (U.S. Central, DST), a comment posted at 12:00pm local time (5:00pm GMT) will be imported to the database as having been posted at 5:00pm local time (10:00pm GMT).

I've attached a patch that I've successfully tested on Wordpress 2.9.2, and it appears to be easily ported to trunk. One caveat: it appears that there are two timezone settings in the Wordpress database (timezone_string and gmt_offset), but as my database has no value for gmt_offset, I don't know if I need to account for that, nor can I test that.",kurtmckee
11735,unwrap text in theme and plugin editors,,Themes,3.0,lowest,minor,Future Release,enhancement,new,,2010-01-06T02:42:04Z,2011-01-27T05:44:06Z,"Anyone who actually has to do any editing in these boxes must know what a pain word wrap is, especially when dealing with PHP that's tab-indented a few times.

A little CSS is all that's needed for the appropriate textarea elements:
white-space: nowrap; overflow: auto;",miken32
15905,Using wp_list_comments using both the type and callback arguments causes the first comment to be repeated,,Comments,,normal,normal,Future Release,defect (bug),new,close,2010-12-20T03:12:18Z,2011-01-27T07:01:44Z,"I'm using wp_list_comments like so: 

{{{
	<ol class=""commentlist"">
	<?php wp_list_comments('callback=comment_callback&type=comment'); ?>
	</ol>
}}}

When including the comments on a page listing many posts (like the home index page), the callback function is always passed the first comment that is encountered.  Trying get_comments before wp_list_comments shows the proper comments that should be displayed, but the callback always receives the same comment as it's argument.

Removing '&type=comment' yields the expected output.  My current workaround is to remove '&type=comment' and only respond to comments with an empty string for the comment_type in my comment callback function.
",benschell
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
16339,pushState Test Case,,Administration,,normal,normal,Future Release,task (blessed),new,,2011-01-22T06:30:41Z,2011-01-27T09:42:50Z,"This isn't a useful bit of code, just a test case to ground future pushState work for 3.2.  Or be ignored by future pushState work for 3.2 :)

Attached is a test case for determining browser behavior when using pushState.

The numbered links use AJAX and pushState.  The ""Other"" link is a real (non-AJAX) link to an external site.

If the state of the page is refreshed via AJAX, you'll see a var_dump( $_POST ).  If the state of the page is refreshed by a page refresh, you won't.

An example of something this test says is broken in Safari 5.0.3 (6533.19.4):

 1. Load the page (state = 0: pageload)
 2. click ""One"" (state = 1: ajax)
 3. click ""Two"" (state = 2: ajax)
 4. click ""Three"" (state = 3: ajax)
 5. click ""Other"" (state = external site: pageload)
 6. go Back in browser history (state = 3: ajax or just history?)
 7. go Back (state = 2: ajax or just history?)
 8. go Back (state = 1: ajax or just history?)
 9. go Back (state = 0: ajax). Everything is fine up to this point, though it's odd we do an AJAX request to get here.
 10. refresh the page once, either by CTRL-R or by hitting enter in the URL bar (state = 3: ajax). That's wrong.  What happened? Why are we here?
 11. refresh the page a second time (state = 0: pageload). As expected.

An example of something the test says is broken in Chrome10.0.642.2 dev:
 1. Do pretty much anything.  Chrome Dev fires a popState event on the first page load.

It could be a badly written test, or a badly written implementation of push/popState handling, or both.  These are the kinds of scenarios we'll need to test, though.",mdawaffe
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@…
15648,switch_theme action hook may provide the old template value,,Themes,,normal,trivial,Future Release,enhancement,new,,2010-12-02T14:16:03Z,2011-01-30T20:00:37Z,"When someone change its theme, and both support custom header, then the banner and the text color are not preserved (these options are theme specific)


Anyway, one may want to preserve these values :
 * check if the new theme has its default value
 * check if the old theme values are compatible
 * ...
 * migrate the values

But in order to do this, WordPress should provide the value of the old theme in use. It would be easy to get it in switch_theme() and to send it as a second argument to the action hook.",drzraf
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
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
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
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
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
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
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
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
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
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
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
11212,Add filter to wp_parse_args(),,General,2.9,lowest,normal,Future Release,enhancement,reopened,,2009-11-21T05:23:01Z,2011-02-02T09:23:16Z,"This will allow for some l33t hackery (basically being able to modify a wide variety of functions).

Think we could squeeze it into 2.9 since it's just a filter?",Viper007Bond
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
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
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
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
16375,is_tax() and get_taxonomy_template() support for post formats,,General,,normal,normal,Future Release,enhancement,new,dev-feedback,2011-01-26T12:03:03Z,2011-02-03T14:38:29Z,"Two things it seemed we forgot.

Currently you'd need to use is_tax() as a conditional tag for post formats. This is ugly, as it looks like this:

`is_tax('post_format', 'post-format-aside');`

Ideally, that slug should be internal. So we need a `is_post_format()` conditional tag. That's probably a lame name (most is_* functions are ambigious), and perhaps someone has a better idea.

Additionally, get_taxonomy_template() currently looks for `taxonomy-$taxonomy-$term.php`. That turns into `taxonomy-post_format-post-format-aside.php`. A simple check can allow us to instead (or in addition to) look for `taxonomy-post_format-aside.php`.",nacin
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
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
9306,Additional smart quote suggestion,,Formatting,,low,trivial,Future Release,enhancement,new,close,2009-03-09T05:09:36Z,2011-02-05T11:04:09Z,"If a user writes a post that contains a quotation inside parentheses, the open quote mark is not used. I suggest that when a quotation mark (double or single) is used after an open parenthesis, it should be a left-quote “ instead of a right quote ”. In order to be as complete as possible, it would probably be best to ensure that this is only done in the event that white space is used prior to the open parenthesis so as to prevent it printing the wrong one if, say, a sad-face smiley is used inside a quotation, like so:

'''''She told me, ""Aw, you make me a sad panda now. :(""'''''

If it's done so that it will only open the quote correctly after white space \s or a carriage return, I think that will cover the vast majority, if not all, of the situations where it would need to be used.",cloak42
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
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
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
3632,Export gzip support,,Import,2.1,normal,normal,Future Release,enhancement,new,dev-feedback,2007-01-22T13:11:42Z,2011-02-07T06:51:22Z,"The ticket may be similar to #3178, but it is not, because we control the WordPress process.[[BR]]

Importing a wordpress.xml file to another wordpress may fail due to an upload_max_filesize and post_max_size directives in php.ini. You know that many web hosts allow only an upload_max_filesize of 2 MB. Though, compression is a great help.

A simple solution is, on one side, offering an ''option'' to compress in GZ format the xml file when exporting, and, on the other side, the WordPress importer will accept the compressed file.

And, when possible, WordPress importer should accept compressed files from other formats and blogs.[[BR]]
Just say you only accept one compression format (gz, zip, etc) and the user will comply.",PozHonks
7625,"""Customize Header"" page visual corrections [patch]",,Themes,2.7,low,minor,WordPress.org,enhancement,new,,2008-08-28T10:44:50Z,2011-02-07T12:23:07Z,"I prepare patch which make this page a little bit nicer.
Advanced options are now under colorpicker buttons not ""Update Header"" button.

Visualisation: http://img28.picoodle.com/data/img28/3/8/28/f_TestBlog825m_2edd713.png

Patch tested on WordPress blog (latest rev.).",Simek
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
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
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
12134,Add image dimensions to smiley img element,nacin,Formatting,3.0,normal,normal,Future Release,enhancement,reviewing,dev-feedback,2010-02-05T02:55:19Z,2011-02-09T06:10:45Z,All smileys are 15x15. Add dimensions to the img element to avoid a double paint by web browsers during page load.,niallkennedy
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
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
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
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
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
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
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
5998,Invalid Unicode characters,hakre,Charset,2.3.3,normal,major,Future Release,defect (bug),assigned,,2008-02-25T18:17:22Z,2011-02-10T23:09:25Z,"Wordpress does not check for invalid Unicode characters, such as the following:

U+FFFE
U+FFFF

When the pages are served up as XHTML, allowing these characters through generates an XML error. 

WordPress should filter out illegal Unicode code points.

Please see http://www.w3.org/TR/REC-xml/#NT-Char

Also, the regex
[http://www.w3.org/International/questions/qa-forms-utf-8 here] is
incorrect, see [http://intertwingly.net/blog/2008/01/02/Keeping-On-Your-Toes
this page].

",shelleyp
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
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
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
9170,"""jQuerify"" adding a new user...",,Users,,normal,normal,Future Release,enhancement,new,close,2009-02-18T23:11:58Z,2011-02-12T04:43:57Z,"After adding a new user it's confusing that only that user is displayed in the table.  It always takes me a couple seconds before I realize that it's just showing the new user.  It seems it would be more efficient to show all of the users and just have the new row highlighted with jQuery.  

(I can code this if needed.)",aaron_guitar
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
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
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
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
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
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
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
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
16425,automatically search for similar tickets,,WordPress.org site,,normal,normal,WordPress.org,enhancement,new,,2011-01-31T19:47:20Z,2011-02-16T08:18:10Z,"I just submitted my first bug report to jQuery today. They use trac too, but they added a couple of things to the ticket creation page which I think would be pretty useful here too:

 * ~~big red notice: ""Are you in the right place?""~~
 * automatically search for similar tickets before pressing submit

See http://bugs.jquery.com/newticket",scribu
9825,"Enforce permalink history, outright",,Permalinks,2.8,normal,normal,Future Release,enhancement,assigned,dev-feedback,2009-05-15T01:06:37Z,2011-02-16T12:02:57Z,"currently, we enforce old slugs and www pref (not even sure that works, since I ended up fixing it in a plugin). canonical doesn't work for pages, or hardly.

we should enforce permalink history, outright. store it in a a db field, and query against it to optimize url2post().",Denis-de-Bernardy
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
15366,WordPress Development Blog feed can't redirect,,WordPress.org site,,high,normal,WordPress.org,defect (bug),reopened,,2010-11-09T21:13:42Z,2011-02-17T22:39:16Z,"The RSS feed doesn't know to follow the redirects.

We'll need to restore a feed at /development/feed/ -- rewrite instead of redirect.",nacin
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
14510,comment_notes_before does not work.,,Comments,3.0.1,normal,normal,Future Release,enhancement,reopened,,2010-08-02T18:39:34Z,2011-02-18T04:51:54Z,"I am unable to get the comment_notes_before to work.

Using the code:

{{{
comment_form(array( 'comment_notes_before' => 'some text' ));
}}}

... does not work.  it just leaves the default text there.

{{{
comment_form(array( 'comment_notes_after' => 'some text' ));
}}}

... does work.  It allows you to put whatever text you want.",hotforwords
15417,Search by Author on Install Plugins - requires inside knowledge,,WordPress.org site,3.0.1,normal,normal,WordPress.org,enhancement,new,,2010-11-13T17:07:49Z,2011-02-19T01:19:08Z,"If you search for plugins to install by author -
say for example - Justin Tadlock - or - Tadlock - you get no results.

If you are aware that ""GreenShady"" is Justin Tadlock - you get a long list of plugins (as you should) all listed as by ""Justin Tadlock""

This seems broken.
",transom
15760,"LiveJournal Importer mishandles some <lj-cut> and <lj user=""""> expressions",westi,Import,,normal,normal,WordPress.org,defect (bug),assigned,,2010-12-10T04:45:17Z,2011-02-19T18:52:42Z,"There is a note on plugins.trac ticket 1231 that says this should be handled in core.trac instead, so I'm cross-posting it here. The patch and ticket were originally added by a-bishop: 
http://plugins.trac.wordpress.org/ticket/1231

Reproduction steps: 1. Create a LiveJournal? entry that has <lj user=""foo"" /> in it. Note that this is XML-ish 2. Try to use the livejournal-importer on this post.

Bug The <lj user=""foo"" /> gets ignored because the regular expression is too strict.

I've attached a patch that makes LiveJournal? Importer recognize the XML-ish version.

Patch:[[BR]]
http://plugins.trac.wordpress.org/attachment/ticket/1231/livejournal-importer.patch",designsimply
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
16584,Media Gallery sorts images by two columns despite get_posts not supporting this properly,,General,2.6,normal,normal,Future Release,defect (bug),new,,2011-02-17T22:25:55Z,2011-02-20T17:08:05Z,"In the get_media_items function in wp-admin/includes/media.php, attachments are sorted first by menu order, then by post ID by the following line:

{{{
$attachments = get_children( array( 'post_parent' => $post_id, 'post_type' => 'attachment', 'orderby' => 'menu_order ASC, ID', 'order' => 'DESC') );
}}}

However, the get_posts in wp-admin/includes/query.php function does not properly support this. It splits up orderby by spaces, and then throws out 'ASC,' as it does not match a valid value. Due to a lucky coincidence, it turns into ORDER BY menu_order, ID DESC which still works in the same way.

I often want to display the first x uploaded images to a post, but allow changing which images are considered the first x via menu_order. If I solely order by ID ASC, that won't work. If I solely order by menu_order ASC, that won't work either, since the ones at the top of the list (latest uploaded) become first in the menu order. The only way to get it to work is to sort by menu_order DESC, ID ASC - but using 

{{'orderby' => 'menu_order DESC, ID', 'order' => 'ASC'}}

doesn't not work since the 'DESC,' gets ignored.

There are two possible interpretations of this bug:

a) Remove 'ASC,' in the line I mentioned since it's not valid according to the current rules for get_posts

b) Make get_posts properly support the above method by not having it throw out the extra order condition.
",smerriman
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
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
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
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
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
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
14983,Get cache object by field,,Performance,,normal,normal,Future Release,enhancement,new,,2010-09-28T08:12:24Z,2011-02-24T00:20:44Z,"Functions such as `get_term_by()` don't check the object cache before performing their query. We should introduce a function for getting a cache object by its field/value pair to make these more efficient.

I've written a simple function, `get_cache_object_by()`, which accepts `$field` and `$value` parameters in the same way `get_term_by()` does, and an optional `$group` parameter for the cache group.

`get_term_by()` and other `get_*_by()` functions could check the cache with this function before performing their query.

The function is compatible with external object cache plugins that use the `cache` member variable of the `$wp_object_cache` object, as they should.
",johnbillion
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
4711,get_pages and get_posts do not work well with private posts,,Template,2.9.1,normal,normal,Future Release,defect (bug),new,,2007-08-07T17:41:32Z,2011-02-24T17:15:26Z,"The get_pages function has no way to retrieve private pages.
The get_posts function uses a post_status parameter, meaning that it can retrieve (and potentially display) private posts regardless of the user.

While get_pages() simply lacks a feature, I would argue that get_posts() is defective in that it can display things that it should not be able to display.

Both of these functions need to be updated to use the get_private_posts_cap_sql() function for building the correct post_status query segment.
",Otto42
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
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
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
13222,Private Page Not in Menu,,Menus,3.0,normal,normal,Future Release,enhancement,assigned,,2010-05-03T03:59:31Z,2011-02-25T17:21:02Z,"According to me, there should be a option of Adding private Pages to the Wordpress Menu System. Adding them as a link is a problem as non-logged in members see it as a 404 link. So if Wordpress Menus allow Private Pages to be added in such a way so that the menu item appears only when you are logged in would be awesome.",navjotjsingh
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
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
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
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
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
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
2691,HTML comments in posts aren't handled properly.,,General,2.8.5,normal,normal,Future Release,defect (bug),reopened,,2006-04-25T03:16:37Z,2011-02-28T06:45:22Z,"When an HTML comment is added in a post, autop adds paragraph ( <p> ) tags around the comment and for multi-line comments line breaks ( <br /> ) are added after every line.  This should not happen in HTML comments.

This ticket is similar to #712 which was closed with wontfix.  I would like to know why this isn't seen as an issue?  It prevents the addition of RDF and other metadata, not to mention just plain old HTML comments in posts.",gord
11957,Change Admin Menu Save-State Rules,ryan,Menus,,normal,normal,Future Release,enhancement,new,early,2010-01-20T18:04:19Z,2011-02-28T11:40:19Z,"When we redid the menus in 2.7, we built in a save-state to keep open sections you had explicitly expanded until you explicitly closed it. I think it was a good experiment, and in some cases is helpful (like for people who are frequently accessing discussion settings or some such), but overall I think it adds to the problem of having too many menus expanded on a small screen pushing the lower menu items out of reach without scrolling. Mark and I have talked about various options for this, and we both agree that we should remove the save-state feature from the menu. So, the section you're in would stay open and highlighted, and if you opened another menu section to see the subs, if you had another menu open before, it would close. You could only ever have one section open at a time in addition to the one you're currently in. Maybe we could release the original save-state menus controls as a plugin in case there's anyone who prefers it that way. ",janeforshort
16725,Inconsistent leading slash in WP_Rewrite,,Rewrite Rules,,normal,normal,Future Release,enhancement,new,,2011-03-02T17:25:58Z,2011-03-02T17:25:58Z,"#16626 revealed an inconsistency in WP_Rewrite, where {{{$wp_rewrite->front}}} has a leading slash, but the final rules array doesn't.

This is caused by the fact that {{{$wp_rewrite->permalink_structure}}} itself has a leading slash.

Also note that {{{$wp_rewrite->search_structure}}} stands out as the only structure that doesn't have a leading slash.

This should be made consistent somehow.",scribu
16025,Page and custom taxonomy query var 404s,,Query,,normal,normal,Future Release,defect (bug),new,close,2010-12-29T16:18:22Z,2011-03-03T02:17:24Z,"Reported in IRC. Visit a page and append ""customtax=foo"", where customtax is some registered taxonomy.

3.0.3 => displays the page
3.1 => 404, since obviously no pages matched in the custom taxonomy 

Here is associated code reporter used to register the custom taxonomy: http://pastebin.com/eqQbXVvh and they were visiting http://example/products/?surface=stone where products is a regular page (I ''assume'' from this they may be hoping to display only products with stone taxonomy, maybe with custom handling in a template to get it to work... again this is a guess.)

Seems like this is probably expected to me, but it is a change.",duck_
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
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
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
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
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
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
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
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
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
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
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
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
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
16782,PHP5-Port - WP_Error Class,,General,3.1,normal,normal,Awaiting Review,enhancement,new,dev-feedback,2011-03-07T00:45:15Z,2011-03-08T21:46:09Z,"A port of the class to PHP5.

Related: #16781, #6768, #16769
",hakre
16756,PHP5-port - Access Violations on wpdb::$prefix,,General,3.1,normal,normal,Awaiting Review,enhancement,reviewing,has-patch,2011-03-05T12:01:09Z,2011-03-08T21:46:30Z,"The to be accessed privately member {{{wpdb::$prefix}}} is accessed publicly in multiple places.

This ''would'' do fatal errors ''if'' the property would be ported to PHP 5 ''with the documented behavior''.

The errorneous usage in the places in question ''might'' reveal that implementation details were missed because the prefix can differ on multi-site setups which is not technically guaranteed when accessing the private member.

The private member was only used ""read-only"" inside the class. Probably this is a documentation issue. It's set {{{set_prefix()}}} and {{{set_blog_id()}}} functions (only) and always to the result of {{{wpdb::get_blog_prefix()}}}.",hakre
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
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
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
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
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
12769,Disappearing posts/pages (in quickedit mode),,Quick/Bulk Edit,2.9.2,low,minor,Future Release,defect (bug),new,,2010-03-30T08:53:39Z,2011-03-13T22:53:58Z,"Steps to reproduce:
1. Quickedit a post.
2. Click save and instanly click quick-edit on another post.
When the ajax-request completes the first quick-edited post will disappear from the posts table. This is only a display bug.",catahac
9513,Wordpress should allow input of XHTML/HTML via Atompub,josephscott,AtomPub,,normal,normal,Future Release,enhancement,new,,2009-04-11T23:38:51Z,2011-03-14T09:50:06Z,"One of the intended purposes of Atom standard was to allow better way of including XHTML in the feed than with “escaping it” (see this [http://www.xml.com/pub/a/2003/08/20/embedded.html article by Norman Walsh in xml.com] with followup at [http://norman.walsh.name/2003/06/30/hardline 1], [http://norman.walsh.name/2003/09/18/unescmarkup 2], and [http://norman.walsh.name/2003/09/16/escmarkup 3], there is also [http://www.intertwingly.net/blog/1571.html an interesting discussion under this blogpost] and [http://www.tbray.org/ongoing/When/200x/2003/06/28/Learning Tim Bray’s essay on the same theme]) Even though even [http://norman.walsh.name/2003/09/16/escmarkup#comment0006 Norm agrees that he lost this fight], at least Atom provides ''opportunity'' for conscious authors to use namespaced XML properly.

Now, of course, the problem is that all this beauty is not supported by any known-to-me Atompub-accepting blog server. Particularly when this perfectly valid Atom 1.0 feed (take a look at [http://validator.w3.org/feed/#validate_by_input validator] if you don’t believe me):

{{{
<?xml version=""1.0"" encoding=""utf-8""?>
<atom:feed xmlns:atom=""http://www.w3.org/2005/Atom"" xmlns:dc=""http://purl.org/dc/elements/1.1/"" xml:lang=""en"">
  <atom:title>Late Night Thoughts on Listening to Mahler’s Ninth Symphony</atom:title>
  <atom:updated>2009-04-08T00:13:32+02:00</atom:updated>
  <atom:link rel=""alternate"" type=""text/html"" href=""http://matejcepltest.wordpress.com/""/>
  <atom:link rel=""self"" type=""application/atom+xml"" href=""http://matejcepltest.wordpress.com/feed/""/>
  <atom:author>
    <atom:name>Matěj Cepl</atom:name>
    <atom:email>ceplm@seznam.cz</atom:email>
  </atom:author>
  <atom:id>http://matejcepltest.wordpress.com/</atom:id>
  <atom:rights>Copyright 2007 Matej Cepl</atom:rights>
  <atom:entry>
    <atom:title>John 3:17 or The Golden Middle Ground Between Grace and Sanctification?</atom:title>
    <atom:link rel=""alternate"" type=""text/html"" href=""$url""/>
    <atom:id>urn:mc:ceplovi.cz:atom1:blog:jan-3_17-2008-07-10</atom:id>
    <atom:updated>2008-07-13T00:00:00+02:00</atom:updated>
    <dc:subject>John 3:17 or The Golden Middle Ground Between Grace and Sanctification?</dc:subject>
    <atom:content type=""xhtml"" xml:lang=""en"">
      <div xmlns=""http://www.w3.org/1999/xhtml"">
        <p>There is a couple of things, which make for me sense together
  	(and I am not sure, of course, whether they will make sense to you
  	as well), and which I would like to record here.</p>
        <p>“<span class=""scripture"">For God sent not his
  	Son into the world to condemn the world; but that the world
  	through him might be saved.</span>” (J. 3:17)  In some aspects and for some
  	people (like me) and in certain moments, this is even more important
  	than the previous verse, and yet it is quite rarely mentioned in the
  	Church. Maybe because it so clear, that nobody gets much fame to explain
  	(and there is not much to explain here?). For all of us, who live with
  	the idea of God-policeman, following our doings to punish severely any
  	small misstep, this is the good news.</p>
        <p>There is quite certainly something significantly wrong about preaching,
  	that we always quote only  (John 3:16)  and
  	we don’t continue one verse further. As if we are still more interested in what’s
  	there in gospel for me, and we don’t understand, that we are not the central figures
  	in whole Bible. Not that there wouldn’t be anything there for us, but … that’s another long
  	discussion I would like to have with Dave.</p>
      </div>
    </atom:content>
  </atom:entry>
</atom:feed>
}}}

is sent to Wordpress.com I get [http://matejcepltest.wordpress.com/2009/04/08/john-317-or-the-golden-middle-ground-between-grace-and-sanctification/ rather disasterous result].

According to [http://article.gmane.org/gmane.comp.web.wordpress.devel/27067 Peter Westwood] wordpress treats all content delivered by different modes of remote publishing as the same dummy plain text.

OK, so the request of this ticket (and hopefully place of further discsussion if necessary) is to fix this and make <atom:content type=""xhtml""> considererd and delivered so that wordpress would just accept the nodetree inside of such element as a body of the blogpost without much further changes.

Also #6128 might be caused by this.",mcepl
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
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
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
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
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
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
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
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
16880,Suggestion: login links on all pages,,WordPress.org site,,normal,normal,WordPress.org,enhancement,new,,2011-03-17T19:25:47Z,2011-03-18T20:05:47Z,"My wife is (finally) getting to work with WordPress at her job. As a relative newcomer to *really* digging into WP, she's hitting on a couple of things that I tend to just gloss over and ignore. One of them was this:

She wanted to log in to wordpress.org, but had forgotten her password. She did a password reset, and of course, afterward, she wanted to go back and manually reset her password to something she'd remember. So she went to the main wordpress.org homepage, only to find that there's no login link or any other indication of where one might go to change your password.

Of course, *we* know that you can get those links from the Support forum or the Extend area, but for her, it was not immediately obvious.

I just thought I'd suggest that the login block should appear on all pages of the site, not just on a few select ones.",dougal
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
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
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
16894,Bulk load Comment Meta upon access,,Performance,3.1,normal,normal,Future Release,defect (bug),new,dev-feedback,2011-03-19T11:19:27Z,2011-03-19T12:12:05Z,"When we query posts, we bulk load all of the posts meta and taxonomies at the time of request. Since adding comment meta, we load the comment meta on-the-fly since nothing really currently uses it in core.

I've added a filter to ''get_comment_text'' which modifies the comment content based on the value of a meta key.

The problem arises when multiple comments are displayed on a page, The metadata for every comment is loaded individually:

{{{
SELECT comment_id, meta_key, meta_value FROM wp_commentmeta WHERE comment_id IN (4)
SELECT comment_id, meta_key, meta_value FROM wp_commentmeta WHERE comment_id IN (5)
SELECT comment_id, meta_key, meta_value FROM wp_commentmeta WHERE comment_id IN (6)
SELECT comment_id, meta_key, meta_value FROM wp_commentmeta WHERE comment_id IN (7)
SELECT comment_id, meta_key, meta_value FROM wp_commentmeta WHERE comment_id IN (34)
SELECT comment_id, meta_key, meta_value FROM wp_commentmeta WHERE comment_id IN (35)
SELECT comment_id, meta_key, meta_value FROM wp_commentmeta WHERE comment_id IN (37)
}}}

in all cases, the function stack is:
{{{
comments_template, wp_list_comments, Walker->paged_walk, Walker_Comment->display_element, Walker->display_element, call_user_func_array, Walker_Comment->start_el, call_user_func, twentyten_comment, comment_text, get_comment_text, apply_filters, call_user_func_array, MY_FUNCTION_HOOKED_TO_GET_COMMENT_TEXT, get_comment_meta, get_metadata, update_meta_cache #12 (0.7ms)
}}}

It isn't ideal that every comment causes an extra query, instead, we should bulk load comment meta for the comments being displayed. 

However, Since comment meta is not always used, in order to keep the load down, I'd suggest that we only bulk load the comment meta '''on the first request for comment meta''', this should allow current users to have no detrimental affect on query count/performance, whilst allowing those who use comment meta to manage each comment better performance.",dd32
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
9774,Warning: Division by zero in /wp-admin/custom-header.php on line 361 (and many more),,Themes,2.8,lowest,minor,Future Release,defect (bug),new,,2009-05-09T18:54:43Z,2011-03-20T17:59:00Z,we might want to check if the needed defines are around and > 0 before allowing the custom-header.php to work.,Denis-de-Bernardy
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
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
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
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
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
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
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
15381,Rework WP_Scripts to support named groups,westi,JavaScript,,normal,normal,Future Release,enhancement,new,,2010-11-10T21:59:49Z,2011-03-22T09:26:12Z,"Currently WP_Scripts has some ""special"" code for splitting things across header and footer and concatenating core scripts.

I would like to change it to support the following:

 * Named Groups - so we can have header, footer, ...
 * L10N awareness - so we can auto output the l10n.js file first if we need it - XRef #15124
 * Concatenation opt-out
 * Concatentaion opt-in for plugins.

I was working on this for #15124 until it became apparent that it wasn't right to do it for 3.1 - not enough time to fully test.",westi
10551,wp_die() triggers block when using ModSecurity Core Rules,westi*,Security,2.8.3,low,normal,Future Release,defect (bug),accepted,dev-feedback,2009-08-05T19:47:28Z,2011-03-22T09:51:47Z,"wp_die() causes ModSecurity (using Core Rules), a commonly used Apache plugin, to throw a 406 error, blocking the message from displaying.

This seems to be triggered by the fact that a 500 error is thrown.  I went and changed the default status code to 401 (Unauthorized) and it worked like a charm.  I just wonder if there is a better fix for this issue... or simply a better status code to use.

Perhaps making a group of functions to make the error codes more focused.

Example:
{{{
wp_die_auth( __('You do not have sufficient permissions to access this page.') );

/**
 * Exits WordPress with Unauthorized status code.
 *
 * @see wp_die()
 */
function wp_die_auth($message, $title = '') {
	wp_die( $message, $title, 401 );
}
}}}",cstrosser
16929,pass the $type_of_url context param on user_trailingslashit() for CPT's,,Template,3.1,normal,normal,Future Release,defect (bug),new,,2011-03-22T08:42:09Z,2011-03-22T09:55:02Z,"Currently get_post_permalink() does not pass the context flag to user_trailingslashit(), this means that for custom post types, it's not possible to target them through the 'user_trailingslashit' filter.

It might be worth checking to see if taxonomies and any other uses of user_trailingslashit() pass the context as well.",dd32
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
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
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
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
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
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
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
15921,date column filter in media list table,,Date/Time,3.1,normal,normal,Future Release,enhancement,new,,2010-12-20T18:25:49Z,2011-03-23T17:08:18Z,"please add a filter for date column in media list table, like posts list table.

in wp-admin\includes\class-wp-media-list-table.php @ line:288
replace:
{{{
<td <?php echo $attributes ?>><?php echo $h_time ?></td>
}}}

with:
{{{
<td <?php echo $attributes ?>><?php echo apply_filters( 'media_date_column_time', $h_time); ?></td>
}}}",gonahkar
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
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
14754,add_query_arg() refactoring,,General,,normal,normal,Future Release,defect (bug),new,needs-unit-tests,2010-09-01T16:32:20Z,2011-03-23T19:34:24Z,"The function add_query_arg() looks like that it could benefit from a refactoring. Especially the handling of optional parameters (did introduce PHP 4 that language feature?) can benefit by a sligh touch-up.

Attached patch reflects only the first few lines of the function.",hakre
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
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
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
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
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
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
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
11616,Text copied form visual editor don't store font color,,Formatting,2.9,normal,minor,Future Release,enhancement,new,close,2009-12-25T09:14:51Z,2011-03-26T18:56:14Z,"if i copy something out of the post editing tool, and if i paste it into another, the color is not copied too.
Just the ""bold / underline ect...""

i have to ajust the color every time myself :(
",warsheep
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
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
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
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
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
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
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
9437,Allow the use of inline SVG in posts,,Formatting,2.5,normal,normal,Future Release,feature request,reopened,,2009-04-01T13:39:25Z,2011-03-31T07:18:17Z,"My WordPress 2.5 install serves the application/xhtml+xml MIME type (true XHTML) for the purposes of inlining SVG which I've done on my 'blog chrome'.  However, if I try to inline SVG in the contents of a post as follows:

<svg xmlns=""http://www.w3.org/2000/svg"">
  <circle cx=""50"" cy=""50"" r=""30"" fill=""blue"">
    <animateTransform attributeName=""transform"" type=""scale"" to=""1.5"" dur=""2s"" fill=""freeze""/>
  </circle>
</svg>

WordPress mangles it into:

<svg xmlns=""http://www.w3.org/2000/svg""><br />
  <circle cx=""50"" cy=""50"" r=""30"" fill=""blue""><br />
    <animatetransform attributeName=""transform"" type=""scale"" to=""1.5"" dur=""2s"" fill=""freeze""/><br />
  </circle><br />
</svg>

There are two problems with this:

1) WordPress converts the <animateTransform> element into a <animatetransform> element.  WordPress should at least preserve the case of the element (whether this is on a whitelist of SVG elements or all elements I don't care).  List of SVG elements are here: http://www.w3.org/TR/SVG11/eltindex.html

2) The extra <br /> elements.  These are forgivable since the elements are simply ignored by the browser's SVG parser.

Can someone confirm the behavior in WordPress 2.7.x?",codedread
5669,"Provide single logging functions to replace logIO(), debug_fwrite() etc.",,Warnings/Notices,2.3.2,low,minor,Future Release,enhancement,new,,2008-01-14T20:43:34Z,2011-03-31T08:42:45Z,"I'm looking at writing a logging infrastructure so that logIO() and debug_fwrite() can be consolidated into a single plugin replacable function (giving potential expansion into MySQL or syslog logging). I hope to follow this up with calls to the same function so administrative access can leave an audit trail.

",pishmishy
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
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
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
10902,Display problem with exclude option in wp_list_pages,,General,2.8.4,normal,normal,Future Release,defect (bug),new,reporter-feedback,2009-10-04T19:45:38Z,2011-04-02T11:50:55Z,"Create pages A,B,C and D, A parent of B, B of C and C of D[[BR]]
A[[BR]]
-B[[BR]]
--C[[BR]]
---D[[BR]]

call in a template 
<?php wp_list_pages(""exclude=6""); ?>
(6 is the ID of page B)

I get this display :[[BR]]
* A[[BR]]
* C[[BR]]
* D[[BR]]

when I expect :[[BR]]
* A[[BR]]
* C[[BR]]
-* D[[BR]]",toutantic
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
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
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
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
17027,Allow WP_Query to return just the count,,Query,,normal,normal,Future Release,enhancement,new,,2011-04-02T18:32:56Z,2011-04-02T18:32:56Z,"Currently, you can't ask just for the total number of posts for a certain query.

You have to execute that query and then retrieve the total using SQL_CALC_FOUND_ROWS.

Maybe a {{{'fields' => 'count'}}} option would do it.

Example where this is needed in Core: #17019",scribu
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
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
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
13071,Update bubble appears only at the second load,dd32,Upgrade/Install,3.0,normal,normal,Future Release,defect (bug),new,,2010-04-21T15:51:25Z,2011-04-03T10:54:48Z,"Change the version of a plugin and go directly to ''wp-admin/update-core.php'' page.[[BR]]
You will see the plugin update in the list but the bubbles on the menu appears only after a reload.

",ocean90
15440,PCLZIP_ERR_BAD_FORMAT (-10) : Invalid archive structure during plugin update,,Upgrade/Install,3.0.1,low,normal,Future Release,defect (bug),new,,2010-11-16T15:53:13Z,2011-04-03T13:15:03Z,"Currently, as part of our JW Player plugin we include several player skins so that users can customize the look of the JW Player.  These skins are packaged as zip archives.

For a while now we've been getting reports from our users having difficulty performing the automated update/install.  These users are receiving a PCLZIP error which claims the plugin archive is invalid.

From looking at the source code I see that WordPress first attempts to use the ZipArchive PHP module to unzip plugin packages.  This always works for users updating our plugin.  If this is not available it then uses a fallback library called PCLZIP.  After some experimentation, it seems that PCLZIP has difficulty unzipping archives that contain archives.

Is this a known issue from your experience?  If so, is there a workaround other than removing the zip skins from our plugin package?",LongTail Video
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
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
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
12939,Counterpart to content_save_pre hook not called when getting post content via API,josephscott,XML-RPC,2.9.2,normal,normal,Future Release,defect (bug),reviewing,dev-feedback,2010-04-09T13:53:57Z,2011-04-05T08:50:45Z,"When a post is submitted either through the web editor interface or from an API call to newPost or editPost, the content of the post is inevitably passed through the content_save_pre filter.

And when a post is opened for editing in the web editor, the content is passed through filters such as the_editor_content and  content_edit_pre.

However, when a post is fetched for editing via XMLRPC API calls such as getPost or getRecentPosts, the content_edit_pre filter is never reached.

This leads to a situation where whatever massaging of the content that a plugin may peform on the way into the database is not reversed on the way back out, for clients of the API. A concrete example of this problem is with the popular Syntax Highlighter Evolved:

http://www.viper007bond.com/wordpress-plugins/syntaxhighlighter/

This plugin performs encoding of the post content before it is stored in the database, and it counts on being able to decode that content by adding filters to hooks such as the_editor_content. However, none of these filters are reached via the API, leading to ""corrupted content"" when users try to edit posts from API clients such as the iPhone WordPress app, or my desktop editor, MarsEdit.

(My previous bug report #10802 exhibits the same symptoms of this bug, but this is a different cause).

In summary:

1. WordPress needs to establish a clear, baseline hooks for massaging content before it is saved to the database, and for un-massaging the content on the way out of the database. Currently there seems to be uncertainty about which hooks need to be overridden and under what circumstances. It seems to me that content_save_pre and content_edit_pre are probably good candidates for this.

2. Whatever hooks are established as the guarantees need to be applied once and only once in both the web-based editing scenario, and in the API editing scenario.

I think that having a well documented pair of hooks for this purpose that works identically in the web editing and API editing cases will do a lot to ensure correct behavior when plugins are installed that massage content, and will make it easy for plugin developers to ""do the right thing"" without relying on hooks that are specific only to the web editor, or to the API.
",redsweater
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
11438,Make relative links absolute in feed,,General,2.9,normal,major,Future Release,enhancement,new,close,2009-12-14T23:21:21Z,2011-04-06T04:23:47Z,"Relative links should be made absolute for the feed, because {{{/}}} means nothing in a feed reader.",caesarsgrunt
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
13218,Allow to specify name of drop-in which is not a plugin,nacin,Administration,3.0,normal,normal,Future Release,defect (bug),reviewing,,2010-05-02T21:14:23Z,2011-04-07T03:49:48Z,"As I mentioned in #11861, plugin DB Cache Reloaded have two files: one main plugin file, and another used as `wp-content/db.php` drop-in. I would like to provide name for the drop-in file, but now the only way is to use the `Plugin Name:` header. Unfortunately when I do this, drop-in file bundled with plugin appears on plugin list. Therefore I need new header, which could I use to specify drop-in name, without that unwanted side effect.",sirzooro
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
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
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
10587,POP3 class does not differentiate between 0 messages and failure to login,,Mail,2.9,normal,normal,Future Release,defect (bug),new,close,2009-08-11T15:41:20Z,2011-04-07T13:51:40Z,"The login function in wp-includes/class-pop3.php states that it returns false on failure, but it also returns false if there are no messages. These should be 2 different scenarios. I have fixed the problem. Here is an svn diff:

{{{
$ svn diff ../../../wp-includes/class-pop3.php
Index: ../../../wp-includes/class-pop3.php
===================================================================
--- ../../../wp-includes/class-pop3.php (revision 11572)
+++ ../../../wp-includes/class-pop3.php (working copy)
@@ -212,7 +212,8 @@
                 return false;
             } else {
                 $count = $this->pass($pass);
-                if( (!$count) || ($count == -1) ) {
+                if( ($count===false) || ($count == -1) ) {
+                echo ""count=$count\n"";
                     //  Preserve the error generated by last() and pass()
                     return false;
                 } else
}}}


",robfelty
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
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
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
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
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
17095,format or validate author url from api.wordpress.org,,WordPress.org site,,normal,normal,WordPress.org,defect (bug),reopened,,2011-04-09T16:44:13Z,2011-04-09T18:04:56Z,"The author url from api.wordpress.org does not seem to do full format checking. Not apparent in browsers since they will understand malformed urls but is a problem when outputting elsewhere.

Example: 
{{{
<author type=""string""><![CDATA[<a href=""http:www.artificium.sk"">Stanislav Gunčaga</a>]]></author> 
}}}


 ",wycks
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
5942,Add Owner role,,Role/Capability,3.1,normal,normal,Future Release,feature request,reopened,,2008-02-21T10:13:08Z,2011-04-10T04:17:35Z,"This patch adds a new 'owner' role.  The owner is an administrator who cannot be demoted, deleted or edited by other administrators.  Owner is a secondary role - the user is both an administrator and an owner.

In the current implementation there is only one owner at a time.  The current owner can transfer ownership of the blog to another administrator on the Transfer Ownership tab (under Users).  I implemented this as a plugin because some site owners won't want the feature there at all.

This is of most interest for MU, but it's also probably useful for some regular WordPress blogs with multiple users.

This would be particularly useful in conjunction with the user_role table from #5541, but it works fine with or without it.",tellyworth
14154,Filters hook on the custom post type edit page,,Post Types,3.0,low,normal,Future Release,enhancement,new,,2010-06-30T08:34:31Z,2011-04-10T14:37:32Z,"It would be great to have some filters added on the custom post type edit page to be able to modify the queries associated to the following filters :
- post count (mine, all, draft, published, trashed, etc...)
- categories
- dates

Basically, the issue right now is that if you modify the list of posts displayed to a user with the posts_where filter on the custom post type edit page, the post count, categories and dates filters won't be accurate anymore because there is no possibility to filter them as for the post list (or at least, I haven't found these).

Thanks!",firebird75
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
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
17120,Class WP_Importer references STDIN which is not available in Web Environments,,Import,3.0,low,minor,Future Release,defect (bug),new,,2011-04-13T09:58:12Z,2011-04-13T09:58:12Z,"STDERR is not defined in web environments (only certain CLI environments), you can call fopen('php://stderr'); directly, however this is not delivered to browsers.

Since this is in the Multisite code, CLI imports might be more common, but it's not a given that multisite imports will not be run from the web either.

Code ref:
http://core.trac.wordpress.org/browser/trunk/wp-admin/includes/class-wp-importer.php#L128
{{{
126	                        $blog = 'http://' . preg_replace( '#^https?://#', '', $blog_id );
127	                        if ( ( !$parsed = parse_url( $blog ) ) || empty( $parsed['host'] ) ) {
128	                                fwrite( STDERR, ""Error: can not determine blog_id from $blog_id\n"" );
129	                                exit();
130	                        }
131	                        if ( empty( $parsed['path'] ) )
132	                                $parsed['path'] = '/';
133	                        $blog = get_blog_details( array( 'domain' => $parsed['host'], 'path' => $parsed['path'] ) );
134	                        if ( !$blog ) {
135	                                fwrite( STDERR, ""Error: Could not find blog\n"" );
136	                                exit();
137	                        }
}}}

I'm unsure of the best way to tackle this, Ideally in a CLI environment we want the error outputs going to STDERR, but since that's not available or visible to web browsers, wp_die() would be a better choice.

One potential method would be to direct wp_die() to STDERR in CLI environments - That might cause problems with the test suite however (I'm unsure)",dd32
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
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
11359,Don't nofollow links in admin comments,,Comments,2.9,normal,normal,Future Release,enhancement,new,,2009-12-08T12:23:15Z,2011-04-15T08:25:24Z,"Links in admin comments shouldn't have rel=nofollow.

Admin comments are not user-generated content, and the site owner (admin) is vouching for the links just like when they link from the post itself. 

Therefore, this usage of nofollow is incorrect.

Also, if I go and edit a comment and remove nofollow from a link, WP adds it back. It shouldn't do that either.

Note that in the unlikely event of wanting a link in a comment to be nofollowed, this could still be done manually.",caesarsgrunt
11576,The future of the 'uncategorized' category,,Taxonomy,2.9,normal,normal,Future Release,enhancement,assigned,,2009-12-23T14:32:42Z,2011-04-15T08:44:01Z,"Is there any plan for removing the 'Uncategorized' category, or at least removing its requirement?  Some users want the ability to only show the_category() when the post is part of a real category. Also, with the introduction of custom taxonomies in 2.9, not all hierarchical taxonomies will have a default term, so this flexibility needs to be introduced anyway.  

I'm curious why the default category was introduced in the first place?  Was it solely for permalink handling?

If attachment:ticket:10122:hierarchical_metaboxes-2.patch is accepted (specifically handling hierarchical taxonomies as int) the following just needs to be added above the checkbox list to allow deselecting of all terms from the taxonomy:

{{{
<input type=""hidden"" name=""tax_input[<?php echo $taxonomy?>]"" value="""" /> 
}}}
",prettyboymp
16911,Member profile management (WP vs BP),,Users,3.1,normal,normal,Future Release,feature request,reopened,,2011-03-21T02:46:09Z,2011-04-15T09:42:50Z,"One thing that continuously bugs me in WP is the user management/profile fields, particularly with BP added. 

A lot has been done in the past releases, but there is apparently still no easy way to quickly customize user profiles and signup forms accordingly beyond the contact methods (without a plugin).

Also, the parallel existence of WP profiles and the BuddyPress X-profiles seems redundant and is confusing, in my opinion. User management/Profiles as such aren't only a feature of a social layer. I believe this should be a core feature, not a plugin-feature...
",youngmicroserf
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
12273,Better support for sites with LOTS of pages,,Administration,2.7,normal,normal,Future Release,feature request,new,,2010-02-18T15:10:02Z,2011-04-18T14:41:23Z,"The default page listing is inadequate for sites utilise Pages as their main content type.

An option to collapse the page listing and hide ""all"" sub-pages (only showing top-level) would dramatically improve the UI making it easier to find pages within the WordPress structure.

'''Example:'''

''Current Page View''

{{{
Page 1
-SubPage 1.1
--SubSubPage 1.1.1
--SubSubPage 1.1.2
-SubPage 1.2
-SubPage 1.3
Page 2
-SubPage 2.1
-SubPage 2.2
--SubSubPage 2.2.1
--SubSubPage 2.2.2
}}}

''Proposed Page View''

''Default View''

{{{
Page 1 [+] (< click to expand)
Page 2 [+]
}}}

''Expanded View''

{{{
Page 1 [-] 
-SubPage 1.1 [+] (< click to expand)
-SubPage 1.2
-SubPage 1.3
Page 2 [+]
}}}

''...''

{{{
Page 1 [-]
-SubPage 1.1 [-]
--SubSubPage 1.1.1
--SubSubPage 1.1.2 (> no further levels)
-SubPage 1.2
-SubPage 1.3
Page 2 [+]
}}}
",mkjones
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_
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
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
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
11328,Issue with double click on comment's text when quick edit is used,,Quick/Bulk Edit,2.9,normal,major,Future Release,enhancement,new,,2009-12-04T21:12:35Z,2011-04-22T21:26:47Z,"When you edit comment via quick edit or when you write a reply on ""Edit Comments"" page and double click on text of other comment, used quick editing is turned off and quick editing is turned on other comment, with all text which you wrote lost.

I noticed this when I wrote a reply on one comment and when I wanted to copy a word from that comment by double clicking on it, my whole reply was lost.

So enabling of quick edit via double click on comment's text should be  disabled when quick edit is used.",dimadin
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
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
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
17247,Crop tool is automatically selected when editing an image,,Media,,normal,normal,Future Release,enhancement,new,,2011-04-27T00:17:31Z,2011-04-27T09:34:31Z,"The crop tool is automatically selected when editing an image with the built-in tools. This can be confusing as the crop button is greyed out and inactive by default.

To reproduce:
1. Create a new post or page
2. Upload an image
3. Click the Gallery tab
4. For the image you uploaded click ""Edit Image""

The crop tool will be automatically selected. If you drag the mouse over the image it will select an area to crop.

A more intuitive behavior would be to have none of the editing tools selected by default.

Currently, the next step is presumed when you click ""Edit Image."" It would be better to leave the next step up to each user so that clicking ""Edit Image"" didn't imply a default action.",andrewspittle
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
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
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
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
5031,Tag Cloud styles are hardcoded,,General,2.3,normal,normal,Future Release,enhancement,reopened,dev-feedback,2007-09-21T14:41:04Z,2011-04-30T08:47:36Z,"We should provide a way for tag cloud styles to be set somewhere other than in the core code. Really should be the job of a theme, not the core. Yet, we are setting font-size manually. Why?

This has already come up as a problem prior to the 2.3 release. Suggest we at minimum make the styling hookable, and at most, give a css class that has relative meaning for the tag cloud.

Specifically, this would enable folks to have colored tag clouding as opposed to just font size.",technosailor
5172,Adding classes to wp_generate_tag_cloud,westi*,Template,,normal,normal,Future Release,enhancement,accepted,dev-feedback,2007-10-09T17:09:14Z,2011-04-30T08:50:18Z,"The attached patch changes 2 things on the [source:/trunk/wp-includes/category-template.php#L330 wp_generate_tag_cloud] function. 

1) The current code uses single quotes instead of double quotes, I believe the standard is to use double quotes. I've converted single quotes to double quotes.

2) I've rounded the tag size to a whole number (no decimal places).

3) I've added a class ""tag-cloud-item-X"" where X is the number in the list and a second class ""tag-cloud-size-X"" where X is the size of the tag. . This will allow theme designers to apply different styles to tags. For example changing the colour from cold to hot depending on order or size.",chmac
14049,Upgrade takes an hour to complete due to repeated 30-second FTP timeout,dd32*,Filesystem,3.1,normal,normal,Future Release,defect (bug),accepted,,2010-06-22T17:56:22Z,2011-05-02T06:54:32Z,"On my FreeBSD server (hosted by ISP pair.com), the built-in upgrade feature of WordPress takes at least an hour to complete.  I debugged the problem, and it turns out to be due to a mismatch between the FTP responses WordPress is expecting vs. the FTP responses FreeBSD is actually sending.

(Attached is a dump of phpinfo() from the machine on which I am seeing this problem.)

Steps to reproduce:
1. Clean WordPress installation on FreeBSD
2. Go to the Dashboard, then click Updates
3. Click ""Re-install Automatically""
4. Enter hostname, user name, and password; leave Connection Type as FTP; click Proceed

Actual result:
The update eventually completes successfully, but it takes an extraordinarily long time -- at least an hour.

Expected result:
Should finish much more quickly than that.

I debugged this, and here is what is happening:

- My PHP installation ends up using the ""ftpsockets"" filesystem to do the update.  (If necessary, you can force the use of that filesystem for testing purposes by adding ""define('FS_METHOD', 'ftpsockets')"" to your wp-config.php.)

- Every time anyone calls WP_Filesystem_ftpsockets->exists() to see if a file exists, that function calls ftp->is_exists(), which calls ftp->file_exists() in wp-admin/includes/class-ftp.php.

- That function tests for the existence of a file by sending the FTP command ""RNFR"" (rename from) across the FTP connection.  If the RNFR command succeeds, then the assumption is that the remote file exists; if it fails with an error message, then the assumption is that the remote file does not exist.

- Immediately after sending the RNFR command, if the RNFR succeeded, then is_exists() calls abort(), to send an ABOR -- I'm guessing this is intended to abort the rename.

- However, this is where things go bad.  FreeBSD replies to the ABOR command with ""426 Nothing to abort"".  WordPress's abort() function then attempts to read one more line, but there is nothing to read, so that read attempt times out after 30 seconds.

Here is the way the whole ""exists()"" conversation looks when it works correctly on my Mac:

{{{
PUT > RNFR /Users/mike/Sites/wordpress/ 
GET < 350 File exists, ready for destination name 
PUT > ABOR
GET < 225 ABOR command successful. 
Remote file /Users/mike/Sites/wordpress/ exists
}}}

And here is the way the conversation looks when it times out on my FreeBSD machine:

{{{
PUT > RNFR /usr/www/users/morearty/blog2/ 
GET < 350 You may attempt to rename /usr/www/users/morearty/blog2. 
PUT > ABOR 
GET < 426 Nothing to abort.
[... 30-second delay here, as abort() attempts to read one more line ... and then:]
abort: Read failed
}}}
",mmorearty
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
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
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
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
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
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
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
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
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
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
17005,Replace cryptic bitwise check with proper post type checks,,Post Types,,normal,normal,Future Release,enhancement,new,,2011-03-31T06:31:58Z,2011-05-12T02:41:01Z,"wp-admin/user-edit.php:54:

{{{
$all_post_caps = array('posts', 'pages');
$user_can_edit = false;
foreach ( $all_post_caps as $post_cap )
	$user_can_edit |= current_user_can(""edit_$post_cap"");
}}}

Could become:

{{{
$user_can_edit = current_user_can( 'edit_posts' ) || current_user_can( 'edit_pages' );
}}}

It could also become:

{{{
$show_ui_post_types = get_post_types( ( 'show_ui' => true ) );
$user_can_edit = false;
foreach ( $show_ui_post_types as $pt ) {
	if ( current_user_can( $pt->cap->edit_posts ) ) {
		$user_can_edit = true;
		break;
	}
}
unset( $show_ui_post_types, $pt );
}}}

Taking it further, show_ui might not be the right check, since $user_can_edit is also used for comment moderation keyboard shortcuts. So perhaps we need two results, one that checks show_ui and post_type_supports (for editor), and another that simply checks whether any post type supports comments.",nacin
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
17246,Handling of HTTP 404 errors for non-existing files,,Performance,,normal,normal,Future Release,enhancement,new,,2011-04-26T18:50:15Z,2011-05-12T04:19:27Z,"Generally if WordPress sees a request for a specific file it means the web server couldn't find that file. Currently we run all of WordPress in such cases and output the theme's 404 template.

If the missing file is an image that has been reused 10 times (perhaps a CSS background or sprite) we will run ten extra times on every page load.

What I'm proposing is to short-circuit all requests for specific files very early in the load cycle, the same way we do it for favicon.ico requests and output a generic 404 notice.",azaozz
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
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
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
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
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
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
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
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
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
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_
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
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
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
17505,Trac is too liberal in sending out e-mail updates on issues,,WordPress.org site,,normal,normal,WordPress.org,enhancement,new,,2011-05-19T09:25:43Z,2011-05-19T14:06:04Z,"Something relatively minor that's been bugging me for a long time: Commenting on a Trac issue or adding oneself to the CC list should not send an e-mail to that user, or at least not by default. Suppressing such e-mail for self-made changes is the default on other bug reporting systems (e.g. JIRA), and it would be great if we could make it the default for WP Trac as well.",sbressler
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
14341,Adjacent image disappears when a caption is added,,TinyMCE,,normal,major,Future Release,defect (bug),new,,2010-07-17T23:53:02Z,2011-05-20T21:44:17Z,"If you place two images side by side inside a strong tag and then try to add a caption to one of the images, the other image disappears. 

Tested in r15436. 

To reproduce: [[BR]] 
1) Open a new or existing post for editing [[BR]] 
2) Place the sample code from below into the html editor [[BR]] 
3) Switch to the visual editor and try to add a caption [[BR]] 
---> You'll see the other image disappear

Here is a screencast example: http://screencast.com/t/OTNmNjQzN

Here is some sample code: 

{{{
<strong><a href=""http://s.wordpress.org/about/images/logo-grey/grey-m.png""><img class=""alignleft size-full"" title=""grey logo"" src=""http://s.wordpress.org/about/images/logo-grey/grey-m.png"" alt="""" width=""100"" height=""100"" /></a><a href=""http://s.wordpress.org/about/images/logo-blue/blue-m.png""><img class=""alignleft size-full"" title=""blue logo"" src=""http://s.wordpress.org/about/images/logo-blue/blue-m.png"" alt="""" width=""100"" height=""100"" /></a></strong>
}}}",designsimply
17526,Allow themes and plugins to disable options in the admin,,General,,normal,normal,Future Release,enhancement,new,,2011-05-20T20:19:50Z,2011-05-20T22:09:04Z,"I frequently set options in functions.php by hooking 'pre_option_*', thus whatever the user does in the admin interface they can't change it.

There should be a filter to make the option obviously disabled to the user (it should probably also set the disabled attribute on the form fields) and perhaps add a short message saying for instance ""This option was changed by $plugin_name, visit $link to change it."" or ""This option has been set by the '$theme_name' theme. It cannot be changed.""",holizz
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
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
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
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
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
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
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
17595,Cannot subscribe by email to some tags on wp.org,Otto42,WordPress.org site,,normal,normal,WordPress.org,defect (bug),assigned,,2011-05-28T04:34:29Z,2011-05-28T05:24:18Z,"To reproduce: 

- Visit http://wordpress.org/tags/disable-comments when logged in
- Click on ""Subscribe to Emails for this Tag""

After reload the link should now read ""Unubscribe to Emails for this Tag"", but it hasn't changed, and the user does not receive emails.

The problem appears to be when people use tags that include a space, i.e., ""disable comments"".
",solarissmoke
6969,Don't apply wptexturize() to the insides of shortcode tags,tellyworth,Formatting,2.5.1,normal,normal,Future Release,enhancement,new,needs-unit-tests,2008-05-14T11:47:58Z,2011-05-31T08:45:13Z,"I have this for my post contents:

{{{
[code lang=""php""]$foo = 'bar';[/code]
}}}

The problem is my shortcode function gets this passed to it for the content string:

{{{
$foo = &#8216;bar&#8217;;
}}}

`wptexturize()` should be smart enough to not format the contents of registered shortcodes. If plugins want their contents formatted, they can pass the contents to the `wptexturize()` function itself.",Viper007Bond
12056,"target=""_blank"" being stripped from Profile Bio and Category Description",,General,2.9.2,normal,normal,Future Release,defect (bug),new,,2010-01-27T16:50:00Z,2011-05-31T19:32:07Z,"Many apologies if this is a duplicate. I have searched but did not find it yet posted.

I noticed that target=""_blank"" is being stripped from my ""a href"" tags my profile ""Biographical Info"" field even though the ""a href"" with the URL and closing tag still remain. It happens every time I save my profile. 

This was independently verified.

It is a regular wordpress install running 2.9.1 (not wordpressmu, etc.).

My original thread can be found here:
http://wordpress.org/support/topic/355388?replies=1",lovewpmu
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
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
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
11800,doubled execution of cron jobs,westi,Cron,2.9.1,normal,normal,Future Release,defect (bug),new,,2010-01-07T11:17:53Z,2011-06-02T07:18:50Z,"Hi,

as I've already mentioned in ticket #11505 , cron-jobs occasionally get executed twice (e.g. daily backup arrives two times).

I've changed the code according to the patch attachment:ticket:11505:ticket-11505-stop-gap.patch (which derives from [http://wpengineer.com/ping-problem/]) after my comment:ticket:11505:49 and had no doubles within this time period. This week I've upgraded to WP 2.9.1 and since then backups arrive two, sometimes three times, again.

Looking at the changes from 2.9 to 2.9.1, I have no other explanation for this behavior. - Maybe we should consider having a closer look again on this patch attachment:ticket:11505:ticket-11505-stop-gap.patch .

Greetz,
Berny",neoxx
15073,Add Table Buttons to Visual Editor Kitchen Sink (2nd row),,TinyMCE,,low,minor,Future Release,feature request,new,,2010-10-08T16:54:27Z,2011-06-03T09:22:59Z,"Add Table Buttons to Visual Editor Kitchen Sink (2nd row)

This regular comes on the forums. Tables are an infrequent, but very natural way to present information. In an edu environment they are essential.

I suspect you have used tables in your posts, but have the expertise to  enter the html directly yourself.

I think the general usefulness, and unobtrusive 2nd row experience makes this a candidate for core, and not plugin material.",lloydbudd
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
17678,Improved email validator,,Mail,3.2,low,minor,Future Release,enhancement,new,,2011-06-03T20:33:10Z,2011-06-03T20:36:46Z,"Ran into this while looking for a C library to do the same. The project seems to have some activity and traction, in case there's any interest:

http://code.google.com/p/isemail/ (BSD-licensed and unit-tested)",Denis-de-Bernardy
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
15677,It is not possible to install multiple variants of the same language,,I18N,3.1,normal,normal,Future Release,defect (bug),new,,2010-12-04T15:07:28Z,2011-06-04T10:21:10Z,"Because of the way {{{mu_dropdown_languages()}}} and {{{format_code_lang()}}} work, it is impossible to have multiple variants of the same language installed. The list of languages returned by {{{mu_dropdown_languages()}}} only includes one variant of each language (the one with the country code which comes last when sorted alphabetically).

For example, if .mo files for es_ES and es_PE are both installed, then only es_PE will be shown.

Furthermore, whatever variant of the language is installed, the name will be the same, not indicating the correct language variant. In the example above, the language name will be ""Spanish; Castillian"", even for the es_PE localisation. This is highly misleading.

A final problem is that the langauge names are not localised themselves, with the exception of ""English"".

The cause of these problems is the fact that {{{format_code_lang()}}} ignores the country code and only considers the language code when choosing the name to return. Furthermore, it returns hardcoded language names rather than translated names.

Since {{{mu_dropdown_languages()}}} uses the return value of {{{format_code_lang()}}} as the key for its internal {{{$output}}} array, this means that later language variants overwrite earlier ones.",caesarsgrunt
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
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
12696,Add ordering support to plugins_api() when filtered on tag or search term,ryan,WordPress.org site,,normal,normal,WordPress.org,enhancement,new,,2010-03-24T23:05:09Z,2011-06-07T14:49:00Z,"It would be awesome if you could pass an ordering parameter to plugins_api() that would allow you to return a list of filtered plugins in a specific order.

I'd love to be able to use the API to return a list of the most popular / newest / recently updated plugins on the repo that contain the tag ""buddypress"".

Something like this would be awesome:

{{{
$plugins = plugins_api( 'query_plugins', array( 'tag' => 'buddypress', 'page' => 1, 'order' => 'popular' );
}}}

Even better, also allow search filtering:

{{{
$plugins = plugins_api( 'query_plugins', array( 'tag' => 'buddypress', 'search' => 'album', 'page' => 1, 'order' => 'popular' );
}}}

I'd be happy to implement this if I can get access to the API source on WordPress.org.",apeatling
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
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
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
15761,Bulk editing on posts without Javascript enabled results in the post being set to draft,garyc40,Administration,2.9,normal,normal,Future Release,defect (bug),assigned,needs-refresh,2010-12-10T09:03:35Z,2011-06-09T19:49:56Z,"Currently, Bulk editing is available without JavaScript being enabled.

The result of attempting to edit a post, is a redirect back to the posts page with the post being marked as a draft. No UI is offered for bulk editing.

This behaviour exists in trunk, 3.0, and 2.9 from my testing (havn't tested earlier versions).

The Bulk editing screen appears to work without Javascript for modification submittal, so it's possible that a non-js version would be possible.",dd32
16919,style.css can sometimes conflict with custom background image,,Themes,3.1,normal,normal,Future Release,defect (bug),new,reporter-feedback,2011-03-21T21:54:10Z,2011-06-10T16:27:10Z,"Steps to repeat:

1. Theme with the following body style (or something similar):

{{{
body {
	background: url(images/texture.jpg) #fff;
}
}}}

2. Use `add_custom_background();` in functions.php

3. Select custom bg color, but no custom bg image.

4. View site. Custom bg color shows under the default background image, looks strange. No way to eliminate the use of textured or patterned background without editing style.css.

Intended result would be that if no bg image is chosen, none is needed.

Attached patch should address this.",nathanrice
17615,WP_List_Table::get_columns does not work for plugins,westi,Plugins,3.1.3,normal,normal,Future Release,defect (bug),assigned,,2011-05-30T11:20:56Z,2011-06-11T09:36:27Z,"see Ticket #15386 - the ticket is closed, however I have the very same problem with 3.1.3 version and the solution example provided do not work for me. 

Wordpress claims that there is no function as get_list_table , I have changed it to _get_list_table, after that change it does launch but returns a null object.",cyplo
16987,Allow registering a WP_List_Table class when registering post types,,Post Types,,normal,minor,Future Release,enhancement,new,dev-feedback,2011-03-28T16:01:55Z,2011-06-11T09:39:51Z,"This would go a long way towards making the post types feature more complete. I discovered while converting Links from the native format into a post type that the admin lists are still very clunky to work with, especially with quick edit obliterating non-underscored post meta and the quick edit form not being configurable enough on the server-side to make it useful for more unusual post type requirements.

Code-wise it would be good to work with it in a similar way to the Walker_Nav_Menu class eg. so I could extend the WP_Posts_List class to overwrite certain elements for my post type.",sanchothefat
17780,Use PHP native double encoding prevention in htmlspecialchars(),,General,,low,minor,Future Release,enhancement,new,,2011-06-13T08:03:13Z,2011-06-13T08:03:13Z,"Since PHP 5.2.3 the {{{htmlspecialchars()}}} function has an optional {{{$double_encode}}} parameter, which we could use. This can save us a few expensive kses/html decoding calls.

We need to make sure it works the same way as our implementation.",nbachiyski
17783,Inconsistent theme management screens,,Administration,3.0,normal,normal,Future Release,enhancement,new,,2011-06-13T12:32:26Z,2011-06-13T13:12:51Z,"On single-site you have tabs, while on multi-site you have an ""Add New"" button:

/wp-admin/themes.php (single-site):

[[Image(http://core.trac.wordpress.org/raw-attachment/ticket/17783/themes.png)]]

/wp-admin/themes.php (multi-site):

[[Image(http://core.trac.wordpress.org/raw-attachment/ticket/17783/ms-themes.png)]]

/wp-admin/network/themes.php (multi-site):

[[Image(http://core.trac.wordpress.org/raw-attachment/ticket/17783/ms-themes-network.png)]]",scribu
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
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
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
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
17864,"Small bug when using ""wp_delete_file"" filter",Morten Rugaard,Media,3.1.3,normal,minor,Future Release,defect (bug),new,reporter-feedback,2011-06-21T20:40:36Z,2011-06-21T21:52:32Z,"Hi,

I came acrossed this little annoying bugger, when I was playing around with upload filters.

When I added the ""wp_delete_file"", I kept getting this error:

{{{
#!php
Notice: Undefined index: path in /volume1/web/dev/favola_dk/wp-includes/post.php on line 3757
}}}

I then digged down in the line, where the error was occuring and I find this little bugger (the bold line is line 3757):

{{{
#!php
// remove intermediate and backup images if there are any
foreach ( get_intermediate_image_sizes() as $size ) {
	if ( $intermediate = image_get_intermediate_size($post_id, $size) ) {
		$intermediate_file = apply_filters('wp_delete_file', $intermediate['path']);
		@ unlink( path_join($uploadpath['basedir'], $intermediate_file) );
	}
}
}}}

I noticed when I var_dump() the $size, that ""path"" is not within the array at any time. And the funny thing is, if you go down the next block in the code you'll see this:


{{{
#!php
if ( is_array($backup_sizes) ) {
	foreach ( $backup_sizes as $size ) {
		$del_file = path_join( dirname($meta['file']), $size['file'] );
		$del_file = apply_filters('wp_delete_file', $del_file);
		@ unlink( path_join($uploadpath['basedir'], $del_file) );
	}
}
}}}

Here it uses the index ""file"", which is the one I was expecting to recieve in the former block.",DuGi_dk
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
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
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
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
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
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
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
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
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_
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
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
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
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
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
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
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
16925,Move the WP_Filesystem_SSH2 class to a plugin,dd32*,Filesystem,,normal,normal,Future Release,defect (bug),accepted,,2011-03-22T00:16:08Z,2011-07-06T03:57:26Z,"I'd like to consider moving the WP_Filesystem_SSH2 class out of WordPress core and into a plugin.

The reasoning for this is simply due to the fact that the majority of users will not use it, It already requires the PHP extension to basically be custom-compiled (thanks to limited installations coming with the extension). 

In my opinion, This would be better served in a plugin, potentially with a PHP-based version as well: #10348",dd32
13347,Mobile user agent detection for vars.php,westi,Plugins,,lowest,minor,Future Release,enhancement,new,,2010-05-11T16:21:58Z,2011-07-06T16:11:21Z,"We've added some user agent detection for mobile clients in the vars.php file, thought it would be good to have in core for plugins and themes to use.  Attaching patched vars.php.",mrroundhill
18003,"On the Credits page, add Male/Female tags for each person, for use in translation",,General,,normal,normal,Future Release,enhancement,new,,2011-07-06T12:20:16Z,2011-07-06T18:16:56Z,"The Credits page mentions contributors along with their role in the project: ""Lead Developer"", ""Guest Committer"", etc.

When translating to certain languages (for e.g., Hebrew), these roles are translated differently when the person is male or female. For example, in Hebrew there would be a different translation for male lead developers (מפתח ראשי) and female lead developers (מפתחת ראשית).

This doesn't cause an issue with translation at the moment, since the only woman on the credits page that has her role mentioned in Jane, and she's the only ""User Experience Lead"". So in translation, we can translate everything else as male and only translate that string as female.

In the interest of future proofing the credits page, I suggest we add two different strings for each role - male and female. In English and other languages will use both the same way, but languages that are not gender-neutral will be able to translate them correctly. This would obviously require that we know the gender of all the people mentioned.

I tried very hard to ignore all the political aspects of this issue - I hope we can get through this without having to discuss them :)",RanYanivHartstein
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
18033,WordPress.org Support Forums Mobile Theme,,WordPress.org site,,normal,normal,WordPress.org,enhancement,new,,2011-07-08T05:57:50Z,2011-07-08T13:45:42Z,"I mentioned this on Twitter earlier today and Nacin replied that if I coded something up he'd be happy to deploy it.

So here is a ticket to discuss the possible mobile theme for the support forums. Theme could be released later on as well with bbPress possibly?",JarretC
9057,"Need ""restore defaults"" buttons on all admin screens",,Administration,2.7,normal,normal,Future Release,feature request,new,,2009-02-06T08:50:30Z,2011-07-08T15:06:31Z,"Need ""restore defaults"" buttons on all admin screen items, else once
you change something, there's no way to get it back to whatever the
default was, or find out even, short of a total reinstall. Includes
""screen options"" items too.
",jidanni
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
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
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
14809,comments_by_type doesn't always get reset,,Comments,3.0.1,normal,minor,Future Release,defect (bug),new,reporter-feedback,2010-09-08T01:18:20Z,2011-07-09T17:40:40Z,"in wp-includes/comment-template.php , in function comments_template(), it is possible for $wp_query->comments to be set but for $wp_query->comments_by_type NOT to get reset when it should be reset to array().  We ran into a bug because:[[BR]]
- on a single page (actually inside of a widget), we were pulling comments from multiple posts[[BR]]
- for each post, we were requesting get_comments(array('type' => 'comment'))[[BR]]
- in wp-includes/comment-template.php , in function wp_list_comments(), code says:
{{{
		if ( 'all' != $r['type'] ) {
			if ( empty($wp_query->comments_by_type) )
				$wp_query->comments_by_type = &separate_comments($wp_query->comments);
			if ( empty($wp_query->comments_by_type[$r['type']]) )
				return;
			$_comments = $wp_query->comments_by_type[$r['type']];

}}}
unfortunately, since we were running that again and again, it would not recalculate $wp_query->comments_by_type each time.

I think that the function comments_template() in wp-includes/comment-template.php should have the following line added:
{{{
     $wp_query->comments_by_type = array();
}}}
right after the line where $wp_query->comments is set.",nmassey
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
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
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
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
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
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
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
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
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
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
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
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
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
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
16870,consider disabling HTTP transport after multiple failed requests,,HTTP,2.9,normal,normal,Future Release,enhancement,new,dev-feedback,2011-03-16T23:18:45Z,2011-07-16T23:31:02Z,"There has been a number of reports over the lifespan of the cURL HTTP transport failing with an error during upgrades:
{{{
WP HTTP Error: name lookup timed out
}}}

This is a common error from cURL on badly configured installations (specifically, IIRC it lacks DNS Resolving in cURL, sometimes it just required an extended amount of time to resolve, others, it simply can't resolve)

Like we do with fsockopen() I think it'd be worth disabling the cURL transport for x hours when it hits this particular error condition..

Related threads: http://wordpress.org/support/topic/dashboard-issues-rss-error-wp-http-error-name-lookup-timed-out and http://wordpress.org/support/topic/plugins-update-failure  Both old threads, so this may only affect a PHP4 version of cURL.. For tracking purposes, I've finally created this ticket.",dd32
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
16230,Category slugs not cut at 200 characters as it should under some conditions,,General,3.1,normal,normal,Future Release,defect (bug),new,,2011-01-14T14:10:23Z,2011-07-17T02:21:27Z,"When a category name is longer than 200 characters, it is cut to 200 and so is the slug automatically created upon category creation.

Now, if you edit the category name or slug afterwards, again trying to set a name longer than 200 characters it is cut again.

But, if you edit the name or slug and use a very long string like this one:

%d1%85%d1%80%d0%b0%d0%bd%d0%b0/%d1%80%d0%b5%d1%86%d0%b5%d0%bf%d1%82%d0%b8/%d0%b4%d0%b5%d1%81%d0%b5%d1%80%d1%82%d0%b8-%d1%80%d0%b5%d1%86%d0%b5%d0%bf%d1%82%d0%b8-%d1%85%d1%80%d0%b0%d0%bd%d0%b0/%d1%81%d0%bb%d0%b0%d0%b4%d0%ba%d0%b8%d1%88%d0%b8-%d0%b4%d0%b5%d1%81%d0%b5%d1%80%d1%82%d0%b8-%d1%80%d0%b5%d1%86%d0%b5%d0%bf%d1%82%d0%b8-%d1%85%d1%80%d0%b0%d0%bd%d0%b0-%d1%80%d0%b5%d1%86%d0%b5%d0%bf%d1%/

Then the slug ends up being longer than the 200 chars limit.

Now if on the Categories list dashboard page you have more categories than visible on one page, and the category you edited above is not on page 1, the page it is on will appear empty (while successive pages will be all right if they contain regular categories)

This has been reproduced on 3.1-RC2-17283",paolal
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
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
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
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
18097,Themes update-check should check parent/child,,WordPress.org site,,normal,normal,WordPress.org,defect (bug),new,,2011-07-13T10:19:33Z,2011-07-21T02:49:14Z,"A child theme by the name of Commune gets served the updates of a parent theme.

We should only serve an update to a theme if it's a child or parent, appropriately. For child themes, we should also confirm the parent.",nacin
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
16779,Ignore capitalization during login,,WordPress.org site,,normal,minor,WordPress.org,enhancement,new,,2011-03-06T21:07:43Z,2011-07-22T09:16:23Z,"The login box at wp.org seems to be case sensitive. In my case if I type ""bandonrandon"" it returns with ""user not registered"" but if I type ""BandonRandon"" I am able to login. However, it seems that ""bandonrandon"" is also connected to my account and isn't available for registration. 

My thoughts on this are to maybe ignore the case of the user when they login to the site. The same can be said for plugins. If my name is ""bandonrandon"" in the plugin readme my gravatar is not shown but if it's ""BandonRandon"" my gravatar is shown.  

",bandonrandon
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
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
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
3842,Should make nofollow implementation cleaner and easier to remove,,Comments,2.1.1,normal,normal,Future Release,enhancement,new,,2007-02-22T10:08:56Z,2011-07-23T06:44:21Z,"{{{rel=""nofollow""}}} didn't appreciably stop comment spam, and there are many arguments for why it is a '''bad''' idea (and not just a failed idea).  We should consider axing it.",markjaquith
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
16251,Change attachment image uploads to have post_date corresponding to EXIF created date,,Media,,normal,normal,Future Release,enhancement,new,dev-feedback,2011-01-15T23:03:15Z,2011-07-23T15:30:02Z,"General idea is that if an image has EXIF data about its creation time, we should use that as the post_date in the attachment post, since the attachment post is the representation in WordPress of the attachment file.

Advantages: The posts will show their proper dates of creation by simply using the_date and similar functions.

This code will do it as a plugin. A patch would be much simpler and more generally beneficial.

{{{
add_filter('wp_update_attachment_metadata','attachment_redater',10,2);
function attachment_redater($data, $id) {
	if (!empty($data['image_meta']['created_timestamp'])) {
		$post=get_post($id);
		$post->post_date = gmdate('Y-m-d H:i:s', $data['image_meta']['created_timestamp']);
		wp_update_post($post);
	}
	return $data;
}

}}}
",Otto42
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
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
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
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
10480,Need method to display custom errors for quickedit,,Quick/Bulk Edit,2.8.2,normal,normal,Future Release,enhancement,new,reporter-feedback,2009-07-24T21:34:14Z,2011-07-27T06:01:59Z,"Some time ago I wrote [http://wordpress.org/extend/plugins/wypiekacz/ Wypiekacz] plugin. It checks if post satisfies some rules. When check result is negative, plugin displays message for the logged user. Unfortunately when post is edited with quickedit, user do not get any error message. It will be good do add mechanism do return custom error message to the client for quickedit.",sirzooro
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
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
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
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
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
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
5250,wpautop() issue with lists,,Formatting,2.3,normal,normal,Future Release,defect (bug),new,,2007-10-24T00:32:38Z,2011-07-30T15:34:50Z,"First of all, my sincere apologies if this is a duplicate.


The problem, in short: WordPress inserted a number of unclosed `<p>` tags into my post. It should either insert correctly closed tags, or none at all. I honestly would prefer the former.


In detail: I had HTML code very similar to this:

<ul>
  <li>text<ul>
    <li>subtext</li>
  </ul>more text</li>
</ul>


This was automatically converted to:

<ul>
  <li>text<ul>
    <li>subtext</li>
  </ul><p>more text</li>
</ul>

Note the extra `<p>` tag in the above, which is unclosed (making the W3C validator choke on my website).

Also note, I was not using the WYSIWYG editor (turning it off was the first thing I did), so it's unlikely to be due to that.


As a workaround, manually inserting properly closed `<p>` tags works just fine:

<ul>
  <li>text<ul>
    <li>subtext</li>
  </ul><p>more text</p></li>
</ul>

Since this workaround exists, the bug is not very prioritary, but it should also (hopefully) be easy to fix.",Narc0tiq
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
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
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
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
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
4611,Dotclear importer for WP 2.3: flatimport,,Import,2.3,low,minor,WordPress.org,enhancement,new,,2007-07-11T13:37:57Z,2011-08-04T10:30:33Z,"This importer import '''posts''' (''users, comments, tags, categories''), '''links''' (''categories'') into WordPress 2.3 from a Dotclear '''export flat file'''. A restart procedure allows the import of big blogs.

It's the importer for a Dotclear 2 blog. It imports also from a Dotclear 1.2.x blog (note that the embedded Dotclear importer imports from Dotclear 1 only).

Download the [http://cvie.free.fr/public/flatimport.zip] ; a tutorial is embedded with the flatimport.php script.",albaran
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
10950,Download external files to Media Library,,Media,,normal,normal,Future Release,feature request,new,,2009-10-13T15:48:43Z,2011-08-04T19:11:02Z,"The media uploader currently allows you to upload a file from your local computer or link to an external URL. 

However, when linking to an external URL (in particular for an image), you don't get the same options as you would have when actually adding a resource to your site's media library.

It would be nice to be able to fetch a file from an external source, and add it to the library, just as with a regular file upload. Then the file could be included in a gallery, you could use the image editor to crop/resize, etc.

Primary use-case would be to fetch an external image into the library without having the extra steps of saving to your local computer, then re-uploading it to your WP site. However, it should work with any allowed content-type (audio, video, pdf, etc).

It may also be useful to save the original URL as attachment metadata.
",dougal
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
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
8911,Use $WP_User as the standard unit of user information,jeremyclarke,Users,,normal,normal,Future Release,feature request,new,,2009-01-21T19:51:14Z,2011-08-04T23:15:43Z,"Right now much of the core code and most plugins use the old get_userdata() function to fetch information about users. This works okay for most cases but fails to take advantage of the new $WP_User object type. Using the objects makes the user information much more powerful because you can immediately call methods like $user->has_cap('edit_posts') without messing around. It also just makes sense, and not using the pretty object is silly.

In some places, like edit-user.php, where more functionality is needed there are functions like get_user_to_edit() that make use of the $WP_User object. I think that WP should clearly move towards always using the modeled object version rather than the straight db version in all places, and encourage plugin authors to do the same. 

Luckily the $WP_User wrapper uses get_userinfo to fetch its data and rewrites all the elements into its first level, so effectively the resulting object from $WP_User has all the same data as get_userinfo() and thus deprecates perfectly in all situations. 

My proposal would be to create a new wrapper function to be used instead of get_userinfo():


{{{
get_user($id, $name = '')
}}}


This would just initiate the object and return it, similar to get_post. It's also fits much better in the overall naming conventions of wp with friends like get_term. 

If possible, it might also be good to move the actual database sql from the get_userdata() function into the $WP_User object definition somewhere, that way its all in one place. Looking at it now it also seems like the whole _fill_user() function thing could be done more elegantly to explain itself and the cache better. [problem: pluggable.php has get_userdata(), which complicates things]

Finally, since get_userdata() currently calls _fill_user() every time then fetches all meta_value/key's for the user, wouldn't it be faster to make just one db call that fetches the row from wp_users AND the values from the usermeta table? If you are checking 30 users on your page for some reason (say, a twitter style list of your authors in the sidebar) that would save 30 database connections, which makes a difference no matter what! 

[probably should be in another ticket, but it would also be great to have access to a global function get_users() that fetched a set of users (say, active ones or a specific role) all at once based on criteria like get_terms() or get_posts(), it would save time if you are getting many users and if it added them all to the cache after fetching it would probably be a lot faster than checking each user individually]

I'm very interested in feedback. I'll try to work on a patch at some point soon (mental note: before 2.8 feature freeze)",jeremyclarke
8754,Uploading images whose dimensions are greater than the maximum size allowed fail to generate thumbnails and no error/failure message is displayed.,,Upload,2.7,normal,normal,Future Release,defect (bug),reopened,,2008-12-30T02:50:09Z,2011-08-05T08:31:26Z,"The process of uploading images that have dimensions (physical size) greater than the maximum size allowed by the global setting will fail part way through the process without an error or failure message being displayed.

Example: Uploading a JPEG image with a width of 625 pixels and height of 938 pixels.  This physical size is greater than the maximum size allowed by the default WordPress configuration.

When uploading such an image using the ""Add an Image"" panel the the Flash uploader will stop with the upload progress bar at 100% and displaying ""Crunching…"".  The Browser uploader will return a blank ""Add an Image"" panel display.

In both cases the images are uploaded to the appropriate directory on the server and appear when the post's media gallery is refreshed.  Thumbnail images are not generated for these uploads.  It appears the failure is before or during thumbnail generation.

Note: The maximum image dimension allowed for upload is not the same as the Administration > Setting > Media > Large Size: Max Width and Max Height settings.  In my case these settings are both set at 1024 pixels (above the size of the image I am working with).  It appears this control panel setting only impacts the HTML image tag attributes for posts, so as not to break the visual design with images that are wider than a layout allows.

Now you may ask what is the default maximum dimension for uploaded images.  Unfortunately I cannot find my notes on where exactly the setting is in the WordPress code (it has no Web GUI access that I am aware of).  I had changed this setting once to work around this problem and hoped 2.7 would have fixed the issue.  It is a pain to track down as the location of this setting has changed over time as it moved to different files and functions with each new version of WordPress.

My understanding is that this maximum image dimension setting was set to prevent images over 3 megapixels from being uploaded since those are really big and readers shouldn't have to deal with such images.  This is old thinking from before broadband and photo blogs took off.

See: http://lorelle.wordpress.com/2007/03/28/wordpress-thumbnail-size-limit-hack/

I think the default limit should be raised, but that would be a feature request.  This ticket is to have error messages displayed.

",DRGDC
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
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
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
12502,wordpress portability,significance*,General,,normal,normal,Future Release,enhancement,accepted,,2010-03-03T19:30:08Z,2011-08-07T21:13:10Z,"i find it really frustrating moving wordpress from server to server and to a new url.

this is mainly due to the fact that the url is hard coded in the database, requiring me to open up the sql and do a find and replace.

would it be possible to use the $SERVER globals to get the 'blog url' rather than making entries in the database with the http://blog.url/ part of the url?

that would make the process so much easier, since you could just backup/reup the database using your normal database admin tools without messing around with editing the .sql file or going through the processes described at 

http://codex.wordpress.org/Moving_WordPress#Moving_WordPress_to_a_New_Server



would it be possible to make wordpress more portable? i would be happy to help design/code the feature.


Dan",significance
12510,There should be an API to register post_types and post_status,,Post Types,3.0,normal,normal,Future Release,feature request,new,reporter-feedback,2010-03-04T06:58:56Z,2011-08-07T21:20:31Z,"Presently the available (default) post_types and post_statuses are stored in wp-includes/post.php and called on init.
Shouldn't they be stored in the DB (perhaps in the options table). This would make it much easier / cleaner to add / manage custom post_types.
Essentially as the post_type array contains meta-data about that posts of that type I don't believe that it is good practice to store that statically.

This could be very easily implemented for 3.0 release and clean up a whole lot of hacking / issues and make a uniform way of storing custom post_types.",ceenz
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
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
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
18321,Stop minimizing CSS files and add a simple regexp in load-scripts.php to remove comments when concatenating,,General,,normal,normal,Future Release,enhancement,new,,2011-08-03T17:31:18Z,2011-08-08T09:01:05Z,"As the title, differences in gzipped .dev.css and .css files are minimal. If we remove comments on the fly in load-scripts.php (has to be very fast regexp) we wouldn't need to pre-minimize css files.",azaozz
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
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
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
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
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
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
12097,Inserting image captions sometimes results in malformed HTML,,Media,2.9.1,normal,normal,Future Release,defect (bug),new,,2010-01-31T13:30:55Z,2011-08-13T11:11:31Z,"When adding an image with a caption to an HTML post, WP generates invalid HTML. In at least the case identified below, WP generates a DIV tag inside a P tag, which violates HTML standards and which results in undefined behavior depending on the browser being used.

For background: http://wordpress.org/support/topic/291591

To reproduce:

  * install stock WP 2.9.1 from scratch. No changes (eg. no themes and no plugins).
  * edit the default first post
  *  switch to HTML editor view
  * upload an image at the beginning of the post, using the same text for the image title, alternate text and caption
  * insert the image into the post as a thumbnail
  * save the post

The text inside the editor should look like the following when you are done:

{{{
[caption id=""attachment_3"" align=""alignnone"" width=""100"" caption=
""Blurred TV Icon""]<a href=""http://wptesty.nfshost.com/wp-conten
t/uploads/BlurredTVIcon.png""><img class=""size-full wp-image-3
"" title=""Blurred TV Icon"" src=""http://wptesty.nfshost.com/wp-con
tent/uploads/BlurredTVIcon.png"" alt=""Blurred TV Icon"" width=""100
"" height=""100"" /></a>[/caption]Welcome to WordPress. This is your
 first post. Edit or delete it, then start blogging!
}}}

The resulting HTML generated by WP is:

{{{
<div class=""entry"">
<p><div id=""attachment_3"" class=""wp-caption alignnone"" style=""wi
dth: 110px""><a href=""http://wptesty.nfshost.com/wp-content/u
ploads/BlurredTVIcon.png""><img class=""size-full wp-image-3"" titl
e=""Blurred TV Icon"" src=""http://wptesty.nfshost.com/wp-conten
t/uploads/BlurredTVIcon.png"" alt=""Blurred TV Icon"" width=""100"" h
eight=""100"" /></a><p class=""wp-caption-text"">Blurred TV Icon<
/p></div>Welcome to WordPress. This is your first post. Edit or del
ete it, then start blogging!</p>
</div>
}}}

For a live example, see http://wptesty.nfshost.com.

NOTE: I am hosting this site myself and I may not leave it up for very long, so if you want to see the bug without having to set up WP yourself, please visit this URL sooner rather than later.",essday
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
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
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
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
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
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
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
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
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
17138,Link to plugin URI on plugins on wordpress.org,,WordPress.org site,,normal,minor,WordPress.org,defect (bug),new,,2011-04-15T04:44:10Z,2011-08-17T23:23:49Z,"The link to the Plugin URI seems to have disappeared from plugin pages on the WordPress Plugin Directory. The donations link still appears (when present).

Be nice to get it back.",johnbillion
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
4518,Nested <ol> <ul> lists display incorrectly with default theme,iandstewart,Themes,2.2.1,normal,normal,WordPress.org,enhancement,assigned,,2007-06-23T02:33:41Z,2011-08-23T12:48:21Z,A nested ordered / unordered list places bullets AND numbers on the unordered list.  You can see an [http://andrew.jorgensenfamily.us/2005/12/cygwin-openssh/ example of this] on my own site.  The bug is somewhere in wp-content/themes/default/style.css.  I fixed it once before but I don't recall where the bug is now.,andrewjorgensen
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
18245,Make the visual editor KSES filter/user capabilities aware,,Editor,,normal,normal,Future Release,enhancement,new,,2011-07-25T18:11:21Z,2011-08-23T20:16:45Z,"Currently the visual editor assumes ""unlimited html"" for all users. This can result in some surprises when a user doesn't have that capability.

We can make a function that translates the KSES allowed tags and attributes into TinyMCE format and sets the editor accordingly.",azaozz
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
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
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
16147,"MT Importer truncates double vertical spaces, munging paragraphs together",,Import,3.2.1,normal,major,WordPress.org,defect (bug),reopened,,2011-01-07T22:25:47Z,2011-08-24T06:20:05Z,"Movable Type 3.x-era exports don't use '''<p>''' tags. Like TinyMCE (and WordPress), a '''<p>''' in final rendered code is represented by two '''\n'''s in a row.

The importer strips out double '''\n'''s and replaces with a single '''\n'''. This causes paragraphs to lose their distinction upon import.

It does this because the '''$line''' variable was created by '''$line = $this->fgets($handle)''' (line 339). Then '''$line = trim($line)''' (line 340) strips out several characters, including '''\n'''.

Lines 455 and 456 add back the '''\n''' ''except'' on blank lines:
{{{
   if( !empty($line) )
   $line .= ""\n"";
}}}

So if a '''$line''' was nothing but a '''\n''', it's stripped by the '''trim''' function and becomes a 0 character line. Then the '''if( !empty($line) )''' declines to add back a '''\n'''.

Somehow this needs to be altered so that successive '''\n'''s aren't stripped. Otherwise paragraphs get vertically munged together.",novasource
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
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
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
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
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
12521,Disable Site Wide Discussions - Admin Settings,,Comments,3.0,normal,normal,Future Release,enhancement,new,,2010-03-05T01:44:26Z,2011-08-27T08:42:14Z,In the admin discussions options there should be an option to completely disable discussions site wide.,ceenz
17766,Browser update dismiss button lacks non-JavaScript fallback,,Administration,3.2,normal,minor,Future Release,enhancement,new,,2011-06-11T11:20:58Z,2011-08-27T15:42:14Z,The 'Dismiss' button in the browser update dashboard box doesn't do its thing without JavaScript enabled.,johnbillion
16839,Category Base Should be Slugified,,Rewrite Rules,3.1,normal,normal,Future Release,defect (bug),reviewing,early,2011-03-12T21:42:52Z,2011-08-29T23:45:18Z,"Vanilla install of 3.1. Change category base to Foo Bar.  Link generated is example.com/Foo Bar/cat (note the %20/space). Clicking link tries to access /FooBar/cat and 404's.

I see there are a few other tickets regarding categories, including #16662 but no specific mention of custom category base.

",miklb
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
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
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
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
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
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
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
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
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_
12370,We need a smarter version of wp_title() and a few other template tags,hallsofmontezuma*,Template,3.0,normal,major,Future Release,feature request,accepted,,2010-02-25T08:47:06Z,2011-09-06T16:22:50Z,"Look at Twenty Ten's `header.php` and the code that is needed to output the `<title>`. That's a bit silly.

I suggest we should have a helper function of some type to replace all of that. A smarter and more sophisticated version of `wp_title()`.",Viper007Bond
17709,RTL for the Support Forum theme on the international sites,,WordPress.org site,,normal,normal,WordPress.org,defect (bug),new,,2011-06-06T15:57:51Z,2011-09-07T00:06:17Z,"The RTL styles for the support forums are incomplete. I don't have access to the original files to make a patch, but these fixes should be all that's needed:

{{{
#pages a:after, #pages span:after { content: &amp;quot;\200F&amp;quot;; }
#pagebody table.widefat th { text-align: right; }
#pagebody ol#thread { list-style: none; }
#footer iframe, #footer p { float: left; }
#footer h6 { float: right; }
}}}

",RanYanivHartstein
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
6106,Post slug improvements,markjaquith*,Administration,2.5,normal,normal,Future Release,enhancement,accepted,,2008-03-05T21:08:21Z,2011-09-09T00:02:15Z," 1. ~~Right now, a post ID is shown as the post slug unless a slug is manually entered.  Instead, it should show the dynamic slug generated from the title.~~  Ideally, as the title is updated.  (maybe using onblur to see if the typed-in title has changed, and doing a quick AJAX request to see what the dynamic slug would be).
 1. There is no way to tell the difference between a tentative slug, and a locked-in slug (either by choice, or by hitting ""publish"").  Perhaps the highlighting could go away and the slug could be bolded to indicate that it is set.

",markjaquith
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
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
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
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
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
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
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
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
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
18161,Bulk action: Add user to multiple sites,,Network Admin,3.2,normal,normal,Future Release,feature request,new,,2011-07-18T19:07:04Z,2011-09-10T05:44:38Z,"Currently, to add a single user to multiple sites, the super admin has to edit each site, add the user to the site, and then go on to the next site.

To improve this workflow, it would tremendously useful to be able to add a single user to multiple sites in the network admin.

This ticket could have scaling problems to solve.",danielbachhuber
18162,Bulk action: Add multiple users to a site,,Network Admin,3.2,normal,normal,Future Release,feature request,new,,2011-07-18T19:09:31Z,2011-09-10T07:37:22Z,"Currently, to add a multiple users to a single site, the super admin has to edit each site, look up each username, and add new users to the site one by one.

To improve this workflow, it would be useful to be able to select which users to add from a table of users and add those users in bulk.

This ticket could have scaling problems to solve.",danielbachhuber
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
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
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
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
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
12900,Enhance Nav_Menu to use the older menu functions,,Menus,,normal,normal,Future Release,enhancement,reopened,,2010-04-07T16:42:23Z,2011-09-12T20:14:27Z,"Concerning wp_list_pages, wp_page_menu, and/or wp_list_categories functions:

Since these functions exists and developers are comfortable with them, and they'd add much functionality if they were included in the new wp_nav_menu function.

Could the wp_nav_menu utilize these established functions in itself to allow ""dynamic"" listing of pages with the useful options available in those functions?

New ""widgets"" on the left among the ""Add Existing Page"" and ""Add an Existing Category"" (perhaps ""Add Dynamic Page List"" or the like) that would essentially be a UI interface for the args that the wp_list_pages, wp_page_menu, or wp_list_categories functions already accept. The wp_nav_menu would then pass those args to the appropriate function and create items in the appropriate place in the nav menu. (I have no idea how easy/hard that'd be.)

This wouldn't replace the ""Add Existing Page"" or ""Add an Existing Category"" as starting at zero and adding individual items is different and also very useful.

This treatment might be appropriate for any function listed in ""Related"" http://codex.wordpress.org/Template_Tags/wp_list_pages#Related or maybe only wp_page_menu or wp_list_pages. I think it warrants discussion.

P.S. This is well above my ability in PHP. I don't think I can't do a working patch on this :-(",WraithKenny
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
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
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
18081,"Improve performance of taxonomy queries, avoid temporary tables",,Taxonomy,3.2,normal,normal,Future Release,enhancement,new,,2011-07-12T10:36:22Z,2011-09-15T08:48:27Z,"In various taxonomy queries ""IN ( value )"" is used even if there is only one value to check against. This is in some cases causing there creation of temporary db tables and bad performing queries. 

The attached patch will ensure that only when there are more than one values to be added a ""IN"" statement is used. Otherwise a "" = value"" statement is performed.
",tott
4555,Better Typepad / MT Import - Atompub importer,lloydbudd,Import,2.3,normal,minor,WordPress.org,enhancement,new,,2007-06-28T03:16:12Z,2011-09-15T17:17:07Z,"Typepad in particular does some really funky things with permalinks. They often have no relation to anything in the title, and none of their ""slug"" information is contained in their standard export, so there is literally no way to redirect those links.

It is possible to create a custom Typepad template that includes the needed information, and modify the WP importer to parse the extra info into slugs. Right now this is a hack, we should make this more intuitive.",matt
7543,Import TypePad data using AtomPub.,westi*,Import,,normal,normal,WordPress.org,enhancement,accepted,needs-review,2008-08-19T02:44:26Z,2011-09-15T17:17:11Z,"First off, I want to mention that TypePad updated their AtomPub server a few days ago, and their server does not seem to be sending comments. With a little luck, my current code should work fine once that server starts functioning again, but for the time being I would highly recommend not committing this into core.

Instead, I'm hoping people can look over the code and offer suggestions for improvement, test results, etc. While the Summer of Code is officially over today, I will be working on this until the job is done.

Alright, now to what this is. As some of you may know, I've been working on an Atom Publishing Protocol ([http://www.rfc-editor.org/rfc/rfc5023.txt RFC 5023]) based importer this summer for the Google Summer of Code. The diff attached is the latest version of my work.

The advantages of using the Atom Publishing Protocol are as follows:

 * Nothing has to be done in the old blogging software to prepare for import (no export files, etc). Users just enter their blog URL, username, and password and the importer grabs all of the data using AtomPub.
 * More data is imported compared to the old importers, especially with TypePad. Post slugs, comments, trackbacks, tags, categories, excerpts, etc are all imported. Everything used for posts in MT/TypePad is imported using AtomPub.
 * The Atom Publishing Protocol is an established standard. With the exceptions of tag additions (which don't necessarily need updates), the importer should not have to be changed and should continue working well into the future.

I should mention there is one drawback to using the Atom Publishing Protocol. For the time being, it appears pages can not be retrieved using AtomPub. They were retrievable a few weeks ago, and I'm currently talking with Six Apart to see what happened.

I would greatly appreciate any and all feedback. Let me know your suggestions, and I'll be happy to incorporate them.",cavemonkey50
7644,Import Movable Type data using AtomPub.,westi*,Import,,normal,normal,WordPress.org,enhancement,accepted,close,2008-08-29T20:33:52Z,2011-09-15T17:17:13Z,This is a split ticket from #7543. This includes the latest Movable Type portion of the code.,cavemonkey50
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
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
8578,Blogger import incorrectly reports saved user information,,Import,,normal,normal,WordPress.org,defect (bug),new,,2008-12-11T16:53:52Z,2011-09-16T03:52:31Z,"I installed a fresh copy of WordPress 2.7 and was importing content from a Blogger site.  Before beginning to import, the page claimed that Blogger account information was saved in the database and that I could restart the process.  Even after pressing the ""Clear account information"" button, the message still appeared.",covert215
5842,LJ import gets time zone wrong,,Import,,normal,normal,WordPress.org,defect (bug),new,close,2008-02-13T18:17:09Z,2011-09-16T03:55:09Z,"LJ's export format has all dates in GMT, but the wordpress LJ importer treats them as local time.  ",novalis_dt
10259,Problem with dotclear import,,Import,2.8,normal,normal,WordPress.org,defect (bug),new,reporter-feedback,2009-06-24T09:34:07Z,2011-09-16T03:55:46Z,"To the point translation:

Dotclear categories are imported but not assigned to the posts. 

----

Bonjour,
>
>>
>
>> Ayant souhaité le passage de mon blog dotclear en wordpress, j’ai 
>> donc
>
>> utilisé votre module d’import dans l’interface d’administration.
>
>> J’ai rencontré le problème suivant :
>
>> -          les catégories des mes billets étaient bien importées
>
>> mais n’étaient pas liées à ces derniers.
>
>>
>
>> J’ai donc contacté votre staff par l’intermédiaire de votre site mais
>
>> sans succès.
>
>>
>
>> J’ai du coup développé un petit fichier php pour résoudre mon
>
>> problème.
>> Les versions utilisées pour mon développement :
>
>> -          WORDPRESS 2.8
>
>> -          DOTCLEAR 1.2.7.1

",latour.alain@…
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
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
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
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
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
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
8923,cron timeout is too short,,Cron,,normal,normal,Future Release,defect (bug),reopened,reporter-feedback,2009-01-22T23:50:57Z,2011-09-21T17:13:46Z,"Many users have reported  that 2.7 cron sometimes fails to publish future post. 
And it is further reported that it depends on the number of jobs on the cron queue - when the queue is too long, it will miss some. 

I believe this is because we set the timeout value too short: 

wp_remote_post($cron_url, array('timeout' => 0.01, 'blocking' => false));

When making a request to wp-cron.php, it won't return until all cron jobs are executed.  And 0.01 is just too short time span. It doesn't hurt to give it sufficent time, such as 10 minutes. It will return as long as the mature crons are fired up and executed (in most cases, it's going to be at most a few seconds ). 
",hailin
16173,Make the Calendar widget support custom post types,GautamGupta*,Widgets,3.1,normal,normal,Future Release,enhancement,accepted,,2011-01-10T05:35:22Z,2011-09-22T02:14:00Z,"The Calendar widget should have support for custom post types (much like how the tag cloud widget supports custom taxonomies) so that the plugins could just have `supports => array( ... 'calendar' ... )` and the calendar would display that post type in the option box (this is just an example, used in the patch I'm gonna attach, we may use some other arg, of course).",GautamGupta
14201,"Canonical redirect kicks in in case of category/tag base containing other chars then a-z, 0-9, _ and -",,Canonical,,high,major,Future Release,defect (bug),new,,2010-07-05T09:03:39Z,2011-09-22T09:49:50Z,"'''Expected behaviour'''

Whatever the category base is, if we go to a properly formed category pretty permalink, canonical redirects shouldn't kick in.

'''Actual behaviour'''

If the category base is non-ASCII (for example: баба), the canonical redirect tries to redirect to the same URL. The redirect sanitizer removes the category base from the URL, because it is non-ASCII and redirects to {{{<root>//category-name/}}}. This prevents endless redirects and usually results in 404.

'''Why does it happen?'''

Category base is always used verbatim. It can't be URL-encoded, because the percent signs will be interpreted as permalink variables. Because of that the generated urls will be always in the form: {{{<root>/баба/<url-encoded-category-name>/}}}.

The contents of {{{$_SERVER['REQUEST_URI']}}} are always URL-encoded, so the requested URI is: {{{<root>/%D0%B1%D0%B0%D0%B1%D0%B0/<url-encoded-category-name>/}}}.

Canonical redirect functionality assumes the requested URL would be the same as the generated term URL and since they are different tries to redirect.

'''Solutions'''

The easiest one is to assume that if we had come to the right category page without any get variables, we don't need the logic for redirecting to the canonical category page. This is valid statement, because that logic relies only on removing get arguments.

The only disadvantage with that solution is that doesn't solve the more general problem of discrepancies between generated and requested URLs.  But for now it will do a good job.",nbachiyski
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
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
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
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
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
18773,Wordpress codex pass word problems,,WordPress.org site,3.3,normal,normal,WordPress.org,defect (bug),new,,2011-09-25T21:55:07Z,2011-09-26T10:14:38Z,"Ok this is the third time I've tried to post this here- I've split the pass word up because I thought that some bit may be preventing this from being posted thinking that I'm revealing sensitive data.

I set my pass word to a strong one with brackets, double quotes and a semicolon in it. This worked for the forums and the trac but not for the codex (wouldn't let me in).

",volcanicpixels
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
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
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
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
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
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
14901,"Make ""Uncategorized"" transparent",,Taxonomy,,normal,trivial,Future Release,feature request,new,,2010-09-19T23:22:39Z,2011-09-28T21:16:33Z,"When posts are created, they are placed into the Uncategorized category by default if no other category is specified.  This causes problems when re-categorizing later on because you have to both add the new category and remove the ""uncategorized"" category at the same time.

""Uncategorized"" should be automatically removed when marking categories on a post.  

""Uncategorized"" should not appear in the list of categories on the ""Categories"" page but in a separate section below reading ""You currently have XX uncategorized posts.""

Listing Uncategorized in the categories table presents the illusion that it is a separate category by itself that can be modified and removed - it can't, so it shouldn't be listed there.",ericmann
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
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
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
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
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
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
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
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
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
3398,import data from Geeklog,,Import,,normal,critical,WordPress.org,enhancement,reopened,,2006-11-28T05:19:12Z,2011-10-03T08:16:00Z,"I recently converted my blog from geeklog to wordpress, and wound up converting the existing TextPattern importer to be able to pull data directly from a Geeklog database and import it to Wordpress.

The importer is incomplete, but usable, and currently imports categories, users, posts, and comments.  It pretty much does what I needed it to do, and I'm sure someone else can make use of it, and possibly clean it up better.",justdave
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
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
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
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
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
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
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
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
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
2702,Easier way to change page order (AJAX/jQuery?),mdawaffe,Editor,2.3,normal,normal,Future Release,enhancement,new,,2006-05-03T21:36:37Z,2011-10-08T03:23:13Z,"When having a lot of pages, they get harder to manage (see also Ticket #2004 [Pages page should page]).

When needing to change the page order, it's very inefficient to manually change the page order value, or whole series of page order values, just to move one page up or down the list. Suggestions for alternative ways to change the page order are:

In ""Manage - Pages""
1) With up/down arrows (page goes one up or down when the button/link is clicked).
2) or: Drag+Drop (The post/page settings can be dragged and dropped, so why can't this, too?)
",FireMotion
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
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
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
13493,Make the_date() and is_new_day work properly,Otto,Template,,normal,normal,Future Release,feature request,new,reporter-feedback,2010-05-22T09:14:46Z,2011-10-10T14:16:57Z,"Make the_date() always echo the date, in preference the the historic behavior of only echo'ing once per ""day""


----


Otto's recommendations.

a) fix is_new_day() to actually work.
b) change the_date and such to always display the date.

With that patch, somebody could do this for the ""only on new days"" logic:

if (is_new_day()) the_date();

Anybody who actually needed that new day functionality (rare) could then fix their theme up quite simply with only a minor adjustment.

",banago
8532,the_date() doesn't function as intended,,Template,,normal,normal,Future Release,defect (bug),new,,2008-12-08T23:11:44Z,2011-10-10T14:17:19Z,"If my memory serves the idea behind the_date was that it would echo out the date, but only if it was different than the previous item it echoed out in the loop, which would be handy for doing things like day headers in index templates or month headers in archives.

At some point this seems to have been lost, I think because some variable names changed.

This restores the_date to its original behaviour.",matt
18893,Update and enhance the basic browser detection to include smart phones and tablets/pads,,General,,normal,normal,Future Release,enhancement,new,,2011-10-09T19:26:19Z,2011-10-10T17:00:05Z,"As the title. We need to keep the basic $is_this, $is_that globals for back-compat but can introduce another global that would hold all needed info about the current web browser, device, versions, etc.",azaozz
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
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
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
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
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
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
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
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
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
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
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
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
7740,Merge Tags,,Taxonomy,2.7,normal,normal,Future Release,feature request,new,dev-feedback,2008-09-14T16:56:07Z,2011-10-18T23:46:10Z,"As mentioned in [http://wordpress.org/support/topic/163558 a support thread], tags can get cluttered over time with many different tags meaning basically the same thing. To clean up tagging the ability to merge tags would be a life saver.

The functionality I had in mind was being able to select two or more tags in edit-tags.php and select 'Merge' from the 'Actions' dropdown. When you click 'Apply' a lightbox would open with the following:

  '''What should become the primary tag?'''[[BR]]
  [Textfield][[BR]]
  ''The name is how the tag appears on your site.''
  
  '''What should become the primary tag slug?'''[[BR]]
  [Textfield][[BR]]
  ''The “slug” is the URL-friendly version of the name. It is usually all lowercase and contains only letters, numbers, and hyphens.''
  
  '''Which slugs should continue to point to the new primary tag?'''[[BR]]
  [Textarea automatically filled with the old slugs][[BR]]
  ''One slug per line.''
  
  '''Save''' | '''Cancel'''

The last textarea allows old slugs to still point to the new primary tag - meaning any old URL's will still work.

=== -~- Example -~-~-~-~-~-~-~-~ ===

I've got the following tags which all mean the same thing:

  TV, the box, telly

I select them all in edit-tags.php, select 'Merge' and 'Apply'. In the popup box I choose 'television' as the primary tag, 'television' as the slug, and list the old tags in the textarea.

I now have a tag called 'television' which has ""television, TV, the box, telly"" all pointing to it, so my old URL's still work. All of my posts which use the old tags have now magically swapped to using 'television'.",hempsworth
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
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
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
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
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
14515,Make admin table content filterable by column,sirzooro,Administration,3.0.1,normal,normal,Future Release,enhancement,assigned,,2010-08-03T06:16:40Z,2011-10-21T09:15:42Z,"I would like to modify Author column on post list - add link to user's profile. Now the only way is to add it to 1st column or custom column, and optionally move it later using JavaScript. Therefore I ask to add new actions for default columns, which will allow to do this.

It may be also beneficial to implement this as a general hook which will be called on all columns, including custom ones.",sirzooro
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
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
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
18391,Expand WP_DEBUG_LOG and make WP_DEBUG_DISPLAY work as expected,,General,,normal,normal,Future Release,enhancement,reopened,,2011-08-13T05:45:21Z,2011-10-25T05:20:06Z,"== WP_DEBUG_LOG ==

WP_DEBUG_LOG currently creates wp-content/error.log. We should expand this to allow a path.

To do this, if WP_DEBUG_LOG is !== true, != 1, != 'true', (anything else?) and 0 === validate_file(), we should treat it as a path.

== WP_DEBUG_DISPLAY ==

Setting WP_DEBUG_DISPLAY to false does not set display_errors to false. Instead, it prevents display_errors from being set to on. This forces a call to ini_set to turn off display_errors, assuming your php.ini is set to On, as expected for a development environment configuration.

Instead, setting WP_DEBUG_DISPLAY to false should set display_errors to false. I've been thinking about this for months now, and the only situation I can come up with that this would be a compatibility issue would be when you deliberately have a production php.ini on production and a development php.ini in development. In this situation, WP_DEBUG_DISPLAY = false would screw up your development environment only -- the only breakage would be showing less errors, rather than more.

WP_DEBUG_DISPLAY === null can remain a passthrough.

Patch forthcoming.",nacin
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
14478,Allow explicit ordering of included posts in query_posts,,Query,,normal,normal,Future Release,enhancement,new,,2010-07-30T19:35:31Z,2011-10-25T20:09:12Z,"This is in reference to ticket #9819

I think it would be useful to add an extra orderby value to query_posts that could return posts based on the order they are listed.

So when you do query_posts(""include=3,2,5,4,1&orderby=given"")

They should be returned in the order 3,2,5,4,1

As mentioned by @dd32 in the previously referenced ticket, orderby=none returns the posts in MySQL Natural order, which is by ID.",daltonrooney
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
16162,Pagination and sorting reset after bulk media deletion,,Administration,3.1,normal,normal,Future Release,defect (bug),reopened,,2011-01-09T11:43:33Z,2011-10-27T06:23:48Z,"When doing Bulk Deletes on paginated Media Library, after performing the delete, I'm back on page 1 regardless on which page I've been before.",hakre
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
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
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
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_
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
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
18563,Disallowing editing of .php files in the plugin editor blocks access to allowable extensions,,Administration,2.8,normal,minor,Future Release,defect (bug),new,,2011-09-01T04:12:29Z,2011-11-02T00:06:47Z,"By using the editable_extensions filter, a user can disallow the editing of php files (more accurately: files with a php extension...)

{{{
add_filter( 'editable_extensions', 'disallow_php_file_editing' );
function disallow_php_file_editing( $editable_extensions ) {
	unset( $editable_extensions[0] );	
	return $editable_extensions;
}
}}}

However, the file selected when first clicking on the Editor link in the menu is always a php file, so the user is given the ""Files of this type are not editable"" wp_die() message without being presented with a chance to select a file with a different/allowable extension.",trepmal
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
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
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
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
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@…
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
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
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
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
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
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
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
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
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
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
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
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
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
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
19225,WordPress-Importer : Perform less database queries when backfilling attachment urls,duck_,Import,,normal,normal,WordPress.org,enhancement,assigned,has-patch,2011-11-10T12:36:42Z,2011-11-11T08:20:11Z,"The current backfill_attachment_urls() approach causes a REPLACE query for each attachment url. This can cause the invalidation of a lot of data and also cause MySQL replication lag in some cases.

The attached patch will make sure to bundle these requests and perform only maximum of one db update per post.
",tott
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
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
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
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
10989,Show changelog for core upgrade,nacin*,Upgrade/Install,,normal,minor,Future Release,feature request,accepted,,2009-10-21T01:36:14Z,2011-11-15T01:53:20Z,"When clicking on the admin notice that there is an update available, it would be interesting to see a short changelog with a link to the complete changelog of the upgrade besides the two download buttons

Example with the 2.8.5.
Show on the page:
The headline changes in this release are:

    * A fix for the Trackback Denial-of-Service attack that is currently being seen.
    * Removal of areas within the code where php code in variables was evaluated.
    * Switched the file upload functionality to be whitelisted for all users including Admins.
    * Retiring of the two importers of Tag data from old plugins.

More info : http://wordpress.org/development/2009/10/wordpress-2-8-5-hardening-release/",petervanderdoes
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
19268,"Even if .htaccess isn't writable, WP shouldn't prompt if there are no changes.",,General,,normal,normal,Future Release,defect (bug),new,reporter-feedback,2011-11-16T21:36:20Z,2011-11-17T16:39:33Z,"When you visit the permalinks settings screen, and .htaccess isn't writable, it prompts you to manually update. But it does that even if the current rules it is suggesting are already present. It should only prompt if the rules it is suggesting are different from what you have.",markjaquith
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
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
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
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
18820,Formatting bar loading experience is subpar,azaozz,Editor,3.2.1,normal,normal,Future Release,enhancement,reopened,,2011-09-29T21:51:41Z,2011-11-18T07:23:24Z,"When you save a post, the way the formatting bar loads in (Visual and HTML both) is subpar. It pops in really late, and shoves your post content down.

Screencast: http://s3.amazonaws.com/txfx/screencasts/Formatting-Toolbar.mov

Let's make this better.",markjaquith
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
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
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
7580,Use Exif description to autofill the caption,,Upload,2.6,high,normal,Future Release,feature request,new,,2008-08-23T06:26:39Z,2011-11-19T19:58:35Z,"Hello,
I test a lot of softwares to create a Exif description for my pictures.
Like ""Exif Farm"" or other kind of this softwares.
But When I Upload this picure in wp 2.6 the description will not show!
but i have some picture from the web, and when i upload them, wordpress show the description of it automatically in description Box!
like this picture:
http://www.hinhxinh.com/data/media/8/Beijing_Olympic_2008_-___075.jpg
and show description on it correctly:
http://i33.tinypic.com/2yyqk1t.jpg
Please tell me:
the problem is from Wp,
Or My software is not original?
'''So What should i do to show Description Exif Data in wp Correctly?'''",mrmax
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
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
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
15655,Media Upload form does not pass tab name,nacin,Upload,3.0.2,normal,normal,Future Release,defect (bug),reviewing,,2010-12-03T00:00:01Z,2011-11-22T16:52:58Z,"The Media Upload form has an error (wp-admin/includes/media.php line !#1538). It is not passing the tab name, which hinders adding actions based on which Upload tab is selected.

Error:
Get param 'tab' is being set to 'type' which is incorrect.
{{{
$form_action_url = admin_url(""media-upload.php?type=$type&tab=type&post_id=$post_id"");
}}}


Fix:
To top of function add:
{{{
global $tab;
}}}

Change the form action URL (line !#1538) to:
{{{
$form_action_url = admin_url(""media-upload.php?type=$type&tab=$tab&post_id=$post_id"");
}}}

This change also impacts function media_upload_type_url_form (line !#1591). Same fix applies.",jackcrosby
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
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
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
14011,"On subdirectory multisite installs, custom post types on main blog generate bad next/previous links",nacin,Post Types,,normal,normal,Future Release,defect (bug),reviewing,,2010-06-20T21:06:51Z,2011-11-22T22:18:34Z,"With multisite and subdirectories, the main blog uses site.com/blog/xxx permalinks however custom post types can use site.com/custom/permalink .  The next and previous post template tags generate the links as site.com/blog/custom/permalink .",jorbin
19291,Widgets move to Inactive after clearing all widgets from sidebars,,Warnings/Notices,3.3,normal,normal,Future Release,enhancement,new,early,2011-11-18T15:49:18Z,2011-11-23T22:44:56Z,"Jane reported in IRC that a theme switch dropped her widgets to Inactive.

> Jane: test site had 2010 as theme, with some widgets. activated 2011 on themes.php. Refreshed itself to themes.php?activated=true and showed alert message "" New theme activated. This theme supports widgets, please visit the widgets settings screen to configure them."" Go to widgets screen, widgets in primary sidebar in 2010 are not in sidebar, no widgets live anymore
> Jane: switch back to 2010, same message appears on themes.php?activated=true and 2010 sidebar comes back

[http://core.trac.wordpress.org/ticket/19091#comment:11 Reproduced by ocean90].

I was able to repeat the reported issue one only one specific case.

This only happens if you remove *all* widgets from all sidebars. Then add widgets back to sidebar(s). Then, switch back to a previously activated theme.

- It doesn't happen if you leave at least one widget in place in a sidebar
- It doesn't happen if you switch to a new theme (not previously activated)

Looks like we can solve it by the ""lost"" widget check just puts any old widgets into Inactive. We should orphan those, too.

To fix: If widgets registered but not in the new theme's sidebar, orphan it.

See #17979, #19091, #19092.",lancewillett
13473,comment_status should be set to default_comment_status when commentstatusdiv is removed,westi,Comments,,normal,normal,Future Release,defect (bug),reopened,,2010-05-20T23:36:24Z,2011-11-24T16:13:29Z,"When the Comment Status box is removed from the Add/Edit Post screens, posts should be created with the comment_status set to the value of the default_comment_status option.

-----

I had hidden the Comment Status box via:
remove_meta_box('commentstatusdiv','post','normal');

and made sure that default_comment_status was set to open:
update_option('default_comment_status', 'open');

After adding a new post it displayed ""Comments Off"" when I was assuming that it should have honored the value of default_comment_status.",jimmcq
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
18954,Automatically whitelist screen options added via add_screen_option(),,General,,normal,normal,Future Release,enhancement,new,early,2011-10-14T22:54:08Z,2011-11-25T19:27:18Z,"{{{set_screen_options()}}} currently maintains a hardcoded whitelist of screens that can set options.

The list is extendable via the filter:

{{{
apply_filters('set-screen-option', false, $option, $value);
}}}

but that's sort of a pain.  If a plugin calls {{{add_screen_option()}}}, it should be added to the whitelist automatically.

Also note that {{{set_screen_options()}}} is called so early, there's no convenient place for plugins to add to the {{{set-screen-option}}} filter.  The best workaround I've been able to come up with is to manually call {{{set_screen_options()}}} again inside the page's {{{load-$hook}}}.

Example naive plugin code that does not work in <=3.3.

{{{
# Inside a menu page's load-$hook
// Display per-page settings in screen options
add_screen_option( 'per_page', array( 'label' => __( 'Things' ) ) );
}}}",mdawaffe
13502,Ajax deletion of media broken due to Trashing remains,,Media,2.9,normal,normal,Future Release,defect (bug),reviewing,,2010-05-23T10:41:48Z,2011-11-26T10:39:21Z,"To reproduce:
 1. Upload a file
 2. Expand to view file details
 3. Click Delete, Follow through.

Result: Page reloads and deletes the object

Expected Result: At some point here, Ajax deletion is supposed to kick in.

{{{prepareMediaItemInit()}}} in swfupload handlers.dev.js contains some Ajax trash/undo code, which is never hit, It looks like it was never removed when the Media trashing code was striped out.",dd32
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
19380,There is no way to specify placement of a new menu item in the Admin Bar,,Toolbar,3.3,normal,minor,Future Release,defect (bug),new,,2011-11-28T14:38:12Z,2011-11-28T17:16:46Z,"I recently opened ticket #19371 and scribu has added a fantastic and simple solution to be able to modify existing menu items. The only problem, however, is that it is impossible to control placement of a new menu item.

For example, if I wanted to add a class on the ""wp-logo"" menu item, I would use the method specified in #19371 to remove it, modify it, and add it back.

{{{

add_action( 'admin_bar_menu', function( $admin_bar ) {
	$node = $admin_bar->remove_menu( 'wp-logo' );

	$node['meta']['class'] = 'foo';

	$admin_bar->add_menu( $node );
}, 99 );

}}}


The only problem is that it would put the menu item at the far right of the other menu items. I could then remove and re-add all the other menu items. However I don't think there is a way to get a list of all the top level menu items from within the admin bar class, so you would have to know the ID of each one from a print_r debug of the object and hard code the items in. This would break if a plugin added a menu item that wasn't in the hard coded list.

My thoughts would be either add a parameter to the add_menu() function such as priority, which could be boolean and cause the item to be added with array_unshift() instead of the current method, or a parameter that would be be for the id to ""add before menu item x"" , or just a method that would return a list of ids of the root menu items.

ps: I don't really need to add a CSS class to the wp-logo menu item, but this is the far-left-most item and I thought it would make the best example.",willshouse
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
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
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
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
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
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
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
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
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
19432,[SITE] Belguim IP shows only French version?,,WordPress.org site,,normal,minor,WordPress.org,defect (bug),new,,2011-12-03T10:59:37Z,2011-12-04T10:46:52Z,"When a Belgium IP address goes to the English version of the WP.org site I shows that WordPress is also in French. But we have also Dutch & German in this country. So I was thinking: why not display the message as follows: 

'click here if you want WordPress in another language' and this takes you to a page where all languages are listed. That way a user that is at holidays in China easily find his French or German version.",jonezjea
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
6342,"Rapidly spamming/deleting comments can break ""infinite river"" feature on comment moderation pages",mdawaffe,Administration,2.5,normal,normal,Future Release,defect (bug),new,,2008-03-21T22:05:16Z,2011-12-14T13:18:06Z,"Comment moderation pages have an ""infinite river"" feature whereby when you remove one comment (spam/delete), it'll load a new one at the bottom.  Unfortunately, it doesn't seem to catch up if you click more rapidly than about once every 2 or 3 seconds, and you'll ""lose"" comments.  At the end, you may just have one comment that, when dealt with, will be replaced by only one comment.  This may have to do with doubleclicking the ""spam"" link, or maybe clicking the ""spam"" link of the next comment before the river action has finished.",markjaquith
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
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
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
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
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
11869,Multisite upgrade notice at wpmu-upgrade-site.php isn't steadily visible.,,Multisite,3.0,normal,minor,Future Release,enhancement,new,,2010-01-11T22:03:14Z,2011-12-15T23:59:25Z,"When upgrading (Site Admin > Upgrade) wordcamp.org, it started upgrading each site and flashing a list of 5 sites at a time that had been upgraded (too quickly to really be read beyond the first item in each list). When it flashed through all the screens, it showed ""All done!"" and nothing else. 

Preferred UX would be to list the sites in order as they are upgraded but in a single persistent list rather than in flashing batches of five, and to show the all-done message on the same screen, with the list of everything that has been upgraded. It would be good to have the text appear at bottom of list (in sequence) but to also drop in an alert message at top of screen. ",jane
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
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
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
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
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
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
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
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
7723,Allow filtering by author on Manage > Posts,,Administration,,normal,normal,Future Release,enhancement,reopened,,2008-09-10T19:59:37Z,2011-12-19T18:04:36Z,"In versions of wp before 2.5 you could select an author from a dropdown on MANAGE > POSTS to see only posts owned by that author. This was very useful for quickly sorting posts and is absolutely necessary when you have editor users without  the 'edit_users' capability, as unlike admin users (most of us) they don't have access to the 'users' tab and thus have no way to see the manage screen sorted by user. The manage screen sorts by user simply by adding ?&author=$id in the url, but for users without access to the 'users' tab, even author id's are innaccessible. 

In the #wordpress-dev irc channel ryan boren expressed that the filter was removed because in some cases there were too many users in the system and the resulting dropdown was slowing down pageload time and ruining user experience. This is a paradox, because the more users your system has the more likely you are to need this filter. 

Wordpress needs to support filtering by author somehow if it wants to be a serious multi-user platform. Our editors are pulling out their hair.

My personal opinion is that the dropdown select should be reinstated. Filters should be added to the list such that only users who can post are listed (other users have no use in the Manage > Posts screen), as well as to show only users with at least 1 post. This should avoid slowing down pages for installations where most users are 'subscribers', which would otherwise mean all open-registration blogs would have hugely long lists. 

Given those two filters, I think that anyone who still has load-time problems should deal with their problem themselves using a plugin. It should be easy to remove the filter dropdown if you don't want it using a plugin, as well as to further filter the authors shown to reduce their number. 

Any installation with that many users deserves the option of deciding if they want the pulldown or not, and I think many would choose to keep it even if there are problems because it is so incredibly useful in filtering through hundreds of users worth of posts. 

(Consider: the full categories list is shown, even if there are hundreds, despite the fact that this has the same effect on performance as many authors does). 

Also in IRC Matt M proposed that some kind of text box + ajax to predict which author you mean could be used for this purpose. I think that is a great idea but would take a lot more work than what I propose (the work for hte pulldown is already done and the old functions are still there, all that's needed is to add filtering and re-work it into edit.php). It could also be used in the 'Users' context for search though, so it could be worth the effort. ",jeremyclarke
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
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
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
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
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
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
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
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
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
11856,URL for 1st comments page is not canonical,markjaquith,Canonical,3.0,normal,major,Future Release,defect (bug),new,reporter-feedback,2010-01-10T19:17:42Z,2011-12-22T01:55:08Z,"When WP generates URL for comments, it always includes comments page number. It should not do this when URL is for 1st comments page - in this case post URL is sufficient.

WP should also redirect to canonical URL version when someone will try to load URL like site.com/some-post/comment-page-1.",sirzooro
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
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
19011,Support forum topics with Cyrillic titles cannot be found via Google,,WordPress.org site,,normal,major,WordPress.org,defect (bug),new,,2011-10-20T02:22:19Z,2011-12-23T04:25:14Z,"None of the topics with Cyrillic titles on ru.forums.wordpress.org can be found via Google. Topics with Latin slugs are indexed properly. Same for the other forums in Cyrillic (bg.forums.wordpress.org and sr.forums.wordpress.org).

This wasn't a big issue three years ago when there were just a few posts, but now that more and more questions are asked and answered each day, it's hard for users to find previous topics and solutions.

[http://lists.automattic.com/pipermail/wp-forums/2011-February/006773.html According to Otto], there's no `robots.txt` or anything else blocking Google from indexing them.

This is probably a Google bug, but I've tried to ask on their Help forum, and no one replied.

My guess is this has to do with 4th-level domains currently used for localized support forums. In this case, wouldn't it be possible to switch from `ru.forums.wordpress.org` to `ru.wordpress.org/support/`, similarly to English support forums?",SergeyBiryukov
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
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
13516,Hide JS-only widgets on dashboard is no JS,,Administration,3.0,normal,normal,Future Release,feature request,new,,2010-05-24T13:16:42Z,2011-12-24T16:16:41Z,"We hide screen options and help; we should also hide these widgets instead of displaying by default with the 'you need JS' message. Affected modules: QuickPress, Incoming Links, Plugins, WordPress Development Blog, Other WordPress News. 

We should display an additional module for no-JS people that lets them know that their WordPress install would be even more awesome with JavaScript, and list out some of the features they would gain access to with JS enabled. ",jane
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
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
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
12032,Additional Option of Site Admin -> Options -> Allow new Registrations.,kallumamaji,Users,3.0,normal,normal,Future Release,feature request,reviewing,,2010-01-26T00:29:42Z,2011-12-29T09:29:57Z,"MU Trac Ticket: http://trac.mu.wordpress.org/ticket/799

Right now the 4 options are: Disabled - noone can register a new account or blog Enabled - blogs and user accounts can be enabled (at the same time as the request) Only User Account - Only a user account can be created. Only Logged in User - Cannot create a user account but those who can log in can create a blog.

Need a 5th option for Create User Account and Allow blog creation if logged in.

With the 5th option it will allow new registrations., but only allow them to request a new blog if they are a valid online user after registration.
",wpmuguru
12539,Add hook to create_initial_post_types(),,Post Types,3.0,normal,normal,Future Release,enhancement,new,,2010-03-07T02:51:42Z,2011-12-30T02:29:14Z,"I'd like to propose that create_initial_post_types() in wp-includes/post.php have a filter called 'initial_post_types' (or something else) that will allow a hook to remove default post types and/or modify the attributes of post types before they are registered. I've included a patch to illustrate. The same could be done with the post statues but doing so is a bit more complicated so I didn't implement that in case the core devs hate the idea.

As suggested by dd32 from #9674 I created this new ticket.
",mikeschinkel
13568,Add filters to media uploader,,Media,3.0,low,minor,Future Release,enhancement,new,,2010-05-27T01:02:56Z,2011-12-30T13:12:12Z,"In wp-admin > includes > media.php:

There should be a ""gallery_fields_to_edit"" filter similar to the ""attachment_fields_to_edit filter"", allowing gallery options to be filtered out. (Begins line #1749)

Additionally, it should be possible to disable the ""Insert into Post"" button below each image (I believe it's line #1239 of the current build).

I'm sorry, but my PHP knowledge is insufficient to write a working patch.",nudnik
18163,"Include more usermeta fields in the Network Admin's ""Add User"" view",,Network Admin,,normal,normal,Future Release,feature request,new,,2011-07-18T19:17:51Z,2011-12-30T19:31:31Z,"The view for adding a new user in single site instances includes many useful fields (e.g. first name, last name, a checkbox for whether the user should be emailed the password, etc.)

We should replicate this in the network admin to keep the super admin from having to edit each individual profile.

Relevant views:
* /wp-admin/network/user-new.php",danielbachhuber
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
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
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
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
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
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
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
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
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
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
18974,Plugin table IDs can collide with core IDs,,Administration,3.3,low,minor,Future Release,defect (bug),new,,2011-10-17T23:14:04Z,2012-01-05T05:33:52Z,"Go to Plugins > Add New and install my ""Local Time"" plugin.

Go to Plugins > Installed Plugins. My plugin's details will show up in italics. This is because the table row is given the ID `local-time` (my plugin's slug) and core has this CSS:

{{{
#utc-time, #local-time {
	padding-left: 25px;
	font-style: italic;
	font-family: sans-serif;
}
}}}

https://core.trac.wordpress.org/browser/tags/3.2.1/wp-admin/css/wp-admin.dev.css#L4287

Targeting this in `options-general.php`:

{{{
<span id=""local-time""><?php printf(__('Local time is <code>%1$s</code>'), date_i18n($timezone_format)); ?></span>
}}}

https://core.trac.wordpress.org/browser/tags/3.2.1/wp-admin/options-general.php#L167

I'm not quite sure why core is using an ID instead of a class. I'm also not quite sure why the plugins table isn't using a prefix of say `plugin-` since the slug can literally be pretty much anything.

Probably better to change the former than the latter for backwards compatibility reasons though.",Viper007Bond
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
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
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
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
15139,Texteditor: link button always enabled,,Editor,,normal,normal,Future Release,enhancement,assigned,,2010-10-17T08:27:06Z,2012-01-06T01:32:10Z,"When you make a link you are forced to write the text in the editor and select the text before the link button is usable. I have seen users fail to understad this and getting stuck at creating links.

It might be better if the link button was enabled as default and if no text was selected a textfield with the link text appeared in the insert/edit link.

Another alternative is that the link text textfield (just mentioned) is visible all times but if text is selected it's written there by default. Otherwise it's left blank.",olalindberg
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
7485,Terrible UX design on XFN section of Write->Link pages,,Administration,2.6,normal,normal,Future Release,enhancement,assigned,dev-feedback,2008-08-08T17:02:49Z,2012-01-06T01:43:58Z,"Regarding the XFN section on the Write-Link pages:

The UX on this section is fairly terrible. We give the user an editable ""rel"" field and then don't let them edit it via javascript. Note that if you disable javascript and then edit that field, then your changes are indeed saved and then even show up on the resulting pages correctly. That javascript just won't let you manually edit the field. 

I propose that the javascript on this section be changed to allow manual editing of that field, and to make the checkbox/radio sections just add/remove the relevant bits from the field when they are selected/deselected. Result should allow user to manually insert stuff into the rel field and leave those manual insertions unaltered when changing the radio/checkboxes, unless they conflict with the selections being made directly.

Also, side note, would be nice to add a nofollow checkbox to this section as well, to allow easy addition of nofollow to the rel field, which would be handy for the somewhat over-controlling SEO oriented people. ;)
",Otto42
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
10596,Error when uploading zip package with parent and child themes,,Upgrade/Install,2.8.3,normal,normal,Future Release,defect (bug),assigned,,2009-08-12T11:12:29Z,2012-01-06T12:30:14Z,"There's an error when you try to install a package containing parent and couple of child themes using zip package upload from the admin dashboard.

For example i got a 1 big directory called test_template which contains 1 folder test_parent and 3 folders test_child1, test_child2, test_child3. If i upload test_template directory using ftp everything's ok, but when i try to use theme uploader and zip package test_template.zip i get an error caused by not finding a style.css file inside of the test_template directory ... but when i add a style.css file to that directory installation goes fine but templates aren't working till i use ftp and delete that file from that directory. It's troublesome if someone is giving his templates to other users.",newkind
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
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
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
10476,Option to export .zip backup before auto upgrade of wp/plugins,,Upgrade/Install,2.9,normal,normal,Future Release,feature request,assigned,,2009-07-24T17:53:14Z,2012-01-06T23:18:05Z,"Has there been any discussion on an option to export WP and plugin files in a zip before the auto upgrade process begins for either?  The upgrade process is so easy now most users don't take proper backups first.  

I'd be glad to work on a patch file, but wanted to get thoughts on this feature first?",williamsba1
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
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
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
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
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
4414,Patch to Make Calendars Optionally Category-Specific,,Template,2.2,low,normal,Future Release,enhancement,assigned,,2007-06-06T04:40:54Z,2012-01-11T10:32:14Z,"First submission to wordpress...the nice people on wp-hackers directed me here. Here's my post to the list, explaining what this is:

I'm new to WordPress and building a custom template for my new personal site. My design calls for a calendar that stays within a given category, and I couldn't find a way to do that; using ""get_calendar()"" on my category archive page returned a calendar with all posts in it, therefore providing navigation to pages outside the selected category (which didn't work out).

I have patches to the get_category, get_month_link, and get_day_link functions that let you have in-category calendars (see attached diffs for wp-includes/general-template.php and wp-includes/link-template.php). You can use the modified calendar on the archive page like so:

$cat = array_shift( get_the_category() );
get_calendar( true, $cat->cat_ID );

I'm not sure if that's the canonical way to find the archive page's category id (I kinda doubt it), but it works.

I don't have any other contributors to my site planned, but it wouldn't be hard to make the calendar glue itself to the author in the same way...but is there a standard WordPressian way to accomplish this without modifications like these?

Thanks for any feedback and thanks for WordPress!",jacobrose
12145,Enhance activation process to improve integration with site theme,westi,Multisite,,normal,normal,Future Release,enhancement,new,,2010-02-06T07:10:13Z,2012-01-11T11:21:04Z,"wp-activate.php creates many notices on load due to theme hackery

an example to start:
{{{
Notice: Trying to get property of non-object in G:\www\ho.st\wp-includes\comment-template.php on line 777

Notice: Trying to get property of non-object in G:\www\ho.st\wp-includes\comment-template.php on line 794

Notice: Trying to get property of non-object in G:\www\ho.st\wp-includes\general-template.php on line 1588

Notice: Trying to get property of non-object in G:\www\ho.st\wp-includes\query.php on line 2600
Notice: Trying to get property of non-object in G:\www\ho.st\wp-includes\query.php on line 2600

Notice: Trying to get property of non-object in G:\www\ho.st\wp-includes\post-template.php on line 431

Notice: Trying to get property of non-object in G:\www\ho.st\wp-includes\query.php on line 2600

Notice: Trying to get property of non-object in G:\www\ho.st\wp-includes\post-template.php on line 1172
class=""page page-id- page-parent logged-in"">
}}}

the problem is, that wp-activate.php attempts to simulate a normal WordPress page, the problem arrises that when the header is included and/or custom code in the theme runs on the header, that the no-existance of the current post id (NULL) causes most of the WordPress functions to complain, as they're expecting a correct post object to be returned.

2 options
 1. Update all API function to move to {{{ if ( ! $_post = get_post(..) ) return false; - This should probably be done anyway
 2. Improve the hackery to allow displaying custom pages such as wp-activate.php more transparently.

Furthur to #2, this might involve creating a page in the database which the API functions can access directly, the activate site page would then become a real page in the eyes of WordPress.",dd32
12333,"Get ""message"" and ""error"" params in wp-login.php",westi,General,2.9.2,normal,minor,Future Release,enhancement,new,reporter-feedback,2010-02-22T14:48:41Z,2012-01-11T11:24:26Z,"It might be useful a parameter like ""redirect_to"" to set $message and $error of login_headers() from the url of wp-login.php.",FiloSottile
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
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
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
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
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
15942,"In a network, super administrator can choose a specific user for admin of new blog instead of guessing his email.",,Network Admin,3.0.3,normal,normal,Future Release,feature request,new,,2010-12-21T23:05:35Z,2012-01-12T03:03:37Z,"When I create a new blog in a network, I am asked to enter the '''Admin Email'''. This is rather useless to me because all our accounts come from an LDAP directory. So I have to remember the site admin's email address, which is not always consistent across my organization. It would be nicer if I had an autocomplete-style field where I could enter the user's ID.",novasource
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
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
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
17391,Alternative color schemes and theme settings in editor styles,azaozz,Editor,3.2,normal,trivial,Future Release,defect (bug),assigned,early,2011-05-12T13:14:56Z,2012-01-14T19:10:10Z,"Hello there. 

There is no support for links color change in editor-style.css. 
If you change it in Theme Options, you will see the same:

{{{
a {
	color: #1b8be0;
	text-decoration: none;
}
}}}

As we want the editor to be WYSIWYRG, maybe we should include this change in editor-style.css too. 

I have tried to do that with `add_editor_style()`, but it is only intended for .css archives. 
I have tried to add it as a filter extending `twentyeleven_print_link_color_style` in `mce_css` and `tiny_mce_before_init`, unsuccessfully.  

All ideas for what can I use to make tinyMCE read the options are welcome. ",bi0xid
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
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
12235,Display caption with the_post_thumbnail,,Post Thumbnails,2.9,normal,normal,Future Release,feature request,new,,2010-02-15T10:01:13Z,2012-01-16T23:39:44Z,"It seems to me that there could be room for improvement with the_post_thumbnail function. So far, I did not find any way to display the caption below the thumbnail, like we do today with ""normal"" images.

What do you think of the idea of adding an argument for displaying caption text with the thumbnail?

",hd-J
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
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
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
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
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
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
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
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
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
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
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
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
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
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
15924,Add 'media_default_link_type' option to parallel 'image_default_link_type',,Upload,,normal,minor,Future Release,enhancement,new,dev-feedback,2010-12-20T21:12:12Z,2012-01-26T15:30:55Z,"It is often recommended that site owners change the 'image_default_link_type' option to ""none"" if they don't plan on linking to full size images often from their posts. The problem is that this also affects the default link type for other media (uploaded zip files, pdfs, etc.) Adding an additional option for 'media_default_link_type' which behaves in the same way would get around this problem.
",goldenapples
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
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
19497,The 'My Sites' menu is redundant for users with just one site,,Multisite,3.3,normal,normal,Future Release,enhancement,new,,2011-12-10T07:03:58Z,2012-01-27T20:53:06Z,"When a user only belongs to one site in a multisite install, they're shown a 'My Sites' menu. All of the items in this menu in this scenario are redundant (both in the admin area and when viewing the site) as all four menu items can be accessed from other menus in the toolbar.

Users shouldn't be shown this menu unless they belong to two or more sites.

I know we're on RC2 but I'd love to get this into 3.3 because it looks a bit silly.",johnbillion
14207,"streams.php, POMO_FileReader $length parameter of fread",nbachiyski,I18N,3.0,normal,major,Future Release,defect (bug),assigned,reporter-feedback,2010-07-06T09:30:48Z,2012-01-29T23:08:41Z,"the fread function run with an error, when you have the length-paramter ist 0. This is possible on use WP in local engines and intranet.
Small changes on the function: read in class POMO_FileReader

	function read($bytes) {
		if ( isset($bytes) && ( 0 > $bytes ) )
			return fread($this->_f, $bytes);
		else
			return;
	}",bueltge
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
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
12832,Use the same data type for site statuses,database,Multisite,3.0,normal,normal,Future Release,defect (bug),new,,2010-04-03T19:48:20Z,2012-01-31T17:50:59Z,"For status archived we use:

{{{
archived enum('0','1') NOT NULL default '0',
}}}

Fo the others:

{{{
public tinyint(2) NOT NULL default '1',
mature tinyint(2) NOT NULL default '0',
spam tinyint(2) NOT NULL default '0',
deleted tinyint(2) NOT NULL default '0',
}}}

Shouldn't we use the same data type for the others?
",ocean90
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
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
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
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
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
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
8910,Limit the RSS widget from using its own url,,Widgets,2.8,high,major,Future Release,defect (bug),reopened,,2009-01-21T19:40:59Z,2012-02-06T08:15:20Z,"'''NOTE:''' Copied from [http://trac.mu.wordpress.org/ticket/852] since 'This is really a WP issue, not strictly MU. Can you open a ticket in WP's trac?'

I admit that this is not a well conceived thought but I wanted to throw it out.

There's some discussion on the premium site about individual blogs using their rss widgets to display their own feeds. This of course causes issues with an unnecessary rss feed pull as well as old data since the feeds are cached.

May I suggest a check to see if the inputted RSS feed matches the individual blog's own rss feed, kick it out with an error and suggesting to the user that they use the Latest Posts widget instead?

Marking this as 2.8 as it's not a high priority. ",webmaestro
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
12043,Infinite redirect if using a port number,,Multisite,,normal,normal,Future Release,enhancement,new,close,2010-01-26T17:28:32Z,2012-02-06T10:53:23Z,"MU Trac Ticket: http://mu.trac.wordpress.org/ticket/189



While setting up my new blog I found that WordPress? MU continuously re-directed me to the same URL (occurs in the if statement on line 9 of wp-signup.php). This was being caused by wpmu-settings.php on line 10. The variable $domain has the port stripped from it, which causes line 84 to return no result when it queries the database.

WP MU is installed at  http://some.host.address:8080/blogs on my machine. VHOST is false.
",wpmuguru
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
19979,Load jQuery on the front end for logged-in users,,Toolbar,,normal,normal,Future Release,enhancement,new,,2012-02-06T22:43:32Z,2012-02-06T22:43:32Z,"This will let us simplify the toolbar JS and improve user experience: hoverIntent, additions by plugins that require jQuery, etc.

jQuery can be loaded in two different ways:

- Directly, by enqueueing it with script_loader and then adding `wpjq = jQuery.noConflict(true);` where `true` means other version of jQuery will be left with the globals.

- By outputting some JS at the very end of 'wp_footer'. This JS would be able to check whether jQuery is already loaded and if not, load it by appending a `<script src=""..."">` tag to the head (note that this method would load jQuery asynchronously).

Previous discussion in some of the comments on #18758.",azaozz
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
14981,Two i18n misses,,I18N,3.3.1,normal,normal,Future Release,defect (bug),new,,2010-09-27T23:21:29Z,2012-02-07T22:40:08Z,"1) /wp-admin/nav-menus.php: the ""Most Recent"" string (/wp-admin/includes/nav-menu.php:645) should be separated between the Pages context and the Articles context, since they can take different forms according to the language (i.e.: in French, ""Articles"" is masculine, ""Pages"" is feminine.

2) /wp-admin/edit.php: Same contextual need for ""All"", ""Published"", ""Scheduled"" and the rest of the per-status selector, for posts and articles (and others...). ",xibe
6425,Support for RTL in feeds,nbachiyski,I18N,,normal,normal,Awaiting Review,enhancement,assigned,close,2008-03-27T20:56:51Z,2012-02-08T06:07:07Z,"In the current state of most Feed readers, the only surefire way to make RTL content display properly is to have directionality enforced inside the content - that is, either with {{<div dir=""rtl"">}}} tags inside CDATA or with Unicode directionality characters (for e.g., RLE and PDF, or &#8235; and &#8236;, or U+202B and U+202C.) for excerpts or titles.

While we currently have pretty good support for RTL languages, there is no support for RTL in feeds - all is left up up to the feed reader.

I suggest adding a mechanism to automatically insert these tags/characters for blogs that have text_direction set to RTL - much in the same way RTL css style sheets are loaded for these blogs.

I have attached a patch that modifies the feed templates to insert these tags/characters. Note that there is no checking of blog directionality here - this is just an example of how to enforce RTL in feeds, not how to enforce it conditionally.

This relate to a previous ticket I submitted (#5517), regarding adding an option to set the feed language - which currently just defaults to EN. Certain feed readers know to display RTL text in proper directionality according to feed language (for e.g., feeds that have their feed language set to HE (Hebrew), will get displayed from Right to Left). While setting feed language is not a comprehensive solution, it is a step in the right direction.",RanYanivHartstein
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
16867,Where is it appropriate to use filter_var,,General,3.2,normal,normal,Future Release,enhancement,reopened,,2011-03-16T16:47:13Z,2012-02-08T14:22:28Z,"Now that we require PHP 5.2 we have access to a whole plethora of new functions.  One of those is [http://php.net/filter_var/ filter_var].  It seems like this could be useful for things like validating and filtering E-Mail addresses, URLs, IPs, etc. (there are plenty of [php.net/manual/en/filter.filters.php filters]).

This was brought up in #15379 where nacin said:
  Those can be buggy. We could potentially leverage it internally but we need to watch out for vulnerabilities and what not across PHP versions.

I mostly wanted this to be the place where we decide what could benefit from it and what shouldn't.",aaroncampbell
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
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
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
15784,Contributors can't easily view others' posts in a certain term,,Administration,3.0,normal,normal,Future Release,defect (bug),new,reporter-feedback,2010-12-12T11:38:39Z,2012-02-10T15:01:16Z,"As a contributor, the default tab is 'Me', not 'All'. But you can go to 'All' and see a list of all posts.

At that time, you can also search for posts, and filter by category, date, etc. Those all work fine. You can also filter by category or tag by clicking a term in those columns, but this doesn't work -- all_posts=1 gets removed, and you end up seeing the 'Me' tab again.

You can manually append all_posts=1, but there's no way to actually filter by term viewing all posts via the UI.

Interestingly, the author query var works. That'd be bad if it didn't. But it doesn't append all_posts=1, so it's done internally.",nacin
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
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
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
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
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
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
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
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
16853,Error 500 when a user has too many sites,PeteMall*,Administration,3.0.1,normal,minor,Future Release,enhancement,accepted,,2011-03-14T11:15:57Z,2012-02-13T09:36:58Z,"'''My installation'''
[[BR]]
3.0.1 multi-site installation with more than 7500 blogs, with one user each. I also have one moderation user that can administer each of the blogs.
[[BR]]
[[BR]]
'''The issue'''
[[BR]]
In the admin interface, when I go to Super-Admin -> Users, and when I display the page that contains my moderation user, I get ""''An error (500 Internal Server Error) has occured in response to this request''"". The page tries to display all the sites administered by him (around 7500 of them), hence the error.
[[BR]]
[[BR]]
Updating to 3.1 didn't resolve the problem.
[[BR]]
[[BR]]
'''Recommended enhancement'''
[[BR]]
For each user in the list, display only a certain number of sites, with a possibility to see all of that user's sites, if needed.",luuzan@…
15957,add two new actions to track template loading,koopersmith,Template,,normal,normal,Future Release,enhancement,reviewing,,2010-12-23T02:23:07Z,2012-02-14T14:29:32Z,"I would like to add two new actions ""pre_load_template"" and ""post_load_template"" inside the load_template() method.  The purpose of this is primarily for debugging and development purposes.  For example, I'd like to use these actions to add debug comments in a theme's output along the lines of:

{{{
<!-- begin ../themes/twentyten/loop.php -->
...
<!-- end ../themes/twentyten/loop.php -->
}}}

This makes it much easier to identify which theme file is responsible for which part of the final page, particularly in the case where some files are being pulled from a parent theme and some are from the child theme.",willnorris
12322,Blog import fails to generate reduced-size images,,Import,,normal,normal,WordPress.org,defect (bug),new,close,2010-02-21T17:14:59Z,2012-02-14T16:25:41Z,"I just imported from http://daveabrahams.wordpress.com (go ahead, try it yourself if you like) and chose to ""Import Attachments.""  The only images from the original site that show up in the result are those that were originally displayed with size-full.  The others need to be regenerated by inserting them freshly. ",daveabrahams
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
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
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
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
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
11215,Improve naming of child/parent theme functions,westi,Themes,2.9,normal,normal,Future Release,enhancement,new,,2009-11-21T09:51:10Z,2012-02-17T15:41:13Z,"We have confusing naming for child/parent theme functions.

We have references to stylesheet/template instead of child/parent which makes it unclear which function should be being used.

In #11033 we introduced a function for loading the child themes textdomain with a clear name.

We should look at deprecating the stylesheet/template nomenclature and use child/parent instead.",westi
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
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
20041,"Disable ""Priority"" and ""Severity"" fields for new users",,WordPress.org site,,normal,normal,WordPress.org,defect (bug),new,,2012-02-14T13:04:53Z,2012-02-18T19:14:30Z,"When a new user comes to report an issue in trac, they always seem to overestimate the severity of their problem.

I guess this is normal human psychology, but it makes the field less useful for everyone else.

So, I propose that only bug gardeners be allowed to set these fields, similar to how the milestone field works.",scribu
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
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
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
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
11734,trackback_rdf() for IDN (xn--) Domains produces invalid HTML,,General,3.1,normal,normal,Future Release,defect (bug),new,close,2010-01-06T01:10:55Z,2012-02-20T12:22:02Z,"Hello

The trackback_rdf() function from wp-includes/comment-template.php wraps the ""<rdf:RDF>...</rdf:RDF>"" output inside ""<!-- ... -->"" HTML comments, probably to be safe as not all Browsers understand them.

When using Wordpress 2.9.1 on a site with an international domain name [1] that contains special characters like German ""Umlauts"" like äöü, this domain name is written as e.g. xn--tst-qla.de for täst.de.

Now the output of trackback_rdf() suddenly gets a ""--"" whic